linux/drivers/i2c/busses
Valentin Longchamp a1ee06b729 i2c: mxc: let time to generate stop bit
After generating the stop bit by changing MSTA from 1 to 0,
the i2c_imx->stopped was immediatly set to 1. The second test
on i2c_imx->stopped then is correct and the controller never
waits if the bus is busy. This patch corrects this.

On mx31moboard, stop bit was not generated on single write transfers.
This was kept unnoticed as other transfers are made afterwards that
help the write recipient to resynchronize.

Thanks to Philippe and Michael for the debugging.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Reported-by: Michael Bonani <michael.bonani@epfl.ch>
Acked-by; Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-24 15:25:56 +00:00
..
i2c-acorn.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
i2c-ali15x3.c i2c: Add missing __devinit markers to old i2c adapter drivers 2009-12-06 17:06:23 +01:00
i2c-ali1535.c i2c: Add missing __devinit markers to old i2c adapter drivers 2009-12-06 17:06:23 +01:00
i2c-ali1563.c i2c-ali1563: Remove sparse warnings 2010-01-16 20:43:13 +01:00
i2c-amd756-s4882.c
i2c-amd756.c i2c: Hide probe errors caused by ACPI resource conflicts 2009-10-04 22:53:45 +02:00
i2c-amd8111.c i2c: Hide probe errors caused by ACPI resource conflicts 2009-10-04 22:53:45 +02:00
i2c-at91.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-au1550.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-bfin-twi.c i2c-bfin-twi: fix CLKDIV calculation 2009-12-24 01:24:48 +00:00
i2c-cpm.c i2c: Fix stuck transaction on cpm-i2c driver 2009-06-22 01:43:32 +01:00
i2c-davinci.c i2c: Use resource_size 2009-07-15 00:03:56 +01:00
i2c-designware.c i2c-designware: i2c_dw_handle_tx_abort: Use dev_dbg() for NOACK cases 2009-12-09 00:19:13 +00:00
i2c-elektor.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-gpio.c
i2c-highlander.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-hydra.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-i801.c i2c-i801: Retry on lost arbitration 2009-12-06 17:06:27 +01:00
i2c-ibm_iic.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
i2c-ibm_iic.h
i2c-imx.c i2c: mxc: let time to generate stop bit 2010-01-24 15:25:56 +00:00
i2c-iop3xx.c i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR 2009-12-06 17:06:22 +01:00
i2c-iop3xx.h
i2c-isch.c i2c: Hide probe errors caused by ACPI resource conflicts 2009-10-04 22:53:45 +02:00
i2c-ixp2000.c i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent 2009-02-24 19:19:49 +01:00
i2c-mpc.c i2c-mpc: Do not generate STOP after read. 2009-11-02 23:28:47 +00:00
i2c-mv64xxx.c i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR 2009-12-06 17:06:22 +01:00
i2c-nforce2-s4985.c
i2c-nforce2.c i2c: Timeouts off by 1 2009-05-05 08:39:24 +02:00
i2c-ocores.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-omap.c i2c-omap: OMAP3: Fix I2C lockup during timeout/error cases 2009-12-24 01:30:54 +00:00
i2c-parport-light.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-parport.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c i2c/pca: Don't use *_interruptible 2010-01-16 20:43:13 +01:00
i2c-pca-platform.c i2c/pca: Don't use *_interruptible 2010-01-16 20:43:13 +01:00
i2c-piix4.c i2c: Test off by one in {piix4,vt596}_transaction() 2010-01-16 20:43:12 +01:00
i2c-pmcmsp.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-pnx.c i2c-pnx: Map I2C adapter number to platform ID number 2009-12-09 00:19:13 +00:00
i2c-powermac.c i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR 2009-12-06 17:06:22 +01:00
i2c-pxa.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
i2c-s3c2410.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
i2c-s6000.c i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-s6000.h i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-scmi.c ACPICA: Add post-order callback to acpi_walk_namespace 2009-11-24 21:31:10 -05:00
i2c-sh7760.c sh: clkfwk: module_clk -> peripheral_clk rename. 2009-05-13 16:59:40 +09:00
i2c-sh_mobile.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
i2c-sibyte.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-simtec.c i2c: Use resource_size 2009-07-15 00:03:56 +01:00
i2c-sis96x.c i2c: Hide probe errors caused by ACPI resource conflicts 2009-10-04 22:53:45 +02:00
i2c-sis630.c i2c: Add missing __devinit markers to old i2c adapter drivers 2009-12-06 17:06:23 +01:00
i2c-sis5595.c i2c: Add missing __devinit markers to old i2c adapter drivers 2009-12-06 17:06:23 +01:00
i2c-stu300.c i2c-stu300: I2C STU300 stability updates 2009-08-20 22:27:58 +01:00
i2c-stub.c i2c-stub: Allow user to disable some commands 2009-12-06 17:06:29 +01:00
i2c-taos-evm.c i2c-taos-evm: Switch echo off to improve performance 2009-09-18 22:45:43 +02:00
i2c-tiny-usb.c
i2c-versatile.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-via.c i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
i2c-viapro.c i2c: Test off by one in {piix4,vt596}_transaction() 2010-01-16 20:43:12 +01:00
Kconfig i2c-voodoo3: Delete 2009-12-06 17:06:21 +01:00
Makefile i2c-voodoo3: Delete 2009-12-06 17:06:21 +01:00
scx200_acb.c i2c/scx200_acb: Provide more information on bus errors 2009-09-18 22:45:47 +02:00
scx200_i2c.c i2c: Make sure i2c_algo_bit_data.timeout is HZ-independent 2009-02-24 19:19:49 +01:00