forked from Minki/linux
drm: rcar-du: dsi: Fix VCLKSET write
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>
This commit is contained in:
parent
957fe62d7d
commit
603c8e130d
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user