• Anshuman Gupta's avatar
    drm/i915/edp: Ignore short pulse when panel powered off · 13ea6db2
    Anshuman Gupta authored
    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: default avatarAnshuman Gupta <anshuman.gupta@intel.com>
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200318081837.23983-1-anshuman.gupta@intel.com
    13ea6db2
intel_dp.c 231 KB