OSDN Git Service

drm/i915: Fix threshold check in intel_hpd_irq_storm_detect()
authorLyude Paul <lyude@redhat.com>
Tue, 6 Nov 2018 21:30:14 +0000 (16:30 -0500)
committerLyude Paul <lyude@redhat.com>
Wed, 7 Nov 2018 20:11:29 +0000 (15:11 -0500)
commita4af7889eb31f52f4fc4d8fae4e66eae04140125
tree354dc1caeac3d0c4b347b913f06bd5aa1759e5ee
parentfee61deecb1d850bf34f682a6a452e5ee51b7572
drm/i915: Fix threshold check in intel_hpd_irq_storm_detect()

Currently in intel_hpd_irq_storm_detect() when we detect that the last
recorded hotplug wasn't within the period defined by
HPD_STORM_DETECT_DELAY, we make the mistake of resetting the HPD count
to 0 without incrementing it. This results in us only enabling storm
detection when we go +2 above the threshold, e.g. an HPD threshold of 5
would not trigger a storm until we reach a total of 7 hotplugs.

So: rework the code a bit so we reset the HPD count when
HPD_STORM_DETECT_DELAY has passed, then increment the count afterwards.
Also, clean things up a bit to make it easier to undertand.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181106213017.14563-4-lyude@redhat.com
drivers/gpu/drm/i915/intel_hotplug.c