linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
To: lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>,
	Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
Cc: James Ralston
	<james.d.ralston-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Subject: [PATCH v4 0/2] iMC SMBUS and DIMM bus probing
Date: Thu, 18 Jul 2013 11:36:52 -0700	[thread overview]
Message-ID: <cover.1374171757.git.luto@amacapital.net> (raw)

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.
With this series applied, sensors shows (on the Xeon E5):

jc42-i2c-1-18
Adapter: iMC socket 0 channel 0
temp1:        +33.0°C  (low  =  +0.0°C)                  ALARM (HIGH)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit = +100.0°C, hyst = +100.0°C)

jc42-i2c-1-1c
Adapter: iMC socket 0 channel 0
temp1:        +35.2°C  (low  =  +0.0°C)                  ALARM (HIGH)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit = +100.0°C, hyst = +100.0°C)

jc42-i2c-3-18
Adapter: iMC socket 1 channel 0
temp1:        +27.0°C  (low  =  +0.0°C)                  ALARM (HIGH)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit = +100.0°C, hyst = +100.0°C)

jc42-i2c-3-1c
Adapter: iMC socket 1 channel 0
temp1:        +33.2°C  (low  =  +0.0°C)                  ALARM (HIGH)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit = +100.0°C, hyst = +100.0°C)

with no need for any userspace probing or manual module loading.
decode-dimms works on both machines, again without any manual module
loading.

The whole series is available on git here (against v3.9.7):
https://git.kernel.org/cgit/linux/kernel/git/luto/linux.git/log/?h=i2c_imc/patch_v4

I'm not entirely attached the to the probing approach in patch 1 -- see
comments there.

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

Andy Lutomirski (2):
  i2c: Add DIMM bus code
  i2c_imc: New driver for Intel's iMC, found on LGA2011 chips

 drivers/i2c/busses/Kconfig    |  19 ++
 drivers/i2c/busses/Makefile   |   5 +
 drivers/i2c/busses/dimm-bus.c |  97 ++++++++
 drivers/i2c/busses/i2c-imc.c  | 548 ++++++++++++++++++++++++++++++++++++++++++
 include/linux/i2c/dimm-bus.h  |  24 ++
 5 files changed, 693 insertions(+)
 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

-- 
1.8.1.4

             reply	other threads:[~2013-07-18 18:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-18 18:36 Andy Lutomirski [this message]
     [not found] ` <cover.1374171757.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2013-07-18 18:36   ` [PATCH v4 1/2] i2c: Add DIMM bus code Andy Lutomirski
2013-07-18 18:36   ` [PATCH v4 2/2] i2c_imc: New driver for Intel's iMC, found on LGA2011 chips Andy Lutomirski
     [not found]     ` <c4bb014e8793e8d0059ecf5633f01ab9e15409d2.1374171757.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2013-07-18 21:33       ` Guenter Roeck
     [not found]         ` <20130718213331.GA6237-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-07-18 21:37           ` Andy Lutomirski
     [not found]             ` <CALCETrUUkSenOD1KS7rrVV1czjhTJ-c1sFebrDygcCB+5Y2upA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-18 22:40               ` Guenter Roeck
     [not found]                 ` <20130718224008.GA7314-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-07-29 20:32                   ` Andy Lutomirski
2013-08-15 12:50   ` [PATCH v4 0/2] iMC SMBUS and DIMM bus probing Wolfram Sang
2013-08-23  0:30     ` Andy Lutomirski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1374171757.git.luto@amacapital.net \
    --to=luto-klttt9wpgjjwatoyat5jvq@public.gmane.org \
    --cc=james.d.ralston-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).