intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* drm/i915: A selection of display port fixes
@ 2011-07-26  6:36 Keith Packard
  2011-07-26  6:36 ` [PATCH 1/5] drm/i915: Use dp_detect_common in hotplug helper function Keith Packard
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Keith Packard @ 2011-07-26  6:36 UTC (permalink / raw)
  To: Dave Airlie; +Cc: linux-kernel, dri-devel, intel-gfx, Keith Packard

 [PATCH 1/5] drm/i915: Use dp_detect_common in hotplug helper
 [PATCH 2/5] drm/i915: Rename i915_dp_detect_common to
 [PATCH 3/5] drm/i915: In intel_dp_init, replace read of DPCD with

These three are simple cleanups to centralize all places where the
DPCD block was read from the device. Now everyone shares the same
function, and that function retries the reads.

 [PATCH 4/5] drm/i915: Delay 250ms before running the hotplug code

I was experimenting with DP hotplugging -- moving the plug in and out
of the jack very slowly and discovered that the hotplug interrupt
occurred well before or after the link for the aux data channel was
connected or disconnected. The result of this was that a sufficiently
rapid cycle back through user mode could easily beat the motion of the
plug and cause the hotplug detection to get the wrong status. Sticking
a 250ms delay before doing anything gives the user sufficient time to
actually get the plug connected or disconnected.

 [PATCH 5/5] drm/i915: DP_PIPE_ENABLED must check transcoder on CPT

This is a fairly nice bug fix to finally have. The symptom I saw was
that going from one two-head configuration to another would sometimes
turn off the monitor which was *not* being modified. For instance, I
would do:

 $ xrandr --output LVDS1 --below DP2

This would always turn off the DP2 monitor, and sometimes it wouldn't
turn back on.

Turns out the bug wasn't that the mode setting code was doing it wrong
and turning the DP2 output off intentionally as a part of the mode
change. Instead, the intel driver was trying to adjust the PCH link
for the LVDS1 output and thought it needed to turn the DP2 output off
because it mistakenly believed the DP2 output was sharing the same
pipe as the LVDS1 output. Just a matter of using the wrong mechanism
to detect which pipe the DP2 output was connected to.

In any case, review and testing appreciated.

-keith

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2011-07-26 18:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-26  6:36 drm/i915: A selection of display port fixes Keith Packard
2011-07-26  6:36 ` [PATCH 1/5] drm/i915: Use dp_detect_common in hotplug helper function Keith Packard
2011-07-26 16:36   ` [Intel-gfx] " Jesse Barnes
2011-07-26  6:36 ` [PATCH 2/5] drm/i915: Rename i915_dp_detect_common to intel_dp_get_dpcd Keith Packard
2011-07-26 16:37   ` [Intel-gfx] " Jesse Barnes
2011-07-26  6:36 ` [PATCH 3/5] drm/i915: In intel_dp_init, replace read of DPCD with intel_dp_get_dpcd Keith Packard
2011-07-26 16:38   ` [Intel-gfx] " Jesse Barnes
2011-07-26  6:36 ` [PATCH 4/5] drm/i915: Delay 250ms before running the hotplug code Keith Packard
2011-07-26  7:44   ` Daniel Vetter
2011-07-26 15:24     ` Keith Packard
2011-07-26  6:36 ` [PATCH 5/5] drm/i915: DP_PIPE_ENABLED must check transcoder on CPT Keith Packard
2011-07-26 16:46   ` Jesse Barnes
2011-07-26 18:48 ` [Intel-gfx] drm/i915: A selection of display port fixes Adam Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).