]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: piix4: Add support for multiplexed main adapter in SB800
authorChristian Fetzer <fetzer.ch@gmail.com>
Thu, 19 Nov 2015 19:13:48 +0000 (20:13 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 30 Nov 2015 13:36:25 +0000 (14:36 +0100)
commit2b701c380a53051402ab0aa79feda732b72a946d
treed4cc17f9b1f10caf71a2297b4a143f91b5015145
parentb65af94483b7fffd4b19383372187b145ceadaa9
i2c: piix4: Add support for multiplexed main adapter in SB800

The SB800 chipset supports a multiplexed main SMBus controller with
four ports. The multiplexed ports share the same SMBus address and
register set. The port is selected by bits 2:1 of the smb_en register
(0x2C).

Only one port can be active at any point in time therefore a mutex is
needed in order to synchronize access.

Additionally, the commit avoids requesting and releasing the SMBus base
address index region on every multiplexed transfer by moving the
request_region call into piix4_probe.

Tested on HP ProLiant MicroServer G7 N54L (where this patch adds
support to access sensor data from the w83795adg).

Cc: Thomas Brandon <tbrandonau@gmail.com>
Cc: Eddi De Pieri <eddi@depieri.net>
Signed-off-by: Christian Fetzer <fetzer.ch@gmail.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-piix4.c