|
@@ -196,6 +196,10 @@ static int drm_dp_dpcd_access(struct drm_dp_aux *aux, u8 request,
|
|
* sufficient, bump to 32 which makes Dell 4k monitors happier.
|
|
* sufficient, bump to 32 which makes Dell 4k monitors happier.
|
|
*/
|
|
*/
|
|
for (retry = 0; retry < 32; retry++) {
|
|
for (retry = 0; retry < 32; retry++) {
|
|
|
|
+ if (err != 0 && err != -ETIMEDOUT) {
|
|
|
|
+ usleep_range(AUX_RETRY_INTERVAL,
|
|
|
|
+ AUX_RETRY_INTERVAL + 100);
|
|
|
|
+ }
|
|
|
|
|
|
err = aux->transfer(aux, &msg);
|
|
err = aux->transfer(aux, &msg);
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
@@ -205,7 +209,6 @@ static int drm_dp_dpcd_access(struct drm_dp_aux *aux, u8 request,
|
|
goto unlock;
|
|
goto unlock;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
switch (msg.reply & DP_AUX_NATIVE_REPLY_MASK) {
|
|
switch (msg.reply & DP_AUX_NATIVE_REPLY_MASK) {
|
|
case DP_AUX_NATIVE_REPLY_ACK:
|
|
case DP_AUX_NATIVE_REPLY_ACK:
|
|
if (err < size)
|
|
if (err < size)
|
|
@@ -215,10 +218,6 @@ static int drm_dp_dpcd_access(struct drm_dp_aux *aux, u8 request,
|
|
case DP_AUX_NATIVE_REPLY_NACK:
|
|
case DP_AUX_NATIVE_REPLY_NACK:
|
|
err = -EIO;
|
|
err = -EIO;
|
|
goto unlock;
|
|
goto unlock;
|
|
-
|
|
|
|
- case DP_AUX_NATIVE_REPLY_DEFER:
|
|
|
|
- usleep_range(AUX_RETRY_INTERVAL, AUX_RETRY_INTERVAL + 100);
|
|
|
|
- break;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|