linux/drivers/i2c/busses
Abhishek Sahu 2b84a4dd4b i2c: qup: Cleared the error bits in ISR
1. Current QCOM I2C driver hangs when sending data to address 0x03-0x07
in some scenarios. The QUP controller generates invalid write in this
case, since these addresses are reserved for different bus formats.

2. Also, the error handling is done by I2C QUP ISR in the case of DMA
mode. The state need to be RESET in case of any error for clearing the
available data in FIFO, which otherwise leaves the BAM DMA controller
in hang state.

This patch fixes the above two issues by clearing the error bits from
I2C and QUP status in ISR in case of I2C error, QUP error and resets
the QUP state to clear the FIFO data.

Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-15 15:26:56 +09:00
..
i2c-acorn.c i2c: acorn: is tristate and should use module.h 2014-01-24 18:21:11 +01:00
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: ali1563: fix checkpatch.pl issues 2014-05-22 10:09:21 +02:00
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: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-at91.c i2c: at91: change log when dma configuration fails 2016-05-26 20:54:19 +02:00
i2c-au1550.c i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource 2015-10-23 23:31:11 +02:00
i2c-axxia.c i2c: axxia: Add bus recovery functionality 2015-06-03 00:40:16 +09:00
i2c-bcm-iproc.c i2c: bcm-iproc: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-bcm-kona.c i2c: bcm-kona: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-bcm2835.c i2c: bcm2835: add I2C_AQ_NO_CLK_STRETCH 2015-11-30 18:37:26 +01:00
i2c-bfin-twi.c i2c: Fix typo in i2c-bfin-twi.c 2015-07-31 13:32:31 +02:00
i2c-brcmstb.c i2c: brcmstb: Remove superfluous size check 2016-07-15 15:03:02 +09:00
i2c-cadence.c i2c: cadence: Fix the kernel-doc warnings 2016-03-12 15:59:22 +01:00
i2c-cbus-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-cpm.c Merge branch 'i2c/for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-05-19 17:48:12 -07:00
i2c-cros-ec-tunnel.c mfd: cros_ec: Use a zero-length array for command data 2015-06-15 13:18:19 +01:00
i2c-davinci.c i2c: davinci: Increase module clock frequency 2015-11-30 15:55:07 +01:00
i2c-designware-baytrail.c i2c: designware-platform: Drop duplicate module information 2016-02-12 20:40:13 +01:00
i2c-designware-core.c i2c: designware: Use transfer timeout from ioctl I2C_TIMEOUT 2016-06-19 18:52:44 +02:00
i2c-designware-core.h i2c: designware-pci: Make bus number allocation robust 2016-06-19 19:34:16 +02:00
i2c-designware-pcidrv.c i2c: designware-pci: clarify a comment for Merrifield 2016-07-06 00:42:17 +09:00
i2c-designware-platdrv.c i2c: designware: Add device HID for future AMD I2C controller 2016-03-10 21:34:47 +01:00
i2c-digicolor.c i2c: digicolor: remove duplicate include 2015-04-23 19:35:32 +02:00
i2c-diolan-u2c.c i2c: remove unnecessary OOM messages 2014-06-02 19:24:33 +02:00
i2c-dln2.c i2c: dln2: Pass forward ACPI companion 2016-04-24 22:22:53 +02:00
i2c-efm32.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-eg20t.c i2c: eg20t: set i2c_adapter->dev.of_node 2015-12-03 22:11:46 +01:00
i2c-elektor.c i2c: elektor: Utilize the module_isa_driver macro 2016-06-19 19:45:43 +02:00
i2c-emev2.c i2c: emev2: add slave support 2015-12-05 19:55:36 +01:00
i2c-exynos5.c Merge branch 'i2c/for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-05-19 17:48:12 -07:00
i2c-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-highlander.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-hix5hd2.c i2c: hix5hd2: Fix modalias to make module auto-loading work 2015-05-12 18:09:33 +02:00
i2c-hydra.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-i801.c i2c: i801: add support of Host Notify 2016-07-06 00:39:42 +09:00
i2c-ibm_iic.c i2c: ibm_iic: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: img-scb: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-imx.c i2c: imx: reduce load by using usleep_range instead of udelay 2016-04-26 23:34:09 +02:00
i2c-iop3xx.c i2c: iop3xx: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-iop3xx.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-isch.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-ismt.c i2c: ismt: Add Intel DNV PCI ID 2016-04-12 23:44:16 +02:00
i2c-jz4780.c i2c: jz4780: drop superfluous init 2016-06-13 22:32:09 +02:00
i2c-kempld.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-lpc2k.c i2c: lpc2k: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-meson.c i2c: meson: Fix module autoload for OF platform driver 2015-10-20 18:14:36 +02:00
i2c-mpc.c i2c: mpc: Fix ISR return value 2015-03-27 16:53:41 +01:00
i2c-mt65xx.c i2c: mt65xx: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-mv64xxx.c i2c: mv64xxx: remove CONFIG_HAVE_CLK conditionals 2016-04-27 19:03:15 +02:00
i2c-mxs.c i2c: constify platform_device_id 2015-05-12 18:27:48 +02:00
i2c-nforce2-s4985.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nforce2.c i2c: nforce2: Use IS_ENABLED() instead of checking for built-in or module 2016-04-26 23:36:47 +02:00
i2c-nomadik.c i2c: nomadik: match status to return type of read_i2c 2015-03-15 10:51:13 +01:00
i2c-ocores.c i2c: ocores: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-octeon.c i2c: octeon: Avoid printk after too long SMBUS message 2016-06-09 22:07:57 +02:00
i2c-omap.c i2c: omap: drop the lock hard irq context 2016-04-24 22:33:09 +02:00
i2c-opal.c i2c: opal: Update quirk flags to do write-then-anything 2015-03-14 12:08:21 +01:00
i2c-parport-light.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-parport.c i2c: parport: start using pr_fmt 2015-08-10 08:37:28 +02:00
i2c-parport.h i2c: parport: Add VCT-jig adapter 2015-08-10 08:37:34 +02:00
i2c-pasemi.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-isa.c i2c: pca-isa: Utilize the module_isa_driver macro 2016-06-19 19:49:29 +02:00
i2c-pca-platform.c i2c: pca-platform: fix broken email address 2015-04-23 19:35:30 +02:00
i2c-piix4.c i2c: piix4: Pre-shift the port number 2016-02-24 15:59:06 +01:00
i2c-pmcmsp.c i2c: pmcmsp: make use of the new infrastructure for quirks 2015-03-13 15:10:58 +01:00
i2c-pnx.c Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-11-10 11:58:25 -08:00
i2c-powermac.c i2c: powermac: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-puv3.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-pxa-pci.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-pxa.c i2c: pxa: Add support for pxa910/988 & new configuration features 2015-10-25 09:36:43 +01:00
i2c-qup.c i2c: qup: Cleared the error bits in ISR 2016-07-15 15:26:56 +09:00
i2c-rcar.c i2c: rcar: use dma_request_chan() 2016-05-26 20:43:06 +02:00
i2c-riic.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-rk3x.c i2c: rk3x: support fast-mode plus for rk3399 2016-06-17 13:55:28 +02:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: Constify osif_table 2016-06-13 22:32:09 +02:00
i2c-s3c2410.c i2c: s3c2410: Check clk_prepare_enable() return value 2016-04-26 00:32:07 +02:00
i2c-scmi.c i2c: delete non-required instances of include <linux/init.h> 2014-01-24 18:24:31 +01:00
i2c-sh_mobile.c i2c: sh_mobile: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
i2c-sh7760.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-sibyte.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-simtec.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-sirf.c i2c: sirf: use new 8 bit address helper function 2016-04-11 18:54:59 +02:00
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: st: Implement bus clear 2016-05-13 12:40:15 +02:00
i2c-stu300.c i2c: stu300: Fix module autoload for OF platform driver 2015-10-20 18:15:39 +02:00
i2c-sun6i-p2wi.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-taos-evm.c i2c: taos-evm: replace simple_strtoul by kstrtou8 2015-11-30 18:37:22 +01:00
i2c-tegra.c i2c: tegra: disable clock before returning error 2016-05-11 16:32:26 +02:00
i2c-tiny-usb.c i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID 2014-01-13 13:56:52 +01:00
i2c-uniphier-f.c i2c: uniphier: add "\n" at the end of error log 2016-04-27 19:09:04 +02:00
i2c-uniphier.c i2c: uniphier: add "\n" at the end of error log 2016-04-27 19:09:04 +02:00
i2c-versatile.c i2c: versatile: Convert to use resource managed devm_* APIs 2016-07-14 21:21:56 +09:00
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: viperboard: clean up inconsistent indenting 2015-08-10 08:37:38 +02:00
i2c-wmt.c i2c: wmt: match return type of wait_for_completion_timeout 2015-03-15 10:29:53 +01:00
i2c-xgene-slimpro.c i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code 2015-08-24 14:23:31 +02:00
i2c-xiic.c i2c: xiic: Implement power management 2016-03-03 22:25:17 +01:00
i2c-xlp9xx.c i2c: xlp9xx: add ACPI support for Broadcom Vulcan 2016-07-08 10:40:55 +09:00
i2c-xlr.c i2c: xlr: add interrupt support for Sigma Designs chips 2015-12-16 11:42:58 +01:00
Kconfig i2c: brcmstb: Make the driver buildable on BMIPS_GENERIC 2016-07-15 15:00:01 +09:00
Makefile i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver 2015-10-23 21:55:46 +02:00
scx200_acb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00