linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Support multiplexed main SMBus interface on SB800
@ 2015-11-19 19:13 Christian Fetzer
  2015-11-19 19:13 ` [PATCH v5 1/3] i2c-piix4: Convert piix4_main_adapter to array Christian Fetzer
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Christian Fetzer @ 2015-11-19 19:13 UTC (permalink / raw)
  To: linux-i2c
  Cc: jarkko.nikula, andriy.shevchenko, mika.westerberg, wsa,
	galandilias, fetzer.ch

This is an attempt to upstream the patches created by Thomas Brandon and
Eddi De Pieri to support the multiplexed main SMBus interface on the SB800
chipset. (https://www.mail-archive.com/linux-i2c@vger.kernel.org/msg06757.html)

I have mainly rebased the latest patch version and tested the driver on a
HP ProLiant MicroServer G7 N54L (where this patch allows to access sensor data
from a w83795adg).

The patched driver is running stable on the machine, given that ic2_piix4 is
loaded before jc42 and w83795. If jc42 is loaded before i2c_piix4 calling
sensors triggers some errors:
    ERROR: Can't get value of subfeature temp1_min_alarm: Can't read

While the kernel log shows:
    i2c i2c-1: Transaction (pre): CNT=0c, CMD=05, ADD=31, DAT0=03, DAT1=c0
    i2c i2c-1: Error: no response!
    i2c i2c-1: Transaction (post): CNT=0c, CMD=05, ADD=31, DAT0=ff, DAT1=ff
Unfortunately I don't know how to tackle this specific issue.

Please review and let me know required changes in order to get this upstream
finally.

Eddi, Thomas, it would be great if you could verify the changes on your
machines.

Regards,
Christian

v5:
- Incorporated changes requested by Andy
    - Defines for magic numbers

v4:
- Incorporated changes requested by Andy
    - added mutex to struct i2c_piix4_adapdata
    - added flag for releasing SMBus index region to struct i2c_piix4_adapdata
        - this flag now indicates that the adapter is a sb800 main adapter
        - together with the port number it simplifies the adapter
          releasing and the first patch in v3 is no more needed
        - unfortunately patch 3 and 4 in v3 had to be combined as only
          the patch introducing multiplexing adds a separate add_adapters_sb800
          method that can be used to set the flag.
    - fixed releasing the SMBus index region in case setting up the
      adapter fails

v3:
- Incorporated changes requested by Mika and Andy
    - main adapter name set to 'main'
    - defined constant idx address
    - block comment style, joined string literals, reworked for loops
      into while loops

v2:
- Incorporated changes requested by Mika
    - remove adapter in reverse order
    - ERROR label
    - request base address index region only once

Christian Fetzer (3):
  i2c-piix4: Convert piix4_main_adapter to array
  i2c-piix4: Add support for multiplexed main adapter in SB800
  i2c-piix4: Add adapter port name support for SB800 chipset

 drivers/i2c/busses/i2c-piix4.c | 198 +++++++++++++++++++++++++++++++++++------
 1 file changed, 169 insertions(+), 29 deletions(-)

-- 
1.9.1

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

end of thread, other threads:[~2016-01-25 21:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-19 19:13 [PATCH v5 0/3] Support multiplexed main SMBus interface on SB800 Christian Fetzer
2015-11-19 19:13 ` [PATCH v5 1/3] i2c-piix4: Convert piix4_main_adapter to array Christian Fetzer
2015-11-19 19:13 ` [PATCH v5 2/3] i2c-piix4: Add support for multiplexed main adapter in SB800 Christian Fetzer
2015-11-19 19:13 ` [PATCH v5 3/3] i2c-piix4: Add adapter port name support for SB800 chipset Christian Fetzer
2016-01-22 13:20   ` Jean Delvare
2015-11-30 13:37 ` [PATCH v5 0/3] Support multiplexed main SMBus interface on SB800 Wolfram Sang
2016-01-22 12:50 ` Jean Delvare
2016-01-23 13:47   ` fetzerch
2016-01-24  9:16     ` Jean Delvare
2016-01-24 12:07       ` Rudolf Marek
2016-01-25 11:13     ` Jean Delvare
2016-01-25 21:53       ` Christian Fetzer

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).