Skip to content

Commit 33efc63

Browse files
Ivan Lipskialexdeucher
authored andcommitted
drm/amd/display: Add missing DCCG register entries for DCN20-DCN316
Commit 4c595e7 ("drm/amd/display: Migrate DCCG registers access from hwseq to dccg component.") moved register writes from hwseq to dccg2_*() functions but did not add the registers to the DCCG register list macros. The struct fields default to 0, so REG_WRITE() targets MMIO offset 0, causing a GPU hang on resume (seen on DCN21/DCN30 during IGT kms_cursor_crc@cursor-suspend). Add - MICROSECOND_TIME_BASE_DIV - MILLISECOND_TIME_BASE_DIV - DCCG_GATE_DISABLE_CNTL - DCCG_GATE_DISABLE_CNTL2 - DC_MEM_GLOBAL_PWR_REQ_CNTL to macros in dcn20_dccg.h, dcn301_dccg.h, dcn31_dccg.h, and dcn314_dccg.h. Fixes: 4c595e7 ("drm/amd/display: Migrate DCCG registers access from hwseq to dccg component.") Reported-by: Rafael Passos <rafael@rcpassos.me> Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Ivan Lipski <ivan.lipski@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit e6e2b95)
1 parent 72ecb1d commit 33efc63

4 files changed

Lines changed: 20 additions & 4 deletions

File tree

drivers/gpu/drm/amd/display/dc/dccg/dcn20/dcn20_dccg.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@
3838
DCCG_SRII(PIXEL_RATE_CNTL, OTG, 0),\
3939
DCCG_SRII(PIXEL_RATE_CNTL, OTG, 1),\
4040
SR(DISPCLK_FREQ_CHANGE_CNTL),\
41-
SR(DC_MEM_GLOBAL_PWR_REQ_CNTL)
41+
SR(DC_MEM_GLOBAL_PWR_REQ_CNTL),\
42+
SR(MICROSECOND_TIME_BASE_DIV),\
43+
SR(MILLISECOND_TIME_BASE_DIV),\
44+
SR(DCCG_GATE_DISABLE_CNTL),\
45+
SR(DCCG_GATE_DISABLE_CNTL2)
4246

4347
#define DCCG_REG_LIST_DCN2() \
4448
DCCG_COMMON_REG_LIST_DCN_BASE(),\

drivers/gpu/drm/amd/display/dc/dccg/dcn301/dcn301_dccg.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,13 @@
3434
DCCG_SRII(DTO_PARAM, DPPCLK, 1),\
3535
DCCG_SRII(DTO_PARAM, DPPCLK, 2),\
3636
DCCG_SRII(DTO_PARAM, DPPCLK, 3),\
37-
SR(REFCLK_CNTL)
37+
SR(REFCLK_CNTL),\
38+
SR(DISPCLK_FREQ_CHANGE_CNTL),\
39+
SR(DC_MEM_GLOBAL_PWR_REQ_CNTL),\
40+
SR(MICROSECOND_TIME_BASE_DIV),\
41+
SR(MILLISECOND_TIME_BASE_DIV),\
42+
SR(DCCG_GATE_DISABLE_CNTL),\
43+
SR(DCCG_GATE_DISABLE_CNTL2)
3844

3945
#define DCCG_MASK_SH_LIST_DCN301(mask_sh) \
4046
DCCG_SFI(DPPCLK_DTO_CTRL, DTO_ENABLE, DPPCLK, 0, mask_sh),\

drivers/gpu/drm/amd/display/dc/dccg/dcn31/dcn31_dccg.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,12 @@
6464
SR(DSCCLK1_DTO_PARAM),\
6565
SR(DSCCLK2_DTO_PARAM),\
6666
SR(DSCCLK_DTO_CTRL),\
67+
SR(DCCG_GATE_DISABLE_CNTL),\
6768
SR(DCCG_GATE_DISABLE_CNTL2),\
6869
SR(DCCG_GATE_DISABLE_CNTL3),\
69-
SR(HDMISTREAMCLK0_DTO_PARAM)
70+
SR(HDMISTREAMCLK0_DTO_PARAM),\
71+
SR(DC_MEM_GLOBAL_PWR_REQ_CNTL),\
72+
SR(MICROSECOND_TIME_BASE_DIV)
7073

7174

7275
#define DCCG_MASK_SH_LIST_DCN31(mask_sh) \

drivers/gpu/drm/amd/display/dc/dccg/dcn314/dcn314_dccg.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,14 @@
7070
SR(DSCCLK2_DTO_PARAM),\
7171
SR(DSCCLK3_DTO_PARAM),\
7272
SR(DSCCLK_DTO_CTRL),\
73+
SR(DCCG_GATE_DISABLE_CNTL),\
7374
SR(DCCG_GATE_DISABLE_CNTL2),\
7475
SR(DCCG_GATE_DISABLE_CNTL3),\
7576
SR(HDMISTREAMCLK0_DTO_PARAM),\
7677
SR(OTG_PIXEL_RATE_DIV),\
77-
SR(DTBCLK_P_CNTL)
78+
SR(DTBCLK_P_CNTL),\
79+
SR(DC_MEM_GLOBAL_PWR_REQ_CNTL),\
80+
SR(MICROSECOND_TIME_BASE_DIV)
7881

7982
#define DCCG_MASK_SH_LIST_DCN314_COMMON(mask_sh) \
8083
DCCG_SFI(DPPCLK_DTO_CTRL, DTO_DB_EN, DPPCLK, 0, mask_sh),\

0 commit comments

Comments
 (0)