linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] Request for help: Intel iMC (SNB Xeon) SMBUS driver
@ 2013-07-01 23:30 Andy Lutomirski
       [not found] ` <cover.1372720609.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Lutomirski @ 2013-07-01 23:30 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Rui Wang, Chen Gong, Mauro Carvalho Chehab, Andy Lutomirski

This adds support for the Intel iMC SMBUS controller.  It has some issues:

 - I haven't implemented bus/controller reset.  It's not entirely clear
   when a reset is appropriate.

 - This thing should really enumerate attached TSODs, but I'm not
   personally inclined to write a TSOD driver.

 - Ideally, the driver would encode enough information about the devices
   hanging off the bus that they could be automatically correlated with
   EDAC / DMI data.  I don't know how the I2C subsystem is supposed to
   handle this kind of use, though.

 - Writes are untested.  I don't currently have anything writable to
   test.

 - I'm not sure how the polling loops should work.  Any advice?  This
   device has no interrupt.

 - More importantly: It works fine on my Core i7 Extreme box, but it
   occasionally (1% of the time?) screws up on my E5-2690.  The error
   manifests itself as an incorrect byte read from the SPD that seems to
   take on one of two values that depend on the address being read.
   Adding a few ms delay after claiming the bus makes no difference.
   Telling the hardware that there are no TSODs attached does nothing
   either, and the error does not seem to line up with any particular
   value of the poll countdown.  Any Intel people or people with more
   experience have any ideas?

Amazingly, both of my machines with an iMC controller have writes enabled.
That might be because the write disable interface is sufficiently awkward
that BIOS doesn't bother.  Writing is tested and works (and now one of my
DIMMs' SPDs has burned through a few write cycles).

Andy Lutomirski (2):
  i2c: Allow SPD probing with READ_BYTE_DATA and improve logging
  i2c_imc: New driver for Intel's iMC, found on LGA2011 chips

 drivers/i2c/busses/Kconfig   |  14 ++
 drivers/i2c/busses/Makefile  |   1 +
 drivers/i2c/busses/i2c-imc.c | 462 +++++++++++++++++++++++++++++++++++++++++++
 drivers/i2c/i2c-core.c       |   7 +-
 4 files changed, 483 insertions(+), 1 deletion(-)
 create mode 100644 drivers/i2c/busses/i2c-imc.c

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-07-10 20:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-01 23:30 [RFC 0/2] Request for help: Intel iMC (SNB Xeon) SMBUS driver Andy Lutomirski
     [not found] ` <cover.1372720609.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2013-07-01 23:30   ` [RFC 1/2] i2c: Allow SPD probing with READ_BYTE_DATA and improve logging Andy Lutomirski
2013-07-01 23:30   ` [RFC 2/2] i2c_imc: New driver for Intel's iMC, found on LGA2011 chips Andy Lutomirski
     [not found]     ` <45434aaebb447142e78e17b437c7dc51ee48ecd8.1372720609.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2013-07-10 20:41       ` Andy Lutomirski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).