Hi Tomi,

Thank you for the patch.

On Tue, Nov 24, 2020 at 02:45:18PM +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.valkei...@ti.com>

With Sam's comments addressed,

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

> ---
>  drivers/gpu/drm/panel/panel-dsi-cm.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c 
> b/drivers/gpu/drm/panel/panel-dsi-cm.c
> index 59e8e6b18e97..1e7f73340736 100644
> --- a/drivers/gpu/drm/panel/panel-dsi-cm.c
> +++ b/drivers/gpu/drm/panel/panel-dsi-cm.c
> @@ -171,6 +171,26 @@ 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;
> +     u16 x1 = 0;
> +     u16 x2 = ddata->mode.hdisplay - 1;
> +     u16 y1 = 0;
> +     u16 y2 = ddata->mode.vdisplay - 1;
> +
> +     r = mipi_dsi_dcs_set_column_address(dsi, x1, x2);
> +     if (r < 0)
> +             return r;
> +
> +     r = mipi_dsi_dcs_set_page_address(dsi, y1, y2);
> +     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);
> @@ -308,6 +328,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;

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to