[PATCH 0/7] hpd rework, relaunched

Alex Deucher alexdeucher at gmail.com
Tue Oct 23 13:41:04 PDT 2012

On Tue, Oct 23, 2012 at 2:23 PM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> 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
>   unreliable).
> - 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.

Most importantly, it allows you to still get hpd hotplug events when
you have disabled polling.  The old code disabled all hotplug events
when polling was disabled since they shared the same code path.

> 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.

For the series:

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> 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