The patch titled Fix AMD MIPS Alchemy au1550 I2C interface has been added to the -mm tree. Its filename is fix-amd-mips-alchemy-au1550-i2c-interface.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Fix AMD MIPS Alchemy au1550 I2C interface From: "Chris David" <cd@xxxxxxxxxxxxxx> Fix a problem on the AMD MIPS Alchemy au1550 I2C interface. The PSC (programmable serial controller) seem to 'hang' when I sent only an 'address' byte on the I2C bus. The patch essentially uses the PSC_SMBSTAT register's TE (transmit FIFO empty) bit to check when the transmit FIFO is empty, instead of using the PSC_SMBEVNT register's TU (transmit underflow) bit. Using the TE bit fixed the hang problem. Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Domen Puncer <domen.puncer@xxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Jordan Crouse <jordan.crouse@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/i2c/busses/i2c-au1550.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff -puN drivers/i2c/busses/i2c-au1550.c~fix-amd-mips-alchemy-au1550-i2c-interface drivers/i2c/busses/i2c-au1550.c --- a/drivers/i2c/busses/i2c-au1550.c~fix-amd-mips-alchemy-au1550-i2c-interface +++ a/drivers/i2c/busses/i2c-au1550.c @@ -48,17 +48,14 @@ wait_xfer_done(struct i2c_au1550_data *a sp = (volatile psc_smb_t *)(adap->psc_base); - /* Wait for Tx FIFO Underflow. + /* Wait for Tx Buffer Empty */ for (i = 0; i < adap->xfer_timeout; i++) { - stat = sp->psc_smbevnt; + stat = sp->psc_smbstat; au_sync(); - if ((stat & PSC_SMBEVNT_TU) != 0) { - /* Clear it. */ - sp->psc_smbevnt = PSC_SMBEVNT_TU; - au_sync(); + if ((stat & PSC_SMBSTAT_TE) != 0) return 0; - } + udelay(1); } _ Patches currently in -mm which might be from cd@xxxxxxxxxxxxxx are fix-amd-mips-alchemy-au1550-i2c-interface.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html