Hi, On Tue, Dec 08, 2020 at 02:28:31PM +0200, Tomi Valkeinen wrote: > Set the column & page address once during setup, instead of relying the > DSI host driver to set those. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> > Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/panel/panel-dsi-cm.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c b/drivers/gpu/drm/panel/panel-dsi-cm.c > index 38f79dca1fd0..556f9a2c5c0c 100644 > --- a/drivers/gpu/drm/panel/panel-dsi-cm.c > +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c > @@ -170,6 +170,22 @@ static int dsicm_get_id(struct panel_drv_data *ddata, u8 *id1, u8 *id2, u8 *id3) > return 0; > } > > +static int dsicm_set_update_window(struct panel_drv_data *ddata) > +{ > + struct mipi_dsi_device *dsi = ddata->dsi; > + int r; > + > + r = mipi_dsi_dcs_set_column_address(dsi, 0, ddata->mode.hdisplay - 1); > + if (r < 0) > + return r; > + > + r = mipi_dsi_dcs_set_page_address(dsi, 0, ddata->mode.vdisplay - 1); > + if (r < 0) > + return r; > + > + return 0; > +} > + > static int dsicm_bl_update_status(struct backlight_device *dev) > { > struct panel_drv_data *ddata = dev_get_drvdata(&dev->dev); > @@ -307,6 +323,10 @@ static int dsicm_power_on(struct panel_drv_data *ddata) > if (r) > goto err; > > + r = dsicm_set_update_window(ddata); > + if (r) > + goto err; > + > r = mipi_dsi_dcs_set_display_on(ddata->dsi); > if (r) > goto err; > -- > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki >
Attachment:
signature.asc
Description: PGP signature