forked from Minki/linux
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 <Dmytro.Laktyushkin@amd.com> Reviewed-by: Wesley Chalmers <Wesley.Chalmers@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
8e80d48260
commit
5ec37c089e
@ -63,6 +63,7 @@ typedef struct {
|
|||||||
|
|
||||||
#define BPP_INVALID 0
|
#define BPP_INVALID 0
|
||||||
#define BPP_BLENDED_PIPE 0xffffffff
|
#define BPP_BLENDED_PIPE 0xffffffff
|
||||||
|
#define DCN30_MAX_DSC_IMAGE_WIDTH 5184
|
||||||
|
|
||||||
static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib);
|
static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib);
|
||||||
static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation(
|
static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation(
|
||||||
@ -3984,6 +3985,9 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
|
|||||||
} else if (v->PlaneRequiredDISPCLKWithoutODMCombine > v->MaxDispclkRoundedDownToDFSGranularity) {
|
} else if (v->PlaneRequiredDISPCLKWithoutODMCombine > v->MaxDispclkRoundedDownToDFSGranularity) {
|
||||||
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1;
|
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1;
|
||||||
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithODMCombine2To1;
|
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithODMCombine2To1;
|
||||||
|
} else if (v->DSCEnabled[k] && (v->HActive[k] > DCN30_MAX_DSC_IMAGE_WIDTH)) {
|
||||||
|
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1;
|
||||||
|
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithODMCombine2To1;
|
||||||
} else {
|
} else {
|
||||||
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled;
|
v->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled;
|
||||||
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithoutODMCombine;
|
v->PlaneRequiredDISPCLK = v->PlaneRequiredDISPCLKWithoutODMCombine;
|
||||||
|
Loading…
Reference in New Issue
Block a user