From: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> rcar_mipi_dsi_startup() writes correct values to VCLKSET, but as it uses or-operation to add the new values to the current value in the register, it should first make sure the fields are cleared. Do this by using rcar_mipi_dsi_write() to write the VCLKSET_CKEN bit to VCLKSET before the rest of the VCLKSET configuration. Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> --- drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c index 06250f2f3499..b60a6d4a5d46 100644 --- a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c +++ b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c @@ -412,9 +412,10 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi, return ret; } - /* Enable DOT clock */ - vclkset = VCLKSET_CKEN; - rcar_mipi_dsi_set(dsi, VCLKSET, vclkset); + /* Clear VCLKSET and enable DOT clock */ + rcar_mipi_dsi_write(dsi, VCLKSET, VCLKSET_CKEN); + + vclkset = 0; if (dsi_format == 24) vclkset |= VCLKSET_BPP_24; -- 2.34.1