drm: Right-shift I2C slave address before passing it to aux channel

In r249041, I2C slave addresses were left-shifted at creation time to
have the same behavior between i915 and radeon (not committed yet). This
change broke the aux channel. The user-visible change was that display
port on i915 didn't work anymore.

To fix this, we right-shift the address back to restore the original value.

Reported by:	Olivier Cochard-Labbé <olivier@cochard.me>
Tested by:	Olivier Cochard-Labbé <olivier@cochard.me>
Reviewed by:	kib@
This commit is contained in:
Jean-Sébastien Pédron 2013-04-08 08:37:57 +00:00
parent 5e49d30e89
commit 63495f12a6

View File

@ -146,7 +146,7 @@ iic_dp_aux_xfer(device_t idev, struct iic_msg *msgs, uint32_t num)
len = msgs[m].len;
buf = msgs[m].buf;
reading = (msgs[m].flags & IIC_M_RD) != 0;
ret = iic_dp_aux_address(idev, msgs[m].slave, reading);
ret = iic_dp_aux_address(idev, msgs[m].slave >> 1, reading);
if (ret != 0)
break;
if (reading) {