mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
drm/amd/display: Separate caps for maximum RGB and YUV plane counts
Not all ASICs have same plane capabilities so need to split them out for proper support handling. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Atufa Khan <Atufa.Khan@amd.com> Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> Acked-by: Solomon Chiu <solomon.chiu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e69231c445
commit
ae0305708e
|
|
@ -155,6 +155,8 @@ struct dc_caps {
|
|||
uint32_t max_links;
|
||||
uint32_t max_audios;
|
||||
uint32_t max_slave_planes;
|
||||
uint32_t max_slave_yuv_planes;
|
||||
uint32_t max_slave_rgb_planes;
|
||||
uint32_t max_planes;
|
||||
uint32_t max_downscale_ratio;
|
||||
uint32_t i2c_speed_in_khz;
|
||||
|
|
|
|||
|
|
@ -1272,6 +1272,8 @@ static bool underlay_create(struct dc_context *ctx, struct resource_pool *pool)
|
|||
|
||||
/* update the public caps to indicate an underlay is available */
|
||||
ctx->dc->caps.max_slave_planes = 1;
|
||||
ctx->dc->caps.max_slave_yuv_planes = 1;
|
||||
ctx->dc->caps.max_slave_rgb_planes = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1422,6 +1422,8 @@ static bool dcn10_resource_construct(
|
|||
dc->caps.max_cursor_size = 256;
|
||||
dc->caps.min_horizontal_blanking_period = 80;
|
||||
dc->caps.max_slave_planes = 1;
|
||||
dc->caps.max_slave_yuv_planes = 1;
|
||||
dc->caps.max_slave_rgb_planes = 0;
|
||||
dc->caps.is_apu = true;
|
||||
dc->caps.post_blend_color_processing = false;
|
||||
dc->caps.extended_aux_timeout_support = false;
|
||||
|
|
|
|||
|
|
@ -3703,6 +3703,8 @@ static bool dcn20_resource_construct(
|
|||
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.post_blend_color_processing = true;
|
||||
dc->caps.force_dp_tps4_for_cp2520 = true;
|
||||
dc->caps.extended_aux_timeout_support = true;
|
||||
|
|
|
|||
|
|
@ -1982,6 +1982,8 @@ static bool dcn21_resource_construct(
|
|||
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.post_blend_color_processing = true;
|
||||
dc->caps.force_dp_tps4_for_cp2520 = true;
|
||||
dc->caps.extended_aux_timeout_support = true;
|
||||
|
|
|
|||
|
|
@ -2568,6 +2568,8 @@ static bool dcn30_resource_construct(
|
|||
dc->caps.cursor_cache_size = dc->caps.max_cursor_size * dc->caps.max_cursor_size * 8;
|
||||
|
||||
dc->caps.max_slave_planes = 1;
|
||||
dc->caps.max_slave_yuv_planes = 1;
|
||||
dc->caps.max_slave_rgb_planes = 1;
|
||||
dc->caps.post_blend_color_processing = true;
|
||||
dc->caps.force_dp_tps4_for_cp2520 = true;
|
||||
dc->caps.extended_aux_timeout_support = true;
|
||||
|
|
|
|||
|
|
@ -1672,6 +1672,8 @@ static bool dcn301_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.is_apu = true;
|
||||
dc->caps.post_blend_color_processing = true;
|
||||
dc->caps.force_dp_tps4_for_cp2520 = true;
|
||||
|
|
|
|||
|
|
@ -1483,6 +1483,8 @@ static bool dcn302_resource_construct(
|
|||
dc->caps.mall_size_total = dc->caps.mall_size_per_mem_channel * dc->ctx->dc_bios->vram_info.num_chans * 1048576;
|
||||
dc->caps.cursor_cache_size = dc->caps.max_cursor_size * dc->caps.max_cursor_size * 8;
|
||||
dc->caps.max_slave_planes = 1;
|
||||
dc->caps.max_slave_yuv_planes = 1;
|
||||
dc->caps.max_slave_rgb_planes = 1;
|
||||
dc->caps.post_blend_color_processing = true;
|
||||
dc->caps.force_dp_tps4_for_cp2520 = true;
|
||||
dc->caps.extended_aux_timeout_support = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user