Skip to content

Commit 5ec37c0

Browse files
Dmytro Laktyushkinalexdeucher
authored andcommitted
drm/amd/display: fix dcn3 wide timing dsc validation
Wide timing DSC requires odm. Since spreadsheet is missing this dsc validation we have to modify DML vba code ourselves. Signed-off-by: Dmytro Laktyushkin <[email protected]> Reviewed-by: Wesley Chalmers <[email protected]> Acked-by: Rodrigo Siqueira <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 8e80d48 commit 5ec37c0

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ typedef struct {
6363

6464
#define BPP_INVALID 0
6565
#define BPP_BLENDED_PIPE 0xffffffff
66+
#define DCN30_MAX_DSC_IMAGE_WIDTH 5184
6667

6768
static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib);
6869
static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation(
@@ -3984,6 +3985,9 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
39843985
} else if (v->PlaneRequiredDISPCLKWithoutODMCombine > v->MaxDispclkRoundedDownToDFSGranularity) {
39853986
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1;
39863987
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithODMCombine2To1;
3988+
} else if (v->DSCEnabled[k] && (v->HActive[k] > DCN30_MAX_DSC_IMAGE_WIDTH)) {
3989+
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1;
3990+
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithODMCombine2To1;
39873991
} else {
39883992
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled;
39893993
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithoutODMCombine;

0 commit comments

Comments
 (0)