Skip to content

Commit 5636d4b

Browse files
Alvin Leesmb49
authored andcommitted
drm/amd/display: Apply 60us prefetch for DCFCLK <= 300Mhz
BugLink: https://bugs.launchpad.net/bugs/2039110 [ Upstream commit 7e60ab4 ] [Description] - Previously we wanted to apply extra 60us of prefetch for min DCFCLK (200Mhz), but DCFCLK can be calculated to be 201Mhz which underflows also without the extra prefetch - Instead, apply the the extra 60us prefetch for any DCFCLK freq <= 300Mhz Reviewed-by: Nevenko Stupar <nevenko.stupar@amd.com> Reviewed-by: Jun Lei <jun.lei@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Alvin Lee <alvin.lee2@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Kamal Mostafa <kamal@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
1 parent b735874 commit 5636d4b

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
808808
v->SwathHeightC[k],
809809
TWait,
810810
(v->DRAMSpeedPerState[mode_lib->vba.VoltageLevel] <= MEM_STROBE_FREQ_MHZ ||
811-
v->DCFCLKPerState[mode_lib->vba.VoltageLevel] <= MIN_DCFCLK_FREQ_MHZ) ?
811+
v->DCFCLKPerState[mode_lib->vba.VoltageLevel] <= DCFCLK_FREQ_EXTRA_PREFETCH_REQ_MHZ) ?
812812
mode_lib->vba.ip.min_prefetch_in_strobe_us : 0,
813813
/* Output */
814814
&v->DSTXAfterScaler[k],
@@ -3290,7 +3290,7 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
32903290
v->swath_width_chroma_ub_this_state[k],
32913291
v->SwathHeightYThisState[k],
32923292
v->SwathHeightCThisState[k], v->TWait,
3293-
(v->DRAMSpeedPerState[i] <= MEM_STROBE_FREQ_MHZ || v->DCFCLKState[i][j] <= MIN_DCFCLK_FREQ_MHZ) ?
3293+
(v->DRAMSpeedPerState[i] <= MEM_STROBE_FREQ_MHZ || v->DCFCLKState[i][j] <= DCFCLK_FREQ_EXTRA_PREFETCH_REQ_MHZ) ?
32943294
mode_lib->vba.ip.min_prefetch_in_strobe_us : 0,
32953295

32963296
/* Output */

drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
#define BPP_BLENDED_PIPE 0xffffffff
5353

5454
#define MEM_STROBE_FREQ_MHZ 1600
55-
#define MIN_DCFCLK_FREQ_MHZ 200
55+
#define DCFCLK_FREQ_EXTRA_PREFETCH_REQ_MHZ 300
5656
#define MEM_STROBE_MAX_DELIVERY_TIME_US 60.0
5757

5858
struct display_mode_lib;

0 commit comments

Comments
 (0)