Thread (10 messages) 10 messages, 3 authors, 2015-12-15

Re: [PATCH 2/2] video:omapdrm: make omapdrm assume the tv-out cable is always connected

From: H. Nikolaus Schaller <hidden>
Date: 2015-11-13 13:32:06
Also in: dri-devel, linux-omap, lkml

Hi Laurent and Tomi,

Am 13.11.2015 um 13:01 schrieb Laurent Pinchart [off-list ref]:
On Friday 13 November 2015 13:46:01 Tomi Valkeinen wrote:
quoted
On 13/11/15 12:29, H. Nikolaus Schaller wrote:
quoted
Include VENC in the set of drivers where it is assimed that the cable
is always connected. Like DPI, DSI, DBI and SDI do.

Otherwise, the VENC will return cable status "unknown" and is not enabled
by the X-server. So there is no video output signal.

Tested on: BeagleBoard XM, GTA04 and OpenPandora

Signed-off-by: H. Nikolaus Schaller <redacted>
---

drivers/gpu/drm/omapdrm/omap_connector.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c
b/drivers/gpu/drm/omapdrm/omap_connector.c index 83f2a91..98ddb5d 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -120,6 +120,7 @@ static enum drm_connector_status
omap_connector_detect(
		else
			ret = connector_status_disconnected;
	} else if (dssdev->type = OMAP_DISPLAY_TYPE_DPI ||
+			dssdev->type = OMAP_DISPLAY_TYPE_VENC ||
			dssdev->type = OMAP_DISPLAY_TYPE_DBI ||
			dssdev->type = OMAP_DISPLAY_TYPE_SDI ||
			dssdev->type = OMAP_DISPLAY_TYPE_DSI) {
I have no idea why VENC is not working for you when using
connector_status_unknown,
I agree that it should...
quoted
but I just tested DPI with
connector_status_unknown (i.e. changed the above func to return unknown
for DPI
Good hint. I can do the same check. Maybe it highlights the real issue.
quoted
), and it works fine with X and X omap driver. And xrandr
confirms that the connection status is unknown:

# xrandr
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 2048 x 2048
HDMI-1 disconnected (normal left inverted right x axis y axis)
None-1 unknown connection 1920x1200+0+0 (normal left inverted right x
axis y axis) 0mm x 0mm
  1920x1200     60.00*+  60.00 +
Which configs, drivers and system are you using for this results?
quoted
Grep also shows that there are many drivers using
connector_status_unknown, so I'm guessing it should work fine...
And beside it's not right to consider VENC as always connected, as it isn't. 
Hm. Well, the VENC (meaning the D/A converter inside the OMAP3 chip)
is always connected. But the monitor or cable isn't.
The unknown status is there for a reason, to describe connectors for which we 
can't get any status information. The situation is different for DPI, DBI, SDI 
and DSI as those are on-board busses that connect to a non-removable panel, so 
we can say with a good confidence that the panel is connected (the situation 
could be changed with a hammer and a chisel, but that's unlikely to happen, 
hence the confidence).
Well, it may be that the omapdrm and X11 combination (unfortuantely I don't
understand either and have not found a good description how they interwork),
 keeps the VENC disabled if the connector is unknown.

And since there is no code to detect that a cable has been connected, there
might be missing some trigger to enable the interface.

The symptom I see is that the status of this card is "disabled" while the LCD
panel is "enabled". After doing my proposed patch, both come up "enabled".

So my patch appears to be a work around some other still hidden problem.

Any hint from the experts how to debug / find the real issue & solution is welcome.

BR,
Nikolaus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help