Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f37938c authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen
Browse files

drm/omap: Set dispc_channel_connect from DSS output connect handlers



The omap_dss_device.dispc_channel_connect field is used by DSS outputs
to fail the .enable() operation if they're not connected. Set the field
directly from the (dis)connect handlers of the DSS outputs instead of
going through the CRTC dss_mgr operations.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent d25a7d67
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -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);
Loading