https://bugs.freedesktop.org/show_bug.cgi?id=41121
--- Comment #8 from Alex Deucher agd5f@yahoo.com 2011-09-29 08:01:27 PDT --- It should still be retrying, just restructured slightly. The retry logic just moved into radeon_dp_i2c_aux_ch(), radeon_dp_aux_native_write(), and radeon_dp_aux_native_read(), e.g.,
else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER) udelay(400);
Perhaps the delay is causing a problem. Does removing the udelay(400); help?