drm/i915: Ignore long hpds on eDP ports
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 16 Oct 2014 17:46:10 +0000 (20:46 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 27 Oct 2014 11:37:13 +0000 (13:37 +0200)
commit7a7f84ccb82e542c845c43f604665ccea1247866
tree16c2e3fa60ec3e8795522c75252d9d28ad6abf70
parentf6a1906674005377b64ee5431c1418077c1b2425
drm/i915: Ignore long hpds on eDP ports

Turning vdd on/off can generate a long hpd pulse on eDP ports. In order
to handle hpd we would need to turn on vdd to perform aux transfers.
This would lead to an endless cycle of
"vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..."

So ignore long hpd pulses on eDP ports. eDP panels should be physically
tied to the machine anyway so they should not actually disappear and
thus don't need long hpd handling. Short hpds are still needed for link
re-train and whatnot so we can't just turn off the hpd interrupt
entirely for eDP ports. Perhaps we could turn it off whenever the panel
is disabled, but just ignoring the long hpd seems sufficient.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Todd Previte <tprevite@gmail.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_dp.c