• Todd Previte's avatar
    drm/i915: Add a delay in Displayport AUX transactions for compliance testing · 74ebf294
    Todd Previte authored
    The Displayport Link Layer Compliance Testing Specification 1.2 rev 1.1
    specifies that repeated AUX transactions after a failure (no response /
    invalid response) must have a minimum delay of 400us before the resend can
    occur. Tests 4.2.1.1 and 4.2.1.2 are two tests that require this specifically.
    
    Also, the check for DP_AUX_CH_CTL_TIME_OUT_ERROR has been moved out into a
    separate case. This case just continues with the next iteration of the loop
    as the HW has already waited the required amount of time.
    
    V2:
    - Changed udelay() to usleep_range()
    V3:
    - Removed extraneous check for timeout
    - Updated comment to reflect this change
    V4:
    - Reformatted a comment
    V5:
    - Added separate check for HW timeout on AUX transactions. A message
      is logged upon detection of this case.
    V6:
    - Add continue statement to HW timeout detect case
    - Remove the log message indicating a timeout has been
      detected (review feedback)
    V7:
    - Updated the commit message to remove verbage about the HW timeout
      case that is no longer valid.
    Signed-off-by: default avatarTodd Previte <tprevite@gmail.com>
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    74ebf294
intel_dp.c 163 KB