summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/omapdrm/omap_crtc.c
diff options
context:
space:
mode:
authorSebastian Reichel <sebastian.reichel@collabora.com>2020-12-15 13:46:20 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2020-12-15 17:08:26 +0300
commit94d7332979330af60f2215532dbff3b538ed16b9 (patch)
tree60bf48128d0606a1b4d2d7ab6f68199638c5a3b4 /drivers/gpu/drm/omapdrm/omap_crtc.c
parent2390fadb78f0d3777267753fe919caa07e264014 (diff)
downloadlinux-94d7332979330af60f2215532dbff3b538ed16b9.tar.xz
drm/omap: simplify DSI manual update code
Move dsi_ops into the main structure, since all other ops are gone. Instead of checking the device type we can simply check if dsi_ops are set. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201215104657.802264-48-tomi.valkeinen@ti.com
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_crtc.c')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_crtc.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 1c7184b6f0ed..6692fc52af98 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -366,17 +366,10 @@ static void omap_crtc_manual_display_update(struct work_struct *data)
struct drm_device *dev = omap_crtc->base.dev;
int ret;
- if (!dssdev) {
- dev_err_once(dev->dev, "missing display dssdev!");
+ if (!dssdev || !dssdev->dsi_ops || !dssdev->dsi_ops->update)
return;
- }
-
- if (dssdev->type != OMAP_DISPLAY_TYPE_DSI || !dssdev->ops->dsi.update) {
- dev_err_once(dev->dev, "no DSI update callback found!");
- return;
- }
- ret = dssdev->ops->dsi.update(dssdev);
+ ret = dssdev->dsi_ops->update(dssdev);
if (ret < 0) {
spin_lock_irq(&dev->event_lock);
omap_crtc->pending = false;
@@ -585,11 +578,10 @@ static bool omap_crtc_is_manually_updated(struct drm_crtc *crtc)
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct omap_dss_device *dssdev = omap_crtc->pipe->output;
- if (dssdev->type != OMAP_DISPLAY_TYPE_DSI ||
- !dssdev->ops->dsi.is_video_mode)
+ if (!dssdev || !dssdev->dsi_ops || !dssdev->dsi_ops->is_video_mode)
return false;
- if (dssdev->ops->dsi.is_video_mode(dssdev))
+ if (dssdev->dsi_ops->is_video_mode(dssdev))
return false;
DBG("detected manually updated display!");