]> 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)
commitcc0bc6f20623d5eb755a67569defb1af14b1e756
tree21e4be535e1e55bb18b5d2f6b0195f6b917277a6
parent3081cb6300b4560f300204b21fe1d09b795ef32e
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