All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] soc: mediatek: mmsys: fix HDMI output on mt7623/bananapi-r2
@ 2021-07-10 13:24 ` Frank Wunderlich
  0 siblings, 0 replies; 32+ messages in thread
From: Frank Wunderlich @ 2021-07-10 13:24 UTC (permalink / raw)
  To: linux-mediatek
  Cc: Frank Wunderlich, Matthias Brugger, CK Hu, linux-arm-kernel,
	linux-kernel, Enric Balletbo Serra, Dafna Hirschfeld,
	David Airlie, dri-devel, Daniel Vetter

From: Frank Wunderlich <frank-w@public-files.de>

HDMI output was broken on mt7623/BPI-R2 in 5.13 because function for
special output selection (mtk_mmsys_ddp_sout_sel) was dropped.
This function wrote 3 registers at one time and so it is not compatible
with the array-approach.

I re-added the old function and call this after the default routing table
was applied. This default routing table can still be used as the only
connection handled by mmsys on BPI-R2 is OVL0->RDMA0 and this is already
present in the default routing table

Fixes: 440147639ac7 ("soc: mediatek: mmsys: Use an array for setting the routing registers")
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
 drivers/soc/mediatek/mtk-mmsys.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
index 080660ef11bf..f91b7fdd417a 100644
--- a/drivers/soc/mediatek/mtk-mmsys.c
+++ b/drivers/soc/mediatek/mtk-mmsys.c
@@ -57,6 +57,25 @@ struct mtk_mmsys {
 	const struct mtk_mmsys_driver_data *data;
 };
 
+static void mtk_mmsys_ddp_sout_sel(struct device *dev,
+				   enum mtk_ddp_comp_id cur,
+				   enum mtk_ddp_comp_id next)
+{
+	struct mtk_mmsys *mmsys = dev_get_drvdata(dev);
+
+	if (cur == DDP_COMPONENT_BLS && next == DDP_COMPONENT_DSI0) {
+		writel_relaxed(BLS_TO_DSI_RDMA1_TO_DPI1,
+			       mmsys->regs + DISP_REG_CONFIG_OUT_SEL);
+	} else if (cur == DDP_COMPONENT_BLS && next == DDP_COMPONENT_DPI0) {
+		writel_relaxed(BLS_TO_DPI_RDMA1_TO_DSI,
+			       mmsys->regs + DISP_REG_CONFIG_OUT_SEL);
+		writel_relaxed(DSI_SEL_IN_RDMA,
+			       mmsys->regs + DISP_REG_CONFIG_DSI_SEL);
+		writel_relaxed(DPI_SEL_IN_BLS,
+			       mmsys->regs + DISP_REG_CONFIG_DPI_SEL);
+	}
+}
+
 void mtk_mmsys_ddp_connect(struct device *dev,
 			   enum mtk_ddp_comp_id cur,
 			   enum mtk_ddp_comp_id next)
@@ -71,6 +90,8 @@ void mtk_mmsys_ddp_connect(struct device *dev,
 			reg = readl_relaxed(mmsys->regs + routes[i].addr) | routes[i].val;
 			writel_relaxed(reg, mmsys->regs + routes[i].addr);
 		}
+
+	mtk_mmsys_ddp_sout_sel(dev, cur, next);
 }
 EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_connect);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2021-07-26 10:35 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-10 13:24 [PATCH] soc: mediatek: mmsys: fix HDMI output on mt7623/bananapi-r2 Frank Wunderlich
2021-07-10 13:24 ` Frank Wunderlich
2021-07-10 13:24 ` Frank Wunderlich
2021-07-10 13:24 ` Frank Wunderlich
2021-07-12 11:50 ` Dafna Hirschfeld
2021-07-12 11:50   ` Dafna Hirschfeld
2021-07-12 11:50   ` Dafna Hirschfeld
2021-07-12 11:50   ` Dafna Hirschfeld
2021-07-12 12:35   ` Aw: " Frank Wunderlich
2021-07-12 12:35     ` Frank Wunderlich
2021-07-12 12:35     ` Frank Wunderlich
2021-07-12 12:35     ` Frank Wunderlich
2021-07-12 17:16   ` Frank Wunderlich
2021-07-12 17:16     ` Frank Wunderlich
2021-07-12 17:16     ` Frank Wunderlich
2021-07-12 17:16     ` Frank Wunderlich
2021-07-12 17:32     ` Dafna Hirschfeld
2021-07-12 17:32       ` Dafna Hirschfeld
2021-07-12 17:32       ` Dafna Hirschfeld
2021-07-12 17:32       ` Dafna Hirschfeld
2021-07-24 17:06       ` Frank Wunderlich
2021-07-24 17:06         ` Frank Wunderlich
2021-07-24 17:06         ` Frank Wunderlich
2021-07-24 17:06         ` Frank Wunderlich
2021-07-26  0:27         ` Chun-Kuang Hu
2021-07-26  0:27           ` Chun-Kuang Hu
2021-07-26  0:27           ` Chun-Kuang Hu
2021-07-26  0:27           ` Chun-Kuang Hu
2021-07-26 10:33           ` Aw: " Frank Wunderlich
2021-07-26 10:33             ` Frank Wunderlich
2021-07-26 10:33             ` Frank Wunderlich
2021-07-26 10:33             ` Frank Wunderlich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.