summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/omap_encoder.c
diff options
context:
space:
mode:
authorSebastian Reichel <sebastian.reichel@collabora.com>2020-12-15 12:46:03 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2020-12-15 16:08:24 +0200
commite290c812eb89728ee96ee831f443bb3fce578ab3 (patch)
treedfeee7364f408e0ae179338bd6d96b2c841f638b /drivers/gpu/drm/omapdrm/omap_encoder.c
parent2a4703c25f75d44ecdf0b718bbb53d4ec3170422 (diff)
downloadlinux-e290c812eb89728ee96ee831f443bb3fce578ab3.tar.bz2
drm/omap: dsi: Reverse direction of the DSS device enable/disable operations
Complete the direction reversal of the DSS device enable/disable operations started by commit 19b4200d8f4b ("drm/omap: Reverse direction of the DSS device enable/disable operations"). This effectively drops the requirement of calling DSS specific code from the DSI panel driver moving it a bit further to a standard drm_panel driver. 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-31-tomi.valkeinen@ti.com
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_encoder.c')
-rw-r--r--drivers/gpu/drm/omapdrm/omap_encoder.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c b/drivers/gpu/drm/omapdrm/omap_encoder.c
index a2b08d32baad..8ec4206b8e3e 100644
--- a/drivers/gpu/drm/omapdrm/omap_encoder.c
+++ b/drivers/gpu/drm/omapdrm/omap_encoder.c
@@ -136,16 +136,10 @@ static void omap_encoder_disable(struct drm_encoder *encoder)
*/
omapdss_device_disable(dssdev->next);
- /*
- * Disable the internal encoder. This will disable the DSS output. The
- * DSI is treated as an exception as DSI pipelines still use the legacy
- * flow where the pipeline output controls the encoder.
- */
- if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) {
- if (dssdev->ops && dssdev->ops->disable)
- dssdev->ops->disable(dssdev);
- dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
- }
+ /* Disable the internal encoder. This will disable the DSS output. */
+ if (dssdev->ops && dssdev->ops->disable)
+ dssdev->ops->disable(dssdev);
+ dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
/*
* Perform the post-disable operations on the chain of external devices
@@ -165,16 +159,10 @@ static void omap_encoder_enable(struct drm_encoder *encoder)
/* Prepare the chain of external devices for pipeline enable. */
omapdss_device_pre_enable(dssdev->next);
- /*
- * Enable the internal encoder. This will enable the DSS output. The
- * DSI is treated as an exception as DSI pipelines still use the legacy
- * flow where the pipeline output controls the encoder.
- */
- if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) {
- if (dssdev->ops && dssdev->ops->enable)
- dssdev->ops->enable(dssdev);
- dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
- }
+ /* Enable the internal encoder. This will enable the DSS output. */
+ if (dssdev->ops && dssdev->ops->enable)
+ dssdev->ops->enable(dssdev);
+ dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
/*
* Enable the chain of external devices, starting at the one at the