From 287d6cd06e7d0aef6b0451bda2af1b34ebcdd7ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 22 Oct 2019 16:55:32 +0200
Subject: [PATCH] Revert "drm/bridge: nwl: Drop reset quirk"

This reverts commit 87b1baf32040f405618902d31106296813c78811.

Fixes vt switching but makes the blank/unblank shift reappear.
---
 drivers/gpu/drm/bridge/nwl-dsi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c
index 699b23a6fb69a..314b19356aba2 100644
--- a/drivers/gpu/drm/bridge/nwl-dsi.c
+++ b/drivers/gpu/drm/bridge/nwl-dsi.c
@@ -39,6 +39,8 @@
 /* i.MX8 NWL quirks */
 /* i.MX8MQ errata E11418 */
 #define E11418_HS_MODE_QUIRK	BIT(0)
+/* Skip DSI bits in SRC on disable to avoid blank display on enable */
+#define SRC_RESET_QUIRK		BIT(1)
 
 #define NWL_DSI_MIPI_FIFO_TIMEOUT msecs_to_jiffies(500)
 
@@ -1123,6 +1125,9 @@ static int imx8mq_dsi_poweroff(struct nwl_dsi *dsi)
 {
 	int ret = 0;
 
+	if (dsi->quirks & SRC_RESET_QUIRK)
+		return 0;
+
 	if (dsi->rstc)
 		ret = reset_control_assert(dsi->rstc);
 	return ret;
@@ -1150,7 +1155,7 @@ MODULE_DEVICE_TABLE(of, nwl_dsi_dt_ids);
 
 static const struct soc_device_attribute nwl_dsi_quirks_match[] = {
 	{ .soc_id = "i.MX8MQ", .revision = "2.0",
-	  .data = (void *)(E11418_HS_MODE_QUIRK) },
+	  .data = (void *)(E11418_HS_MODE_QUIRK | SRC_RESET_QUIRK) },
 	{ /* sentinel. */ },
 };
 
-- 
GitLab