Skip to contentSkip to conversation

Patch "drm/i915/hsw: Fix workaround for server AUX channel clock divisor" has been added to the 3.14-stable tree

PATCH [email protected] 1 participant 1 message Jun 19, 2015

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

drm/i915/hsw: Fix workaround for server AUX channel clock divisor

to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
drm-i915-hsw-fix-workaround-for-server-aux-channel-clock-divisor.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From e058c945e03a629c99606452a6931f632dd28903 Mon Sep 17 00:00:00 2001

From: Jim Bride <[email protected]>
Date: Wed, 27 May 2015 10:21:48 -0700
Subject: drm/i915/hsw: Fix workaround for server AUX channel clock divisor

From: Jim Bride <[email protected]>

commit e058c945e03a629c99606452a6931f632dd28903 upstream.

According to the HSW b-spec we need to try clock divisors of 63 and 72, each 3 or more times, when attempting DP AUX channel communication on a server chipset. This actually wasn't happening due to a short-circuit that only checked the DP_AUX_CH_CTL_DONE bit in status rather than checking that the operation was done and that DP_AUX_CH_CTL_TIME_OUT_ERROR was not set.

[v2] Implemented alternate solution suggested by Jani Nikula.

---
 drivers/gpu/drm/i915/intel_dp.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/gpu/drm/i915/intel_dp.c +2 -3
@@ -481,10 +481,8 @@ intel_dp_aux_ch(struct intel_dp *intel_d
 				      DP_AUX_CH_CTL_RECEIVE_ERROR))
 				continue;
 			if (status & DP_AUX_CH_CTL_DONE)
-				break;
+				goto done;
 		}
-		if (status & DP_AUX_CH_CTL_DONE)
-			break;
 	}
 
 	if ((status & DP_AUX_CH_CTL_DONE) == 0) {
@@ -493,6 +491,7 @@ intel_dp_aux_ch(struct intel_dp *intel_d
 		goto out;
 	}
 
+done:
 	/* Check for timeout or receive error.
 	 * Timeouts occur when the sink is not connected
 	 */

Patches currently in stable-queue which might be from [email protected] are

queue-3.14/drm-i915-hsw-fix-workaround-for-server-aux-channel-clock-divisor.patch queue-3.14/drm-i915-fix-ddc-probe-for-passive-adapters.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in