diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-12-10 15:00:38 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2019-03-18 12:42:13 +0300 |
commit | 0dbfc396672025d3ef8bacc934b80a5463e75c6d (patch) | |
tree | 91ac4d0771a6996daf7c40c0d695cbd2ef1aed2f /drivers/gpu/drm/omapdrm/omap_encoder.c | |
parent | a4e26525cacb5154a0e00415aa3f889ee5d295db (diff) | |
download | linux-0dbfc396672025d3ef8bacc934b80a5463e75c6d.tar.xz |
drm/omap: Merge omap_dss_device type and output_type fields
The omap_dss_device type and output_type fields differ mostly for
historical reasons. The output_type field is required for all devices
but the display at the end of the pipeline, and must be set to
OMAP_DISPLAY_TYPE_NONE for the latter. The type field is required for
all devices but the internal encoder, for which it is ignored.
The only reason why the output_type field must be set to
OMAP_DISPLAY_TYPE_NONE for the display at the end of the pipeline is to
identify omap_dss_device instances corresponding to displays. This is
not documented and confusing.
Clean the code by adding a new display field to the omap_dss_device
structure to identify displays, and merge the type and output_type
fields.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_encoder.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_encoder.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c b/drivers/gpu/drm/omapdrm/omap_encoder.c index 367234de5dc7..42748479d374 100644 --- a/drivers/gpu/drm/omapdrm/omap_encoder.c +++ b/drivers/gpu/drm/omapdrm/omap_encoder.c @@ -138,7 +138,7 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder, } /* Set the HDMI mode and HDMI infoframe if applicable. */ - if (omap_encoder->output->output_type == OMAP_DISPLAY_TYPE_HDMI) + if (omap_encoder->output->type == OMAP_DISPLAY_TYPE_HDMI) omap_encoder_hdmi_mode_set(encoder, adjusted_mode); } @@ -161,7 +161,7 @@ static void omap_encoder_disable(struct drm_encoder *encoder) * DSI is treated as an exception as DSI pipelines still use the legacy * flow where the pipeline output controls the encoder. */ - if (dssdev->output_type != OMAP_DISPLAY_TYPE_DSI) { + if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) { dssdev->ops->disable(dssdev); dssdev->state = OMAP_DSS_DISPLAY_DISABLED; } @@ -189,7 +189,7 @@ static void omap_encoder_enable(struct drm_encoder *encoder) * DSI is treated as an exception as DSI pipelines still use the legacy * flow where the pipeline output controls the encoder. */ - if (dssdev->output_type != OMAP_DISPLAY_TYPE_DSI) { + if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) { dssdev->ops->enable(dssdev); dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; } |