summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm2
diff options
context:
space:
mode:
authordumbbell <dumbbell@FreeBSD.org>2013-04-08 08:37:57 +0000
committerdumbbell <dumbbell@FreeBSD.org>2013-04-08 08:37:57 +0000
commitc430659646000b47cbf7136b62c561219abc371a (patch)
tree39e8efebb73b9b9263085d98ebb0c3d93fda78b8 /sys/dev/drm2
parente2882f43063137c60b8a5eb26c5146b4a352cb1c (diff)
downloadFreeBSD-src-c430659646000b47cbf7136b62c561219abc371a.zip
FreeBSD-src-c430659646000b47cbf7136b62c561219abc371a.tar.gz
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@
Diffstat (limited to 'sys/dev/drm2')
-rw-r--r--sys/dev/drm2/drm_dp_iic_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/drm2/drm_dp_iic_helper.c b/sys/dev/drm2/drm_dp_iic_helper.c
index 6d54170..71319e3 100644
--- a/sys/dev/drm2/drm_dp_iic_helper.c
+++ b/sys/dev/drm2/drm_dp_iic_helper.c
@@ -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) {
OpenPOWER on IntegriCloud