[Intel-gfx] Valid DP connection without EDID?

Takashi Iwai tiwai at suse.de
Tue Sep 18 13:01:53 CEST 2012


At Mon, 17 Sep 2012 12:24:36 -0400,
Adam Jackson wrote:
> 
> On Mon, 2012-09-17 at 11:32 +0200, Takashi Iwai wrote:
> > At Mon, 17 Sep 2012 19:11:34 +1000,
> > Dave Airlie wrote:
> > > On Mon, Sep 17, 2012 at 6:28 PM, Takashi Iwai <tiwai at suse.de> wrote:
> > > > At Mon, 17 Sep 2012 18:21:47 +1000,
> > > > Dave Airlie wrote:
> > > >> On Mon, Sep 17, 2012 at 6:16 PM, Takashi Iwai <tiwai at suse.de> wrote:
> > > >> > At Fri, 14 Sep 2012 11:25:03 -0400,
> > > >> > Adam Jackson wrote:
> > > >> >>
> > > >> >> Can you be more specific here?  What DPCD does it return?
> > > >> >
> > > >> > It shows "DPCD: 110a820100030181"
> 
> So dpcd[0x5] is 0x03, and drm_dp_helper.h says:
> 
> #define DP_DOWNSTREAMPORT_PRESENT           0x005
> # define DP_DWN_STRM_PORT_PRESENT           (1 << 0)
> # define DP_DWN_STRM_PORT_TYPE_MASK         0x06
> /* 00b = DisplayPort */
> /* 01b = Analog */
> /* 10b = TMDS or HDMI */
> /* 11b = Other */
> # define DP_FORMAT_CONVERSION               (1 << 3)
> 
> So there we go, it's a branch device with VGA downstream of it.  We need
> to figure out the connectivity of the downstream port.

Right.  It's indeed a VGA.

> > > > Checking DPCD bits might work, but I have no exact spec of DPCD, so no
> > > > idea whether the above is really wrong or not.
> > > 
> > > Is there a VGA port on the docking station, it might have a DP->VGA in
> > > it, or dual-link DVI port.
> > 
> > Ah, right, that's the missing piece!
> > 
> > It's a DP->VGA conversion indeed.  Plugging to a VGA connector appears
> > as DP2.  Oh well, I didn't think of this possibility at all.
> > 
> > But then this makes me wonder how to solve the problem at best.
> > It's obviously a bogus connection status returned from the driver.
> > DP2 advertises itself as if connected.
> 
> I wouldn't quite say it's bogus, more that we're describing the
> connection status of "the nearest DP device" as if it were the
> connection status of the whole wire.

True.  However, from the end user's perspective, it's not easily
understandable why it's DP2 although we know it's a VGA and why it's
constantly stated as connected.

Or, just think from the user-space POV.  The only information it gets
so far is it's "DP-2", and it's always connected without EDID.
It's a bit too little information to make apps judging the situation
correctly.  Something should be corrected, or the driver needs to
expose more information.

> I started a patch series for this a bit ago, I'll send it on
> momentarily.

Thanks!  I evaluated it now (with a typo fix suggested by Jani).
Unfortunately, it doesn't improve the situation.

The fetch of downstream ports succeeds, and it gets 0x09.  So, this
indicates again it's a VGA downstream port.  But that's all, so far.
The 0x09 is reported no matter whether the VGA cable is plugged or
not, so this can't be used as the detection of the downstream port
plug state.

Any alternative way to detect the downstream VGA plug state?


thanks,

Takashi



More information about the Intel-gfx mailing list