drm/i915/edp: Ignore short pulse when panel powered off
authorAnshuman Gupta <anshuman.gupta@intel.com>
Wed, 18 Mar 2020 08:18:37 +0000 (13:48 +0530)
committerUma Shankar <uma.shankar@intel.com>
Mon, 23 Mar 2020 08:59:44 +0000 (14:29 +0530)
commit13ea6db2cf24a797ac8c9922e3079fcb897fd32c
treea90ca4c9c28f187789b8b6f9f55535f518ff8f0e
parent043cd2d14edec8c09ddfdea07a1604e78526c897
drm/i915/edp: Ignore short pulse when panel powered off

Few edp panels like Sharp is triggering short and long
hpd pulse after panel is getting powered off.
Currently driver is already ignoring long pulse for eDP
panel but in order to process the short pulse, it turns on
the VDD which requires panel power_cycle_delay + panel_power_on_delay
these delay on Sharp panel introduced the responsiveness overhead
of 800ms in the modeset sequence and as well is in suspend
sequence.
Ignoring any short pulse if panel is powered off.

FIXME: It requires to wait for panel_power_off delay in order
to check the panel power status due to pps_lock because panel triggers
short pulse immediately after writing PP_OFF to PP_CTRL register and
wait_panel_off waits for panel_power_off delay with pps_lock held.
This still creates responsiveness overhead of panel_power_off delay.

v2:
- checking vdd along with panel power to ignore the hpd. [Jani,Ville]
v3:
- safer side check to ignore the long hpd when eDP have power,
  adding type of hpd to debug log. [Jani]

Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200318081837.23983-1-anshuman.gupta@intel.com
drivers/gpu/drm/i915/display/intel_dp.c