]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: piix4: Disable completely the IMC during SMBUS_BLOCK_DATA
authorRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Tue, 10 Oct 2017 16:11:15 +0000 (18:11 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 13 Oct 2017 19:05:56 +0000 (21:05 +0200)
commita87e877828c15c5dd402ff5f79c10900626ee25d
tree21e4be535e1e55bb18b5d2f6b0195f6b917277a6
parentbb3e4e9425624c5d3ebed422f6aa5dbe0e6d5f0f
i2c: piix4: Disable completely the IMC during SMBUS_BLOCK_DATA

SMBUS_BLOCK_DATA transactions might fail due to a race condition with
the IMC (Integrated Micro Controller), even when the IMC semaphore
is used.

This bug has been reported and confirmed by AMD, who suggested as a
solution an IMC firmware upgrade (obtained via BIOS update) and
disabling the IMC during SMBUS_BLOCK_DATA transactions.

Even without the IMC upgrade, the SMBUS is much more stable with this
patch.

Tested on a Bettong-alike board.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-piix4.c