Эх сурвалжийг харах

drm/omap: add dispc_channel_connected field to omap_dss_device

We want to remove the 'struct omap_overlay_manager' from
omap_dss_device. At the moment that field is used, among some other
uses, to see if the omap_dss_device is connected to an overlay manager.

To make it possible to remove the 'struct omap_overlay_manager' field,
this patch adds 'bool dispc_channel_connected' field to track the
connected-or-not status.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen 10 жил өмнө
parent
commit
49239503a3

+ 2 - 0
drivers/gpu/drm/omapdrm/omap_crtc.c

@@ -111,6 +111,7 @@ static int omap_crtc_dss_connect(enum omap_channel channel,
 		return -EINVAL;
 
 	omap_crtc_output[channel] = dst;
+	dst->dispc_channel_connected = true;
 
 	dst->manager = mgr;
 	mgr->output = dst;
@@ -124,6 +125,7 @@ static void omap_crtc_dss_disconnect(enum omap_channel channel,
 	struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
 
 	omap_crtc_output[channel] = NULL;
+	dst->dispc_channel_connected = false;
 
 	mgr->output->manager = NULL;
 	mgr->output = NULL;

+ 1 - 0
include/video/omapdss.h

@@ -770,6 +770,7 @@ struct omap_dss_device {
 
 	/* DISPC channel for this output */
 	enum omap_channel dispc_channel;
+	bool dispc_channel_connected;
 
 	/* output instance */
 	enum omap_dss_output_id id;