lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 00/10 v2] fix gmbus writes and related issues
Date
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 :).


Daniel Kurtz (10):
drm/i915/intel_i2c: cleanup
drm/i915/intel_i2c: assign HDMI port D to pin pair 6
drm/i915/intel_i2c: refactor using intel_gmbus_get_adapter
drm/i915/intel_i2c: cleanup gmbus/gpio pin assignments
drm/i915/intel_i2c: add locking around i2c algorithm accesses
drm/i915/intel_i2c: return -ENXIO for device NAK
drm/i915/intel_i2c: use WAIT cycle, not STOP
drm/i915/intel_i2c: use INDEX cycles for i2c read transactions
drm/i915/intel_i2c: reuse GMBUS2 value read in polling loop
drm/i915/intel_i2c: enable gmbus interrupts

drivers/gpu/drm/i915/i915_drv.h | 7 +-
drivers/gpu/drm/i915/i915_irq.c | 22 +++-
drivers/gpu/drm/i915/i915_reg.h | 6 +-
drivers/gpu/drm/i915/intel_bios.c | 11 +-
drivers/gpu/drm/i915/intel_crt.c | 13 +-
drivers/gpu/drm/i915/intel_drv.h | 9 ++-
drivers/gpu/drm/i915/intel_dvo.c | 4 +-
drivers/gpu/drm/i915/intel_hdmi.c | 29 ++---
drivers/gpu/drm/i915/intel_i2c.c | 236 ++++++++++++++++++++++++++++--------
drivers/gpu/drm/i915/intel_lvds.c | 3 +-
drivers/gpu/drm/i915/intel_modes.c | 6 +-
drivers/gpu/drm/i915/intel_sdvo.c | 10 +-
12 files changed, 257 insertions(+), 99 deletions(-)

--
1.7.7.3



\
 
 \ /
  Last update: 2012-03-09 19:57    [W:0.075 / U:1.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site