drm/amd/display: Change default size for dummy plane in DML2
[WHY & HOW] Currently, to map dc states into dml_display_cfg, We create a dummy plane if the stream doesn't have any planes attached to it. This dummy plane uses max addersable width height. This results in certain mode validations failing when they shouldn't. Cc: Mario Limonciello <mario.limonciello@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Reviewed-by: Chaitanya Dhere <chaitanya.dhere@amd.com> Acked-by: Alex Hung <alex.hung@amd.com> Signed-off-by: Swapnil Patel <swapnil.patel@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c6ba60af01
commit
75eb8f7df6
@ -824,13 +824,25 @@ static struct scaler_data get_scaler_data_for_plane(const struct dc_plane_state
|
||||
|
||||
static void populate_dummy_dml_plane_cfg(struct dml_plane_cfg_st *out, unsigned int location, const struct dc_stream_state *in)
|
||||
{
|
||||
dml_uint_t width, height;
|
||||
|
||||
if (in->timing.h_addressable > 3840)
|
||||
width = 3840;
|
||||
else
|
||||
width = in->timing.h_addressable; // 4K max
|
||||
|
||||
if (in->timing.v_addressable > 2160)
|
||||
height = 2160;
|
||||
else
|
||||
height = in->timing.v_addressable; // 4K max
|
||||
|
||||
out->CursorBPP[location] = dml_cur_32bit;
|
||||
out->CursorWidth[location] = 256;
|
||||
|
||||
out->GPUVMMinPageSizeKBytes[location] = 256;
|
||||
|
||||
out->ViewportWidth[location] = in->timing.h_addressable;
|
||||
out->ViewportHeight[location] = in->timing.v_addressable;
|
||||
out->ViewportWidth[location] = width;
|
||||
out->ViewportHeight[location] = height;
|
||||
out->ViewportStationary[location] = false;
|
||||
out->ViewportWidthChroma[location] = 0;
|
||||
out->ViewportHeightChroma[location] = 0;
|
||||
@ -849,7 +861,7 @@ static void populate_dummy_dml_plane_cfg(struct dml_plane_cfg_st *out, unsigned
|
||||
out->HTapsChroma[location] = 0;
|
||||
out->VTapsChroma[location] = 0;
|
||||
out->SourceScan[location] = dml_rotation_0;
|
||||
out->ScalerRecoutWidth[location] = in->timing.h_addressable;
|
||||
out->ScalerRecoutWidth[location] = width;
|
||||
|
||||
out->LBBitPerPixel[location] = 57;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user