[Intel-gfx] [PATCH 6/8] drm/i915/dp: clear DP encoder CRTC if the receiver disappears

Jesse Barnes jbarnes at virtuousgeek.org
Sat Jul 2 01:59:48 CEST 2011


On Fri, 01 Jul 2011 16:48:27 -0700
Keith Packard <keithp at keithp.com> wrote:

> On Fri,  1 Jul 2011 15:22:56 -0700, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> 
> > If the receiver goes away, drop any associated CRTC.  This will force a
> > full mode set on any subsequent setcrtc call, which is what we need if
> > the receiver is gone and the link is down.
> 
> This doesn't look like a good solution to me -- we're smashing the
> connection between the DP output and the selected CRTC. If you plug the
> cable back in, won't this mess things up when we try to retrain again?

That depends on what behavior we want.  With the previous fixes, if you
unplug, we'll get a hotplug event, fail to detect a link, and tear down
the receiver.  With the old code you'd get bad behavior unless you had
hit a DPMS path earlier.

A subsequent hotplug will be ignored as far as link training goes, since
we don't have a receiver configured.

In both cases, we'll emit hotplug events to userspace, which is free to
react (or not) however it wants.

So I think we'd need to leave the receiver_configured bit set even if
the hot plug re-train failed, and just try it again on the next hot
plug (assuming we want to preserve user configs across hot plug
events and not just let userspace handle the hotplug events).

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list