[PATCH 0/7] hpd rework, relaunched

Daniel Vetter daniel.vetter at ffwll.ch
Tue Oct 23 11:23:31 PDT 2012

Hi all,

I've always been a bit unhappy with the overall approach of my old hpd patches,
I think they've tried to move too much clever logic into the helper code. Now we
can still make the helper code a bit more smarter and flexible, but I think the
really clever hpd handling code should be in the driver specific parts. This
this series will allow:
- Better separation of polling and hpd event handling. While still allowing a
  connector to be handled by both (for connectors where hpd is a bit
- Fixing up some corner cases in the polling, to avoid flip-flop behaviour and
  races. This should prevent spurious wakeups of userspace with hotplug events.
- A tiny bit of code to make the unkown state a tad more useful.

Originally I wanted to wait with submitting this until I have the full i915 hpd
rework ready. But Alex Deucher pinged me a few times too often on irc, and I
agree, this pile should be useful in and of itself.

Comments, flames and review highly welcome.

Cheers, Daniel

Daniel Vetter (7):
  drm: extract drm_kms_helper_hotplug_event
  drm: handle HPD and polled connectors separately
  drm: run the hpd irq event code directly
  drm: properly init/reset connector status
  drm: don't start the poll engine in probe_single_connector
  drm: don't unnecessarily enable the polling work
  drm: don't poll forced connectors

 drivers/gpu/drm/drm_crtc.c        |  6 +++-
 drivers/gpu/drm/drm_crtc_helper.c | 71 ++++++++++++++++++++++++++++-----------
 include/drm/drm_crtc.h            |  1 +
 include/drm/drm_crtc_helper.h     |  1 +
 4 files changed, 59 insertions(+), 20 deletions(-)


More information about the dri-devel mailing list