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:
parent
5e49d30e89
commit
63495f12a6
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user