]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm: rcar-du: dsi: Fix VCLKSET write
authorTomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Wed, 24 Aug 2022 12:47:26 +0000 (15:47 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 7 Sep 2022 20:48:42 +0000 (23:48 +0300)
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 register
with a variable that has all the unused bits zeroed.

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 0da3caabfe24387b6f16ab5885ce360a873b5b6f..a7f2b7f66a176a6525ec4ddf53cc6ba57af75756 100644 (file)
@@ -415,7 +415,7 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
 
        /* Enable DOT clock */
        vclkset = VCLKSET_CKEN;
-       rcar_mipi_dsi_set(dsi, VCLKSET, vclkset);
+       rcar_mipi_dsi_write(dsi, VCLKSET, vclkset);
 
        if (dsi_format == 24)
                vclkset |= VCLKSET_BPP_24;
@@ -430,7 +430,7 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
        vclkset |= VCLKSET_COLOR_RGB | VCLKSET_DIV(setup_info.div)
                |  VCLKSET_LANE(dsi->lanes - 1);
 
-       rcar_mipi_dsi_set(dsi, VCLKSET, vclkset);
+       rcar_mipi_dsi_write(dsi, VCLKSET, vclkset);
 
        /* After setting VCLKSET register, enable VCLKEN */
        rcar_mipi_dsi_set(dsi, VCLKEN, VCLKEN_CKEN);