Hi Tomi and Sebastian, Thank you for the patch. On Thu, Nov 05, 2020 at 02:02:58PM +0200, Tomi Valkeinen wrote: > From: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > > The DSI sync() function only locks the bus and then releases > it again. Currently the only invocation is directly before > update(), which locks the bus anyways. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > .../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 18 ------------------ > drivers/gpu/drm/omapdrm/dss/omapdss.h | 1 - > drivers/gpu/drm/omapdrm/omap_crtc.c | 3 --- > 3 files changed, 22 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > index f59775cabe2d..a9609eed6bfa 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > @@ -845,23 +845,6 @@ static int dsicm_update(struct omap_dss_device *dssdev, > return r; > } > > -static int dsicm_sync(struct omap_dss_device *dssdev) > -{ > - struct panel_drv_data *ddata = to_panel_data(dssdev); > - struct omap_dss_device *src = ddata->src; > - > - dev_dbg(&ddata->dsi->dev, "sync\n"); > - > - mutex_lock(&ddata->lock); > - src->ops->dsi.bus_lock(src); > - src->ops->dsi.bus_unlock(src); > - mutex_unlock(&ddata->lock); > - > - dev_dbg(&ddata->dsi->dev, "sync done\n"); > - > - return 0; > -} > - > static int _dsicm_enable_te(struct panel_drv_data *ddata, bool enable) > { > struct omap_dss_device *src = ddata->src; > @@ -950,7 +933,6 @@ static const struct omap_dss_device_ops dsicm_ops = { > > static const struct omap_dss_driver dsicm_dss_driver = { > .update = dsicm_update, > - .sync = dsicm_sync, > }; > > static int dsicm_probe_of(struct mipi_dsi_device *dsi) > diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h > index 55d5bca59f81..9bbd2c0f3187 100644 > --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h > @@ -385,7 +385,6 @@ struct omap_dss_device { > struct omap_dss_driver { > int (*update)(struct omap_dss_device *dssdev, > u16 x, u16 y, u16 w, u16 h); > - int (*sync)(struct omap_dss_device *dssdev); > }; > > struct dss_device *omapdss_get_dss(void); > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index 328a4a74f534..dac9ccda98df 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -379,9 +379,6 @@ static void omap_crtc_manual_display_update(struct work_struct *data) > return; > } > > - if (dssdrv->sync) > - dssdrv->sync(dssdev); > - > ret = dssdrv->update(dssdev, 0, 0, mode->hdisplay, mode->vdisplay); > if (ret < 0) { > spin_lock_irq(&dev->event_lock); -- Regards, Laurent Pinchart