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@ti.com Reviewed-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
Reviewed-by: Sebastian Reichel sebastian.reichel@collabora.com
-- 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