drm/amd/display: Expose 3 secondary planes for supported ASICs
authorZaeem Mohamed <zaeem.mohamed@amd.com>
Fri, 6 Sep 2024 16:36:04 +0000 (12:36 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 13 Feb 2025 02:04:09 +0000 (21:04 -0500)
[why]
For enabling 4-plane MPO, we need dc to expose 4 planes for DCN35 and
beyond, as well as DCN21

[how]
Set dc_caps.max_slave_*planes to 3 for appropriate ASICs

Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
Signed-off-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c

index 2615c36d5ffebba76ba97a046341f0828ad31a9f..4bd5c227859697f2cc8c4e6c505bc2004e08a710 100644 (file)
@@ -1413,9 +1413,9 @@ static bool dcn21_resource_construct(
        dc->caps.min_horizontal_blanking_period = 80;
        dc->caps.dmdata_alloc_size = 2048;
 
-       dc->caps.max_slave_planes = 1;
-       dc->caps.max_slave_yuv_planes = 1;
-       dc->caps.max_slave_rgb_planes = 1;
+       dc->caps.max_slave_planes = 3;
+       dc->caps.max_slave_yuv_planes = 3;
+       dc->caps.max_slave_rgb_planes = 3;
        dc->caps.post_blend_color_processing = true;
        dc->caps.force_dp_tps4_for_cp2520 = true;
        dc->caps.extended_aux_timeout_support = true;
index 8ee3d99ea2aa33fd85498aec65c7bcab38498ca6..6d163dcecde6adea1f88af1c9ba8e6ceaccd97c9 100644 (file)
@@ -1839,9 +1839,9 @@ static bool dcn35_resource_construct(
        dc->caps.max_cursor_size = 256;
        dc->caps.min_horizontal_blanking_period = 80;
        dc->caps.dmdata_alloc_size = 2048;
-       dc->caps.max_slave_planes = 2;
-       dc->caps.max_slave_yuv_planes = 2;
-       dc->caps.max_slave_rgb_planes = 2;
+       dc->caps.max_slave_planes = 3;
+       dc->caps.max_slave_yuv_planes = 3;
+       dc->caps.max_slave_rgb_planes = 3;
        dc->caps.post_blend_color_processing = true;
        dc->caps.force_dp_tps4_for_cp2520 = true;
        if (dc->config.forceHBR2CP2520)
index 14f7c3acdc961a7245cb1ae11502443d6c1e7633..4a03df5d760fb63039b2b5e2f677843d77c716ed 100644 (file)
@@ -1811,9 +1811,9 @@ static bool dcn351_resource_construct(
        dc->caps.max_cursor_size = 256;
        dc->caps.min_horizontal_blanking_period = 80;
        dc->caps.dmdata_alloc_size = 2048;
-       dc->caps.max_slave_planes = 2;
-       dc->caps.max_slave_yuv_planes = 2;
-       dc->caps.max_slave_rgb_planes = 2;
+       dc->caps.max_slave_planes = 3;
+       dc->caps.max_slave_yuv_planes = 3;
+       dc->caps.max_slave_rgb_planes = 3;
        dc->caps.post_blend_color_processing = true;
        dc->caps.force_dp_tps4_for_cp2520 = true;
        if (dc->config.forceHBR2CP2520)
index 5cb0e0191a16dd1bb6bd3228065af91191d90dac..6ab194a86cb94f5b7a72e52ca7e68af6add2dd73 100644 (file)
@@ -1872,9 +1872,9 @@ static bool dcn401_resource_construct(
        dc->caps.subvp_vertical_int_margin_us = 30;
        dc->caps.subvp_drr_vblank_start_margin_us = 100; // 100us margin
 
-       dc->caps.max_slave_planes = 2;
-       dc->caps.max_slave_yuv_planes = 2;
-       dc->caps.max_slave_rgb_planes = 2;
+       dc->caps.max_slave_planes = 3;
+       dc->caps.max_slave_yuv_planes = 3;
+       dc->caps.max_slave_rgb_planes = 3;
        dc->caps.post_blend_color_processing = true;
        dc->caps.force_dp_tps4_for_cp2520 = true;
        dc->caps.dp_hpo = true;