[Intel-gfx] [PATCH] drm/i915: Avoid HPD poll detect triggering a new detect cycle

Val Kulkov val.kulkov at gmail.com
Mon Oct 28 17:27:09 UTC 2019


On Mon, 28 Oct 2019 at 07:02, Imre Deak <imre.deak at intel.com> wrote:
>
> For the HPD interrupt functionality the HW depends on power wells in the
> display core domain to be on. Accordingly when enabling these power
> wells the HPD polling logic will force an HPD detection cycle to account
> for hotplug events that may have happened when such a power well was
> off.
>
> Thus a detect cycle started by polling could start a new detect cycle if
> a power well in the display core domain gets enabled during detect and
> stays enabled after detect completes. That in turn can lead to a
> detection cycle runaway.
>
> To prevent re-triggering a poll-detect cycle make sure we drop all power
> references we acquired during detect synchronously by the end of detect.
> This will let the poll-detect logic continue with polling (matching the
> off state of the corresponding power wells) instead of scheduling a new
> detection cycle.
>
> Fixes: 6cfe7ec02e85 ("drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112125
> Reported-by: Val Kulkov <val.kulkov at gmail.com>
> Reported-and-tested-by: wangqr < wqr.prg at gmail.com>
> Cc: Val Kulkov <val.kulkov at gmail.com>
> Cc: wangqr < wqr.prg at gmail.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>

The patch has been tested with linux-drm-tip-git
5.4.865162.dd5bccfa3b5d-1 on Eglobal NUC Fanless Mini PC Intel N3150
and Intel NUC D34010WYK. In both cases, the reported problem was no
longer observed.

Tested-by: Val Kulkov <val.kulkov at gmail.com>


More information about the Intel-gfx mailing list