]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm: rcar-du: dsi: Improve DSI shutdown
authorTomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Wed, 24 Aug 2022 12:47:24 +0000 (15:47 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 7 Sep 2022 20:48:41 +0000 (23:48 +0300)
Improve the DSI shutdown procedure by clearing various bits that were
set while enabling the DSI output. There has been no clear issues caused
by these, but it's safer to ensure that the features are disabled at the
start of the next DSI enable.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c

index 7f2be490fcf8ab62b48d2e99149c9cea194442c4..9c79fe2fc70bd219cf74fc5303f233b2614d878f 100644 (file)
@@ -441,9 +441,21 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
 
 static void rcar_mipi_dsi_shutdown(struct rcar_mipi_dsi *dsi)
 {
+       /* Disable VCLKEN */
+       rcar_mipi_dsi_write(dsi, VCLKSET, 0);
+
+       /* Disable DOT clock */
+       rcar_mipi_dsi_write(dsi, VCLKSET, 0);
+
        rcar_mipi_dsi_clr(dsi, PHYSETUP, PHYSETUP_RSTZ);
        rcar_mipi_dsi_clr(dsi, PHYSETUP, PHYSETUP_SHUTDOWNZ);
 
+       /* CFGCLK disable */
+       rcar_mipi_dsi_clr(dsi, CFGCLKSET, CFGCLKSET_CKEN);
+
+       /* LPCLK disable */
+       rcar_mipi_dsi_clr(dsi, LPCLKSET, LPCLKSET_CKEN);
+
        dev_dbg(dsi->dev, "DSI device is shutdown\n");
 }