Author: dumbbell
Date: Mon Apr  8 08:37:57 2013
New Revision: 249249
URL: http://svnweb.freebsd.org/changeset/base/249249

Log:
  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Ă© <[email protected]>
  Tested by:    Olivier Cochard-LabbĂ© <[email protected]>
  Reviewed by:  kib@

Modified:
  head/sys/dev/drm2/drm_dp_iic_helper.c

Modified: head/sys/dev/drm2/drm_dp_iic_helper.c
==============================================================================
--- head/sys/dev/drm2/drm_dp_iic_helper.c       Mon Apr  8 08:35:24 2013        
(r249248)
+++ head/sys/dev/drm2/drm_dp_iic_helper.c       Mon Apr  8 08:37:57 2013        
(r249249)
@@ -146,7 +146,7 @@ iic_dp_aux_xfer(device_t idev, struct ii
                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) {
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to