Page MenuHomeFreeBSD

Forward I2C transfers to the correct device when falling back to GPIO bitbanging.
ClosedPublic

Authored by jhb on Dec 16 2015, 11:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 26, 1:26 AM
Unknown Object (File)
Thu, Dec 19, 2:19 AM
Unknown Object (File)
Fri, Dec 6, 11:30 PM
Unknown Object (File)
Nov 24 2024, 1:16 AM
Unknown Object (File)
Nov 13 2024, 1:31 PM
Unknown Object (File)
Oct 15 2024, 8:31 AM
Unknown Object (File)
Oct 15 2024, 8:31 AM
Unknown Object (File)
Oct 15 2024, 8:08 AM
Subscribers

Details

Summary

It seems certain Intel GPUs use GPIO bitbanging over a child device
instead of GMBUS access for I2C transfers. The GMBUS driver falls back
to this mode when a transfer times out. However, the first transfer to
timeout was sending the request back to itself resulting in an panic due
to recursing on a lock. Fix it to forward the request on to the proper
device. This appears to have been accidentally changed in r277487.

Test Plan
  • Try to use drm on an affected GPU. Was tested by Joe Maloney <jmaloney@pcbsd.org> in a thread on current@.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 1699
Build 1705: arc lint + arc unit

Event Timeline

jhb retitled this revision from to Forward I2C transfers to the correct device when falling back to GPIO bitbanging..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: dumbbell.
imp added a reviewer: imp.
This revision is now accepted and ready to land.Dec 16 2015, 11:25 PM
adrian added a reviewer: adrian.
dumbbell edited edge metadata.
This revision was automatically updated to reflect the committed changes.