Skip to content

iMC SMBUS driver and DIMM bus probing

Andy Lutomirski linux-i2c lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest4 patches 15 repliesIn review
  2. v54 patches 1 replySuperseded

Changes in v6 from the cover letter

- Rebase to a6ddeee32dad (i.e. -linus from today) and re-test

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4Move Intel SNB device ids from sb_edac to pci_ids.hdrivers/edac/sb_edac.c include/linux/pci_ids.h+15 -300 replies
2/4sb_edac: Claim a different PCI devicedrivers/edac/sb_edac.c+1 -10 replies
3/4i2c_imc: New driver for Intel's iMC, found on LGA2011 chipsdrivers/i2c/busses/Kconfig drivers/i2c/busses/Makefile drivers/i2c/busses/i2c-imc.c+575 -02 replies
4/4i2c, i2c_imc: Add DIMM bus codedrivers/i2c/busses/Kconfig drivers/i2c/busses/Makefile drivers/i2c/busses/dimm-bus.c +2 more+132 -013 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v6 yet.

Read the v6 thread

Cover letter [PATCH v6 0/4] iMC SMBUS driver and DIMM bus probing

Intel LGA2011 machines have dedicated SMBUS controllers for DIMM sockets. Because they're dedicated, they can be safely and accurately probed, since all devices on them are known to be attached to DIMMs. The devices found are:
- SPD EEPROMs
- TSODs (Temperature Sensor on DIMMs)
- Other interesting things, with drivers hopefully to follow...

This patch series adds a simple generic layer for probing for DIMMs over SMBUS and an i2c bus driver for the iMC controller found on Intel LGA2011 chips.

It now uses only modern infrastructure -- new-style I2C probing and the at24 (instead of eeprom) driver.

I've tested this on a Core i7 Extreme and on a Xeon E5 server. I haven't tested it on an LGA2011 Ivy Bridge box, since I don't have one.

Patches 1-3 are useful even without patch 4. I'm still hoping for feedback on patch 4.

Changes from v5:
- Rebase to a6ddeee32dad (i.e. -linus from today) and re-test

Changes from v4:
- Added the sb_edac changes -- i2c_imc and sb_edac can now coexist
- Added some paranoid race detection.
- The driver now confirms its ability to claim software control of the SMBUS master. This prevents unpleasant problems on systems that enable CLTT (closed loop thermal throttling).
- Reordered the patches so that the DIMM bus code is last.

Changes from v3:
- Dropped redundant "tsod" driver
- Dropped eeprom modalias
- Switched to probing for the "eeprom" and "jc42"

Andy Lutomirski (4):
Move Intel SNB device ids from sb_edac to pci_ids.h
sb_edac: Claim a different PCI device
i2c_imc: New driver for Intel's iMC, found on LGA2011 chips i2c, i2c_imc: Add DIMM bus code

 drivers/edac/sb_edac.c        |  32 +--
 drivers/i2c/busses/Kconfig    |  19 ++
 drivers/i2c/busses/Makefile   |   5 +
 drivers/i2c/busses/dimm-bus.c |  97 ++++++++
 drivers/i2c/busses/i2c-imc.c  | 562 ++++++++++++++++++++++++++++++++++++++++++
 include/linux/i2c/dimm-bus.h  |  24 ++
 include/linux/pci_ids.h       |  15 ++
 7 files changed, 723 insertions(+), 31 deletions(-)
 create mode 100644 drivers/i2c/busses/dimm-bus.c
 create mode 100644 drivers/i2c/busses/i2c-imc.c
 create mode 100644 include/linux/i2c/dimm-bus.h
Signature · 1 line
1.8.3.1