add patches to fix build issue and display blanking issue Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8819>
75 lines
2.0 KiB
Diff
75 lines
2.0 KiB
Diff
commit 6f9b3bc875bf6afb73f12a79c199d26e6ee5f7d1
|
|
Author: adamthiede <me@adamthiede.com>
|
|
Date: Thu Jun 18 14:51:47 2026 -0500
|
|
|
|
Revert "drm/mediatek: mtk_dsi: enable hs clock during pre-enable"
|
|
|
|
This reverts commit 76255024cadbe8c40462953f8193d2d78cd3b0ac.
|
|
|
|
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
index 5aa71fcdcfab..aaf6c9ebd319 100644
|
|
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
|
|
@@ -673,21 +673,6 @@ static s32 mtk_dsi_switch_to_cmd_mode(struct mtk_dsi *dsi, u8 irq_flag, u32 t)
|
|
}
|
|
}
|
|
|
|
-static void mtk_dsi_lane_ready(struct mtk_dsi *dsi)
|
|
-{
|
|
- if (!dsi->lanes_ready) {
|
|
- dsi->lanes_ready = true;
|
|
- mtk_dsi_rxtx_control(dsi);
|
|
- usleep_range(30, 100);
|
|
- mtk_dsi_reset_dphy(dsi);
|
|
- mtk_dsi_clk_ulp_mode_leave(dsi);
|
|
- mtk_dsi_lane0_ulp_mode_leave(dsi);
|
|
- mtk_dsi_clk_hs_mode(dsi, 0);
|
|
- usleep_range(1000, 3000);
|
|
- /* The reaction time after pulling up the mipi signal for dsi_rx */
|
|
- }
|
|
-}
|
|
-
|
|
static int mtk_dsi_poweron(struct mtk_dsi *dsi)
|
|
{
|
|
struct device *dev = dsi->host.dev;
|
|
@@ -740,8 +725,6 @@ static int mtk_dsi_poweron(struct mtk_dsi *dsi)
|
|
mtk_dsi_set_vm_cmd(dsi);
|
|
mtk_dsi_config_vdo_timing(dsi);
|
|
mtk_dsi_set_interrupt_enable(dsi);
|
|
- mtk_dsi_lane_ready(dsi);
|
|
- mtk_dsi_clk_hs_mode(dsi, 1);
|
|
|
|
return 0;
|
|
err_disable_engine_clk:
|
|
@@ -787,12 +770,30 @@ static void mtk_dsi_poweroff(struct mtk_dsi *dsi)
|
|
dsi->lanes_ready = false;
|
|
}
|
|
|
|
+static void mtk_dsi_lane_ready(struct mtk_dsi *dsi)
|
|
+{
|
|
+ if (!dsi->lanes_ready) {
|
|
+ dsi->lanes_ready = true;
|
|
+ mtk_dsi_rxtx_control(dsi);
|
|
+ usleep_range(30, 100);
|
|
+ mtk_dsi_reset_dphy(dsi);
|
|
+ mtk_dsi_clk_ulp_mode_leave(dsi);
|
|
+ mtk_dsi_lane0_ulp_mode_leave(dsi);
|
|
+ mtk_dsi_clk_hs_mode(dsi, 0);
|
|
+ usleep_range(1000, 3000);
|
|
+ /* The reaction time after pulling up the mipi signal for dsi_rx */
|
|
+ }
|
|
+}
|
|
+
|
|
static void mtk_output_dsi_enable(struct mtk_dsi *dsi)
|
|
{
|
|
if (dsi->enabled)
|
|
return;
|
|
|
|
+ mtk_dsi_lane_ready(dsi);
|
|
mtk_dsi_set_mode(dsi);
|
|
+ mtk_dsi_clk_hs_mode(dsi, 1);
|
|
+
|
|
mtk_dsi_start(dsi);
|
|
|
|
dsi->enabled = true;
|