summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Brace <kevinbrace@gmx.com>2021-12-27 16:36:53 -0600
committerKevin Brace <kevinbrace@gmx.com>2021-12-27 16:36:53 -0600
commit3bef18990ed2769442be8e501262330f83d9c0a6 (patch)
tree90553867625e076c87271dc197fddf982bcd7b29
parentdbf5833e08f3d63d0a3b23b4a3011766b1fc6514 (diff)
drm/openchrome: Dual head fix for atomic mode setting
Simultaneous display needs to be disabled for dual head (IGA1 and IGA2) mode to function properly. Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
-rw-r--r--drivers/gpu/drm/openchrome/openchrome_crtc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 509828254bf3..b65e72d0414c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -79,6 +79,17 @@ static void via_iga_common_init(void __iomem *regs)
* 1: Enable */
svga_wseq_mask(regs, 0x15, BIT(5) | BIT(1), BIT(5) | BIT(1));
+ /*
+ * Disable simultaneous display.
+ * Turning this on causes IGA1 to have a display issue.
+ */
+ /*
+ * 3X5.6B[3] - Simultaneous Display Enable
+ * 0: Disable
+ * 1: Enable
+ */
+ svga_wcrt_mask(regs, 0x6B, 0x00, BIT(3));
+
DRM_DEBUG_KMS("Exiting %s.\n", __func__);
}