kernel_optimize_test/drivers/i2c/busses
Alexander Kochetkov ccfc866356 i2c: omap: fix i207 errata handling
commit 6d9939f651 (i2c: omap: split out [XR]DR
and [XR]RDY) changed the way how errata i207 (I2C: RDR Flag May Be Incorrectly
Set) get handled. 6d9939f651 code doesn't correspond to workaround provided by
errata.

According to errata ISR must filter out spurious RDR before data read not after.
ISR must read RXSTAT to get number of bytes available to read. Because RDR
could be set while there could no data in the receive FIFO.

Restored pre 6d9939f651 way of handling errata.

Found by code review. Real impact haven't seen.
Tested on Beagleboard XM C.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Fixes: 6d9939f651 i2c: omap: split out [XR]DR and [XR]RDY
Tested-by: Felipe Balbi <balbi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-11-22 22:07:40 +01:00
..
i2c-acorn.c
i2c-ali15x3.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1535.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1563.c
i2c-amd756-s4882.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd756.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd8111.c
i2c-at91.c i2c: at91: don't account as iowait 2014-11-07 18:56:31 +01:00
i2c-au1550.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-axxia.c
i2c-bcm2835.c
i2c-bcm-kona.c
i2c-bfin-twi.c
i2c-cadence.c
i2c-cbus-gpio.c
i2c-cpm.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-cros-ec-tunnel.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-10-19 12:50:44 -07:00
i2c-davinci.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-designware-core.c i2c: designware: prevent early stop on TX FIFO empty 2014-11-21 08:06:32 +01:00
i2c-designware-core.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-designware-pcidrv.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-designware-platdrv.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-diolan-u2c.c
i2c-efm32.c
i2c-eg20t.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-elektor.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-exynos5.c
i2c-gpio.c
i2c-highlander.c
i2c-hix5hd2.c i2c: hix5hd2: add i2c controller driver 2014-10-16 09:14:17 +02:00
i2c-hydra.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-i801.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ibm_iic.c
i2c-ibm_iic.h
i2c-imx.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-iop3xx.c
i2c-iop3xx.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-isch.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ismt.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-kempld.c
i2c-mpc.c
i2c-mv64xxx.c
i2c-mxs.c
i2c-nforce2-s4985.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nforce2.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nomadik.c
i2c-ocores.c
i2c-octeon.c
i2c-omap.c i2c: omap: fix i207 errata handling 2014-11-22 22:07:40 +01:00
i2c-parport-light.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-parport.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-parport.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pasemi.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-isa.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-platform.c
i2c-piix4.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pmcmsp.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pnx.c
i2c-powermac.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-puv3.c
i2c-pxa-pci.c
i2c-pxa.c
i2c-qup.c
i2c-rcar.c
i2c-riic.c
i2c-rk3x.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-10-19 12:50:44 -07:00
i2c-robotfuzz-osif.c
i2c-s3c2410.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-scmi.c
i2c-sh7760.c
i2c-sh_mobile.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sibyte.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-simtec.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sirf.c
i2c-sis96x.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis630.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis5595.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-st.c
i2c-stu300.c
i2c-sun6i-p2wi.c
i2c-taos-evm.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-tegra.c
i2c-tiny-usb.c
i2c-versatile.c
i2c-via.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viapro.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viperboard.c
i2c-wmt.c
i2c-xiic.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-xlr.c
Kconfig Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-10-19 12:50:44 -07:00
Makefile i2c: hix5hd2: add i2c controller driver 2014-10-16 09:14:17 +02:00
scx200_acb.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00