On Sun, Mar 18, 2012 at 07:22:05PM +0100, Daniel Vetter wrote:
On Sat, Mar 10, 2012 at 02:48:14AM +0800, Daniel Kurtz wrote:
This patchset addresses a couple of issues with the i915 gmbus implementation:
- fixes misassigned pin port pair for HDMI-D
- fixes write transactions when they are the only transaction requested (including large >4-byte writes) by terminating every transaction with a WAIT cycle.
- returns -ENXIO and -ETIMEDOUT as appropriate so upper layers can handled i2c transaction failures
- optimizes the typical read transaction case by using the INDEX cycle
- turns on the GMBUS interrupt whenever possible to dramatically improve throughput by eliminating the very slow polling loop.
The patchset should apply cleanly onto linus/master. It is inspired by, but completely supercedes, a similar patch submitted recently by Benson Leung (bleung@chromium.org). I'd be happy to rebase on a different tree if necessary.
v2 of the patchset address review comments from Chris Wilson (thanks for the review, Chris!), and adds the interrupt patch. There weren't any review comments for patches 5, 7, or 8 of the first set. Hopefully they will get more love the second time around :).
Oops, still catching up - I've commented on the first thread. Please resubmit on top of drm-intel-next-queued and I'll have a look. Also, please cc me so I don't miss them.
I've pushed aout a few more changes to intel_i2c.c in my drm-intel-next-queued branch. Generally I like these patches, so please rebase and resubmit.
Thanks, Daniel