diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-12-10 07:00:38 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2019-03-18 05:42:13 -0400 |
commit | 0dbfc396672025d3ef8bacc934b80a5463e75c6d (patch) | |
tree | 91ac4d0771a6996daf7c40c0d695cbd2ef1aed2f /drivers/gpu/drm | |
parent | a4e26525cacb5154a0e00415aa3f889ee5d295db (diff) |
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')
25 files changed, 32 insertions, 20 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c index 1503563117f3..6c0561101874 100644 --- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c +++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c | |||
@@ -56,6 +56,7 @@ static int tvc_probe(struct platform_device *pdev) | |||
56 | dssdev->ops = &tvc_ops; | 56 | dssdev->ops = &tvc_ops; |
57 | dssdev->dev = &pdev->dev; | 57 | dssdev->dev = &pdev->dev; |
58 | dssdev->type = OMAP_DISPLAY_TYPE_VENC; | 58 | dssdev->type = OMAP_DISPLAY_TYPE_VENC; |
59 | dssdev->display = true; | ||
59 | dssdev->owner = THIS_MODULE; | 60 | dssdev->owner = THIS_MODULE; |
60 | dssdev->of_ports = BIT(0); | 61 | dssdev->of_ports = BIT(0); |
61 | 62 | ||
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c index bf5ee50ce5fe..fa3a69bf8a04 100644 --- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c +++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c | |||
@@ -239,6 +239,7 @@ static int dvic_probe(struct platform_device *pdev) | |||
239 | dssdev->ops = &dvic_ops; | 239 | dssdev->ops = &dvic_ops; |
240 | dssdev->dev = &pdev->dev; | 240 | dssdev->dev = &pdev->dev; |
241 | dssdev->type = OMAP_DISPLAY_TYPE_DVI; | 241 | dssdev->type = OMAP_DISPLAY_TYPE_DVI; |
242 | dssdev->display = true; | ||
242 | dssdev->owner = THIS_MODULE; | 243 | dssdev->owner = THIS_MODULE; |
243 | dssdev->of_ports = BIT(0); | 244 | dssdev->of_ports = BIT(0); |
244 | 245 | ||
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c index 797da4a3f22e..68d6f6e44b03 100644 --- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c +++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | |||
@@ -140,6 +140,7 @@ static int hdmic_probe(struct platform_device *pdev) | |||
140 | dssdev->ops = &hdmic_ops; | 140 | dssdev->ops = &hdmic_ops; |
141 | dssdev->dev = &pdev->dev; | 141 | dssdev->dev = &pdev->dev; |
142 | dssdev->type = OMAP_DISPLAY_TYPE_HDMI; | 142 | dssdev->type = OMAP_DISPLAY_TYPE_HDMI; |
143 | dssdev->display = true; | ||
143 | dssdev->owner = THIS_MODULE; | 144 | dssdev->owner = THIS_MODULE; |
144 | dssdev->of_ports = BIT(0); | 145 | dssdev->of_ports = BIT(0); |
145 | dssdev->ops_flags = ddata->hpd_gpio | 146 | dssdev->ops_flags = ddata->hpd_gpio |
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c index fc5e0c47054d..29a5a130ebd1 100644 --- a/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c +++ b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c | |||
@@ -88,7 +88,6 @@ static int opa362_probe(struct platform_device *pdev) | |||
88 | dssdev->ops = &opa362_ops; | 88 | dssdev->ops = &opa362_ops; |
89 | dssdev->dev = &pdev->dev; | 89 | dssdev->dev = &pdev->dev; |
90 | dssdev->type = OMAP_DISPLAY_TYPE_VENC; | 90 | dssdev->type = OMAP_DISPLAY_TYPE_VENC; |
91 | dssdev->output_type = OMAP_DISPLAY_TYPE_VENC; | ||
92 | dssdev->owner = THIS_MODULE; | 91 | dssdev->owner = THIS_MODULE; |
93 | dssdev->of_ports = BIT(1) | BIT(0); | 92 | dssdev->of_ports = BIT(1) | BIT(0); |
94 | 93 | ||
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c index 82035078377a..fb88537de1cc 100644 --- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c +++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c | |||
@@ -84,7 +84,6 @@ static int tfp410_probe(struct platform_device *pdev) | |||
84 | dssdev->ops = &tfp410_ops; | 84 | dssdev->ops = &tfp410_ops; |
85 | dssdev->dev = &pdev->dev; | 85 | dssdev->dev = &pdev->dev; |
86 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 86 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
87 | dssdev->output_type = OMAP_DISPLAY_TYPE_DVI; | ||
88 | dssdev->owner = THIS_MODULE; | 87 | dssdev->owner = THIS_MODULE; |
89 | dssdev->of_ports = BIT(1) | BIT(0); | 88 | dssdev->of_ports = BIT(1) | BIT(0); |
90 | dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE | 89 | dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE |
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c b/drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c index ced36718a95f..bc03752d2762 100644 --- a/drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c +++ b/drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c | |||
@@ -167,7 +167,6 @@ static int tpd_probe(struct platform_device *pdev) | |||
167 | dssdev->ops = &tpd_ops; | 167 | dssdev->ops = &tpd_ops; |
168 | dssdev->dev = &pdev->dev; | 168 | dssdev->dev = &pdev->dev; |
169 | dssdev->type = OMAP_DISPLAY_TYPE_HDMI; | 169 | dssdev->type = OMAP_DISPLAY_TYPE_HDMI; |
170 | dssdev->output_type = OMAP_DISPLAY_TYPE_HDMI; | ||
171 | dssdev->owner = THIS_MODULE; | 170 | dssdev->owner = THIS_MODULE; |
172 | dssdev->of_ports = BIT(1) | BIT(0); | 171 | dssdev->of_ports = BIT(1) | BIT(0); |
173 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_DETECT | 172 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_DETECT |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index 897b8820e000..389ae2821222 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c | |||
@@ -150,6 +150,7 @@ static int panel_dpi_probe(struct platform_device *pdev) | |||
150 | dssdev->dev = &pdev->dev; | 150 | dssdev->dev = &pdev->dev; |
151 | dssdev->ops = &panel_dpi_ops; | 151 | dssdev->ops = &panel_dpi_ops; |
152 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 152 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
153 | dssdev->display = true; | ||
153 | dssdev->owner = THIS_MODULE; | 154 | dssdev->owner = THIS_MODULE; |
154 | dssdev->of_ports = BIT(0); | 155 | dssdev->of_ports = BIT(0); |
155 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 156 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index d9f10f41ddfb..741a5e324767 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | |||
@@ -1272,6 +1272,7 @@ static int dsicm_probe(struct platform_device *pdev) | |||
1272 | dssdev->ops = &dsicm_ops; | 1272 | dssdev->ops = &dsicm_ops; |
1273 | dssdev->driver = &dsicm_dss_driver; | 1273 | dssdev->driver = &dsicm_dss_driver; |
1274 | dssdev->type = OMAP_DISPLAY_TYPE_DSI; | 1274 | dssdev->type = OMAP_DISPLAY_TYPE_DSI; |
1275 | dssdev->display = true; | ||
1275 | dssdev->owner = THIS_MODULE; | 1276 | dssdev->owner = THIS_MODULE; |
1276 | dssdev->of_ports = BIT(0); | 1277 | dssdev->of_ports = BIT(0); |
1277 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 1278 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c index f37931bf1c5f..4133351924be 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | |||
@@ -197,6 +197,7 @@ static int lb035q02_panel_spi_probe(struct spi_device *spi) | |||
197 | dssdev->dev = &spi->dev; | 197 | dssdev->dev = &spi->dev; |
198 | dssdev->ops = &lb035q02_ops; | 198 | dssdev->ops = &lb035q02_ops; |
199 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 199 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
200 | dssdev->display = true; | ||
200 | dssdev->owner = THIS_MODULE; | 201 | dssdev->owner = THIS_MODULE; |
201 | dssdev->of_ports = BIT(0); | 202 | dssdev->of_ports = BIT(0); |
202 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 203 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c index 8f2fb3d0492f..498a88307f04 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c | |||
@@ -192,6 +192,7 @@ static int nec_8048_probe(struct spi_device *spi) | |||
192 | dssdev->dev = &spi->dev; | 192 | dssdev->dev = &spi->dev; |
193 | dssdev->ops = &nec_8048_ops; | 193 | dssdev->ops = &nec_8048_ops; |
194 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 194 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
195 | dssdev->display = true; | ||
195 | dssdev->owner = THIS_MODULE; | 196 | dssdev->owner = THIS_MODULE; |
196 | dssdev->of_ports = BIT(0); | 197 | dssdev->of_ports = BIT(0); |
197 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 198 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c index 8d5d7f775b55..1e68e0d14f87 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | |||
@@ -207,6 +207,7 @@ static int sharp_ls_probe(struct platform_device *pdev) | |||
207 | dssdev->dev = &pdev->dev; | 207 | dssdev->dev = &pdev->dev; |
208 | dssdev->ops = &sharp_ls_ops; | 208 | dssdev->ops = &sharp_ls_ops; |
209 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 209 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
210 | dssdev->display = true; | ||
210 | dssdev->owner = THIS_MODULE; | 211 | dssdev->owner = THIS_MODULE; |
211 | dssdev->of_ports = BIT(0); | 212 | dssdev->of_ports = BIT(0); |
212 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 213 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c index b8360cef3754..abee0b348cff 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c | |||
@@ -706,6 +706,7 @@ static int acx565akm_probe(struct spi_device *spi) | |||
706 | dssdev->dev = &spi->dev; | 706 | dssdev->dev = &spi->dev; |
707 | dssdev->ops = &acx565akm_ops; | 707 | dssdev->ops = &acx565akm_ops; |
708 | dssdev->type = OMAP_DISPLAY_TYPE_SDI; | 708 | dssdev->type = OMAP_DISPLAY_TYPE_SDI; |
709 | dssdev->display = true; | ||
709 | dssdev->owner = THIS_MODULE; | 710 | dssdev->owner = THIS_MODULE; |
710 | dssdev->of_ports = BIT(0); | 711 | dssdev->of_ports = BIT(0); |
711 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 712 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 721c5bb3bdef..5b4fbcc196bc 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | |||
@@ -321,6 +321,7 @@ static int td028ttec1_panel_probe(struct spi_device *spi) | |||
321 | dssdev->dev = &spi->dev; | 321 | dssdev->dev = &spi->dev; |
322 | dssdev->ops = &td028ttec1_ops; | 322 | dssdev->ops = &td028ttec1_ops; |
323 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 323 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
324 | dssdev->display = true; | ||
324 | dssdev->owner = THIS_MODULE; | 325 | dssdev->owner = THIS_MODULE; |
325 | dssdev->of_ports = BIT(0); | 326 | dssdev->of_ports = BIT(0); |
326 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 327 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c index 50960018dbe8..781dc8b0afe7 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | |||
@@ -420,6 +420,7 @@ static int tpo_td043_probe(struct spi_device *spi) | |||
420 | dssdev->dev = &spi->dev; | 420 | dssdev->dev = &spi->dev; |
421 | dssdev->ops = &tpo_td043_ops; | 421 | dssdev->ops = &tpo_td043_ops; |
422 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; | 422 | dssdev->type = OMAP_DISPLAY_TYPE_DPI; |
423 | dssdev->display = true; | ||
423 | dssdev->owner = THIS_MODULE; | 424 | dssdev->owner = THIS_MODULE; |
424 | dssdev->of_ports = BIT(0); | 425 | dssdev->of_ports = BIT(0); |
425 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; | 426 | dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; |
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c index d14abde3c5f0..81ea0f55cd75 100644 --- a/drivers/gpu/drm/omapdrm/dss/base.c +++ b/drivers/gpu/drm/omapdrm/dss/base.c | |||
@@ -207,7 +207,7 @@ void omapdss_device_disconnect(struct omap_dss_device *src, | |||
207 | dev_dbg(dst->dev, "disconnect\n"); | 207 | dev_dbg(dst->dev, "disconnect\n"); |
208 | 208 | ||
209 | if (!dst->id && !omapdss_device_is_connected(dst)) { | 209 | if (!dst->id && !omapdss_device_is_connected(dst)) { |
210 | WARN_ON(dst->output_type); | 210 | WARN_ON(!dst->display); |
211 | return; | 211 | return; |
212 | } | 212 | } |
213 | 213 | ||
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 295bc3eeea80..cc78dfa07f04 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c | |||
@@ -634,7 +634,7 @@ static int dpi_init_output_port(struct dpi_data *dpi, struct device_node *port) | |||
634 | 634 | ||
635 | out->dev = &dpi->pdev->dev; | 635 | out->dev = &dpi->pdev->dev; |
636 | out->id = OMAP_DSS_OUTPUT_DPI; | 636 | out->id = OMAP_DSS_OUTPUT_DPI; |
637 | out->output_type = OMAP_DISPLAY_TYPE_DPI; | 637 | out->type = OMAP_DISPLAY_TYPE_DPI; |
638 | out->dispc_channel = dpi_get_channel(dpi); | 638 | out->dispc_channel = dpi_get_channel(dpi); |
639 | out->of_ports = BIT(port_num); | 639 | out->of_ports = BIT(port_num); |
640 | out->ops = &dpi_ops; | 640 | out->ops = &dpi_ops; |
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index 4ac325e664b5..2582b566e0b0 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c | |||
@@ -5121,7 +5121,7 @@ static int dsi_init_output(struct dsi_data *dsi) | |||
5121 | out->id = dsi->module_id == 0 ? | 5121 | out->id = dsi->module_id == 0 ? |
5122 | OMAP_DSS_OUTPUT_DSI1 : OMAP_DSS_OUTPUT_DSI2; | 5122 | OMAP_DSS_OUTPUT_DSI1 : OMAP_DSS_OUTPUT_DSI2; |
5123 | 5123 | ||
5124 | out->output_type = OMAP_DISPLAY_TYPE_DSI; | 5124 | out->type = OMAP_DISPLAY_TYPE_DSI; |
5125 | out->name = dsi->module_id == 0 ? "dsi.0" : "dsi.1"; | 5125 | out->name = dsi->module_id == 0 ? "dsi.0" : "dsi.1"; |
5126 | out->dispc_channel = dsi_get_channel(dsi); | 5126 | out->dispc_channel = dsi_get_channel(dsi); |
5127 | out->ops = &dsi_ops; | 5127 | out->ops = &dsi_ops; |
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c index 4337380b1bf7..6339e2756b34 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c | |||
@@ -679,7 +679,7 @@ static int hdmi4_init_output(struct omap_hdmi *hdmi) | |||
679 | 679 | ||
680 | out->dev = &hdmi->pdev->dev; | 680 | out->dev = &hdmi->pdev->dev; |
681 | out->id = OMAP_DSS_OUTPUT_HDMI; | 681 | out->id = OMAP_DSS_OUTPUT_HDMI; |
682 | out->output_type = OMAP_DISPLAY_TYPE_HDMI; | 682 | out->type = OMAP_DISPLAY_TYPE_HDMI; |
683 | out->name = "hdmi.0"; | 683 | out->name = "hdmi.0"; |
684 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; | 684 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; |
685 | out->ops = &hdmi_ops; | 685 | out->ops = &hdmi_ops; |
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c index b94f884c5c1a..2955bbad13bb 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c | |||
@@ -663,7 +663,7 @@ static int hdmi5_init_output(struct omap_hdmi *hdmi) | |||
663 | 663 | ||
664 | out->dev = &hdmi->pdev->dev; | 664 | out->dev = &hdmi->pdev->dev; |
665 | out->id = OMAP_DSS_OUTPUT_HDMI; | 665 | out->id = OMAP_DSS_OUTPUT_HDMI; |
666 | out->output_type = OMAP_DISPLAY_TYPE_HDMI; | 666 | out->type = OMAP_DISPLAY_TYPE_HDMI; |
667 | out->name = "hdmi.0"; | 667 | out->name = "hdmi.0"; |
668 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; | 668 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; |
669 | out->ops = &hdmi_ops; | 669 | out->ops = &hdmi_ops; |
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h index d13a6b5774e8..ab5467a1e92c 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h | |||
@@ -413,14 +413,18 @@ struct omap_dss_device { | |||
413 | 413 | ||
414 | struct list_head list; | 414 | struct list_head list; |
415 | 415 | ||
416 | /* | ||
417 | * DSS type that this device generates (for DSS internal devices) or | ||
418 | * requires (for external encoders, connectors and panels). Must be a | ||
419 | * non-zero (different than OMAP_DISPLAY_TYPE_NONE) value. | ||
420 | */ | ||
416 | enum omap_display_type type; | 421 | enum omap_display_type type; |
422 | |||
417 | /* | 423 | /* |
418 | * DSS output type that this device generates (for DSS internal devices) | 424 | * True if the device is a display (panel or connector) at the end of |
419 | * or requires (for external encoders). Must be OMAP_DISPLAY_TYPE_NONE | 425 | * the pipeline, false otherwise. |
420 | * for display devices (connectors and panels) and to non-zero value for | ||
421 | * all other devices. | ||
422 | */ | 426 | */ |
423 | enum omap_display_type output_type; | 427 | bool display; |
424 | 428 | ||
425 | const char *name; | 429 | const char *name; |
426 | 430 | ||
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c index 0ac400a521f3..f25ecfd26534 100644 --- a/drivers/gpu/drm/omapdrm/dss/output.c +++ b/drivers/gpu/drm/omapdrm/dss/output.c | |||
@@ -33,7 +33,7 @@ int omapdss_device_init_output(struct omap_dss_device *out) | |||
33 | return PTR_ERR(out->next); | 33 | return PTR_ERR(out->next); |
34 | } | 34 | } |
35 | 35 | ||
36 | if (out->next && out->output_type != out->next->type) { | 36 | if (out->next && out->type != out->next->type) { |
37 | dev_err(out->dev, "output type and display type don't match\n"); | 37 | dev_err(out->dev, "output type and display type don't match\n"); |
38 | return -EINVAL; | 38 | return -EINVAL; |
39 | } | 39 | } |
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c index 38b0bf19538d..e7945322c471 100644 --- a/drivers/gpu/drm/omapdrm/dss/sdi.c +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c | |||
@@ -272,7 +272,7 @@ static int sdi_init_output(struct sdi_device *sdi) | |||
272 | 272 | ||
273 | out->dev = &sdi->pdev->dev; | 273 | out->dev = &sdi->pdev->dev; |
274 | out->id = OMAP_DSS_OUTPUT_SDI; | 274 | out->id = OMAP_DSS_OUTPUT_SDI; |
275 | out->output_type = OMAP_DISPLAY_TYPE_SDI; | 275 | out->type = OMAP_DISPLAY_TYPE_SDI; |
276 | out->name = "sdi.0"; | 276 | out->name = "sdi.0"; |
277 | out->dispc_channel = OMAP_DSS_CHANNEL_LCD; | 277 | out->dispc_channel = OMAP_DSS_CHANNEL_LCD; |
278 | /* We have SDI only on OMAP3, where it's on port 1 */ | 278 | /* We have SDI only on OMAP3, where it's on port 1 */ |
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c index f2cbecfd05b5..da43b865d973 100644 --- a/drivers/gpu/drm/omapdrm/dss/venc.c +++ b/drivers/gpu/drm/omapdrm/dss/venc.c | |||
@@ -760,7 +760,7 @@ static int venc_init_output(struct venc_device *venc) | |||
760 | 760 | ||
761 | out->dev = &venc->pdev->dev; | 761 | out->dev = &venc->pdev->dev; |
762 | out->id = OMAP_DSS_OUTPUT_VENC; | 762 | out->id = OMAP_DSS_OUTPUT_VENC; |
763 | out->output_type = OMAP_DISPLAY_TYPE_VENC; | 763 | out->type = OMAP_DISPLAY_TYPE_VENC; |
764 | out->name = "venc.0"; | 764 | out->name = "venc.0"; |
765 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; | 765 | out->dispc_channel = OMAP_DSS_CHANNEL_DIGIT; |
766 | out->ops = &venc_ops; | 766 | out->ops = &venc_ops; |
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index ae399435346b..1353aec73611 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c | |||
@@ -128,7 +128,7 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable) | |||
128 | if (WARN_ON(omap_crtc->enabled == enable)) | 128 | if (WARN_ON(omap_crtc->enabled == enable)) |
129 | return; | 129 | return; |
130 | 130 | ||
131 | if (omap_crtc->pipe->output->output_type == OMAP_DISPLAY_TYPE_HDMI) { | 131 | if (omap_crtc->pipe->output->type == OMAP_DISPLAY_TYPE_HDMI) { |
132 | priv->dispc_ops->mgr_enable(priv->dispc, channel, enable); | 132 | priv->dispc_ops->mgr_enable(priv->dispc, channel, enable); |
133 | omap_crtc->enabled = enable; | 133 | omap_crtc->enabled = enable; |
134 | return; | 134 | return; |
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, | |||
138 | } | 138 | } |
139 | 139 | ||
140 | /* Set the HDMI mode and HDMI infoframe if applicable. */ | 140 | /* Set the HDMI mode and HDMI infoframe if applicable. */ |
141 | if (omap_encoder->output->output_type == OMAP_DISPLAY_TYPE_HDMI) | 141 | if (omap_encoder->output->type == OMAP_DISPLAY_TYPE_HDMI) |
142 | omap_encoder_hdmi_mode_set(encoder, adjusted_mode); | 142 | omap_encoder_hdmi_mode_set(encoder, adjusted_mode); |
143 | } | 143 | } |
144 | 144 | ||
@@ -161,7 +161,7 @@ static void omap_encoder_disable(struct drm_encoder *encoder) | |||
161 | * DSI is treated as an exception as DSI pipelines still use the legacy | 161 | * DSI is treated as an exception as DSI pipelines still use the legacy |
162 | * flow where the pipeline output controls the encoder. | 162 | * flow where the pipeline output controls the encoder. |
163 | */ | 163 | */ |
164 | if (dssdev->output_type != OMAP_DISPLAY_TYPE_DSI) { | 164 | if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) { |
165 | dssdev->ops->disable(dssdev); | 165 | dssdev->ops->disable(dssdev); |
166 | dssdev->state = OMAP_DSS_DISPLAY_DISABLED; | 166 | dssdev->state = OMAP_DSS_DISPLAY_DISABLED; |
167 | } | 167 | } |
@@ -189,7 +189,7 @@ static void omap_encoder_enable(struct drm_encoder *encoder) | |||
189 | * DSI is treated as an exception as DSI pipelines still use the legacy | 189 | * DSI is treated as an exception as DSI pipelines still use the legacy |
190 | * flow where the pipeline output controls the encoder. | 190 | * flow where the pipeline output controls the encoder. |
191 | */ | 191 | */ |
192 | if (dssdev->output_type != OMAP_DISPLAY_TYPE_DSI) { | 192 | if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) { |
193 | dssdev->ops->enable(dssdev); | 193 | dssdev->ops->enable(dssdev); |
194 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; | 194 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; |
195 | } | 195 | } |