OSDN Git Service

drm/amd/display: remove number of DSC slices override in DML
authorWenjing Liu <wenjing.liu@amd.com>
Wed, 29 Jun 2022 18:55:43 +0000 (14:55 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 25 Jul 2022 13:31:01 +0000 (09:31 -0400)
[why]
Number of DSC slices is an input to DML with high dependency
on display specific capability. This isn't something DML can decide
on its own. DML has to use the original number of DSC slices input
to DML during validation without modification. Otherwise the
computed DSC delay will not reflect the current configuration
and therefore causes validation failures.

[how]
Remove DML override for number of DSC slices parameter.

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com>
Acked-by: Alan Liu <HaoPing.Liu@amd.com>
Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c

index 349e36a..9944f58 100644 (file)
@@ -1897,26 +1897,6 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
                                v->MaximumSwathWidthInLineBufferChroma);
        }
 
-       /*Number Of DSC Slices*/
-       for (k = 0; k < mode_lib->vba.NumberOfActiveSurfaces; ++k) {
-               if (mode_lib->vba.BlendingAndTiming[k] == k) {
-                       if (mode_lib->vba.PixelClockBackEnd[k] > 4800) {
-                               mode_lib->vba.NumberOfDSCSlices[k] = dml_ceil(mode_lib->vba.PixelClockBackEnd[k] / 600,
-                                               4);
-                       } else if (mode_lib->vba.PixelClockBackEnd[k] > 2400) {
-                               mode_lib->vba.NumberOfDSCSlices[k] = 8;
-                       } else if (mode_lib->vba.PixelClockBackEnd[k] > 1200) {
-                               mode_lib->vba.NumberOfDSCSlices[k] = 4;
-                       } else if (mode_lib->vba.PixelClockBackEnd[k] > 340) {
-                               mode_lib->vba.NumberOfDSCSlices[k] = 2;
-                       } else {
-                               mode_lib->vba.NumberOfDSCSlices[k] = 1;
-                       }
-               } else {
-                       mode_lib->vba.NumberOfDSCSlices[k] = 0;
-               }
-       }
-
        dml32_CalculateSwathAndDETConfiguration(
                        mode_lib->vba.DETSizeOverride,
                        mode_lib->vba.UsesMALLForPStateChange,