From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date: Thu, 19 Mar 2015 09:44:06 +0000 (+0200)
Subject: drm/i915: Send out the full AUX address
X-Git-Tag: firefly_0821_release~176^2~1470^2~58^2~239
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d2d9cbbd224f5fc9254c9952a78bd8cfed3b96f9;p=firefly-linux-kernel-4.4.55.git

drm/i915: Send out the full AUX address

AUX addresses are 20 bits long. Send out the entire address instead of
just the low 16 bits.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 3967af10f53c..637dd5376c82 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -942,8 +942,9 @@ intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
 	size_t txsize, rxsize;
 	int ret;
 
-	txbuf[0] = msg->request << 4;
-	txbuf[1] = msg->address >> 8;
+	txbuf[0] = (msg->request << 4) |
+		((msg->address >> 16) & 0xf);
+	txbuf[1] = (msg->address >> 8) & 0xff;
 	txbuf[2] = msg->address & 0xff;
 	txbuf[3] = msg->size - 1;