The goal of this series is to remove many different retries we have for aux communication and offload them to drm.
However on first attempt I was only returning EBUSY to use drm retries but there was no waiting there. So this series also introduce a new approach on drm level to retry on aux communication failures: 1 - EAGAIN: Immediatelly retry since HW might already taken care of the needed waitings. 2 - EBUSY: Something is probably busy and we are not getting what we expected so wait 1ms before trying again so we give time to aux channels to recover. Thanks, Rodrigo. Rodrigo Vivi (8): 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: Remove remaining retries from intel_dp_aux_ch. drm/i915: Fix random aux transactions failures. drm/i915: Kill intel_dp_dpcd_read_wake drivers/gpu/drm/drm_dp_helper.c | 9 +- drivers/gpu/drm/i915/intel_dp.c | 192 +++++++++------------ drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm204.c | 4 +- 4 files changed, 93 insertions(+), 116 deletions(-) -- 2.4.3