drm/radeon/native: Send out the full AUX address
authorAlex Deucher <alexander.deucher@amd.com>
Mon, 31 Aug 2015 15:15:05 +0000 (11:15 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 31 Aug 2015 15:38:30 +0000 (11:38 -0400)
AUX addresses are 20 bits long. Send out the entire address instead of
just the low 16 bits.

Port of:
drm/radeon/atom: Send out the full AUX address
to radeon non-atom aux path

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_dp_auxch.c

index fcbd60bb03495740d435b7a33521ff698b171c40..3b0c229d7dcd23ffb7184ad79e2ebaa8f001cca9 100644 (file)
@@ -116,8 +116,8 @@ radeon_dp_aux_transfer_native(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg
               AUX_SW_WR_BYTES(bytes));
 
        /* write the data header into the registers */
-       /* request, addres, msg size */
-       byte = (msg->request << 4);
+       /* request, address, msg size */
+       byte = (msg->request << 4) | ((msg->address >> 16) & 0xf);
        WREG32(AUX_SW_DATA + aux_offset[instance],
               AUX_SW_DATA_MASK(byte) | AUX_SW_AUTOINCREMENT_DISABLE);