summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2024-04-04 08:09:04 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2024-04-04 08:09:04 +0000
commit08e3aa7facd3ebd861c2dc1934f4b7b59bc43836 (patch)
tree50455a6eb9b159600334623d44ffa49097a9a564
parent86ff7abab914a93301aad0c6516c69f6072dd296 (diff)
drm/amd/display: Fix hang/underflow when transitioning to ODM4:1
From Ilya Bakoulin ae62f1dde66a6f0eee98defc4c7a346bd5acd239 in linux-6.6.y/6.6.24 e7b2b108cdeab76a7e7324459e50b0c1214c0386 in mainline linux
-rw-r--r--sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_optc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_optc.c b/sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_optc.c
index 8abb94f6007..b1fcc91b65a 100644
--- a/sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_optc.c
+++ b/sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_optc.c
@@ -148,6 +148,13 @@ static bool optc32_disable_crtc(struct timing_generator *optc)
REG_UPDATE(OTG_CONTROL,
OTG_MASTER_EN, 0);
+ REG_UPDATE_5(OPTC_DATA_SOURCE_SELECT,
+ OPTC_SEG0_SRC_SEL, 0xf,
+ OPTC_SEG1_SRC_SEL, 0xf,
+ OPTC_SEG2_SRC_SEL, 0xf,
+ OPTC_SEG3_SRC_SEL, 0xf,
+ OPTC_NUM_OF_INPUT_SEGMENT, 0);
+
REG_UPDATE(CONTROL,
VTG0_ENABLE, 0);