@@ -626,12 +626,15 @@ static int dpi_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void dpi_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -4896,12 +4896,15 @@ static int dsi_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void dsi_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -443,12 +443,15 @@ static int hdmi_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void hdmi_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -448,12 +448,15 @@ static int hdmi_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void hdmi_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -267,12 +267,15 @@ static int sdi_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void sdi_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -706,12 +706,15 @@ static int venc_connect(struct omap_dss_device *src,
return r;
}
+ dst->dispc_channel_connected = true;
return 0;
}
static void venc_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst)
{
+ dst->dispc_channel_connected = false;
+
omapdss_device_disconnect(dst, dst->next);
dss_mgr_disconnect(dst);
@@ -114,8 +114,6 @@ static int omap_crtc_dss_connect(struct omap_drm_private *priv,
enum omap_channel channel,
struct omap_dss_device *dst)
{
- dst->dispc_channel_connected = true;
-
return 0;
}
@@ -123,7 +121,6 @@ static void omap_crtc_dss_disconnect(struct omap_drm_private *priv,
enum omap_channel channel,
struct omap_dss_device *dst)
{
- dst->dispc_channel_connected = false;
}
static void omap_crtc_dss_start_update(struct omap_drm_private *priv,