Organize aux retries v3

Submitted by Rodrigo Vivi on Nov. 26, 2015, 12:03 a.m.

Details

Reviewer None
Submitted Nov. 26, 2015, 12:03 a.m.
Last Updated Nov. 26, 2015, 12:04 a.m.
Revision 1

Cover Letter(s)

Revision 1
      This new version first convert the drm_dp_aux doc to new per-member comment layout
and introduce a propper documentation for EBUSY/EAGAIN retry cases, as requested by
Daniel.

Also accept many suggestions from Jani, but mostly removes the Nacked patch and
introduce a new one to handle the missed case when killing intel_dp_dpcd_read_wake.
Ideally I believe we could and should kill that retry, but it needs to be done
in a separated patch and ideally by someone that can reproduce the old issue.

But with this series at least we have some consistency in the code and almost
all retries stay organized at drm level.

But by far the most important patch in this series for myself is
commit ("drm/i915: Fix random aux transactions failures.") who solves
the issues that I face on PSR validation on Skylake platforms.
So if the rest of the series still needs to be discussed, reworked or anything
else, please consider at least merging this patch at least that by itself
already solves my main issue.

Thank you all for all reviews, comments and test so far.

Rodrigo Vivi (9):
  drm: Improve drm_dp_aux DocBook.
  drm: Introduce EAGAIN handling for immediatelly aux retries
  drm/nouveau: Use EAGAIN instead EBUSY for aux retry.
  drm/i915: Use EAGAIN instead EBUSY for aux retry.
  drm: Wait 1ms before retrying aux transactions on EBUSY.
  drm/i915: Avoid EBUSY retry on intel_dp_aux_ch.
  drm/i915: Fix random aux transactions failures.
  drm/i915: Move dummy aux read from read_wake to aux_transfer.
  drm/i915: Kill intel_dp_dpcd_read_wake

 drivers/gpu/drm/drm_dp_helper.c                    |  18 ++-
 drivers/gpu/drm/i915/intel_dp.c                    | 141 +++++++++------------
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c   |   4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm204.c |   4 +-
 include/drm/drm_dp_helper.h                        |  69 ++++++----
 5 files changed, 126 insertions(+), 110 deletions(-)
    

Revisions

Patches download mbox

Tests

Built on 7a06d7743ef3ffa5b93bd4e528909834da8d92b6 drm-intel-nightly: 2015y-11m-25d-17h-08m-45s UTC integration manifest

Test igt@kms_pipe_crc_basic@hang-read-crc-pipe-a on snb-dellxps dmesg-warn -> pass (UNSTABLE)
Test igt@kms_flip@basic-flip-vs-modeset on skl-i5k-2 dmesg-warn -> pass

bsw-nuc-2        total:131  pass:115  dwarn:0   dfail:0   fail:0   skip:16 
hsw-gt2          total:131  pass:109  dwarn:9   dfail:10  fail:0   skip:3  
ilk-hp8440p      total:131  pass:97   dwarn:0   dfail:0   fail:0   skip:34 
ivb-t430s        total:131  pass:126  dwarn:0   dfail:0   fail:0   skip:5  
skl-i5k-2        total:131  pass:117  dwarn:10  dfail:0   fail:0   skip:4  
snb-dellxps      total:131  pass:119  dwarn:0   dfail:0   fail:0   skip:12 
snb-x220t        total:131  pass:120  dwarn:0   dfail:0   fail:1   skip:10 

CRASHED bdw-nuci7 in igt@gem_ctx_basic