TencentOS-kernel/drivers/i2c/busses
Fuhai Wang 3a8a503bd2 ampere/i2c: designware: Issue abort if the bus got stuck during a transfer
When the master tries to send data to the slave that has gone offline, the
transmission gets stuck. Even when a slave returns back online, the bus
doesn't return to the normal.

This patch works around the issue by issueing abort if master activity
bit is set and then waits for a sometime that to go through. After this
the bus seem to get back operational.

Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
2021-07-12 08:57:22 +00:00
..
Kconfig i2c: rcar: Auto select RESET_CONTROLLER 2021-03-16 16:38:59 +08:00
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-acorn.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ali15x3.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ali1535.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ali1563.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-altera.c i2c: altera: Fix race between xfer_msg and isr thread 2021-03-16 16:28:47 +08:00
i2c-amd-mp2-pci.c i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling 2021-03-16 16:27:20 +08:00
i2c-amd-mp2-plat.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-amd-mp2.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-amd756-s4882.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-amd756.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-amd8111.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-aspeed.c i2c: aspeed: Mask IRQ status to relevant bits 2021-03-16 16:37:30 +08:00
i2c-at91-core.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-at91-master.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-at91-slave.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-at91.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-au1550.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-axxia.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-bcm-iproc.c i2c: iproc: handle master read request 2021-04-12 12:52:23 +08:00
i2c-bcm-kona.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-bcm2835.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-brcmstb.c i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition 2021-04-12 12:52:32 +08:00
i2c-cadence.c i2c: cadence: add IRQ check 2021-05-20 16:07:58 +08:00
i2c-cbus-gpio.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-cht-wc.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-cpm.c i2c: cpm: Fix i2c_ram structure 2021-03-16 16:37:49 +08:00
i2c-cros-ec-tunnel.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-davinci.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-designware-baytrail.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-designware-common.c ampere/i2c: designware: Issue abort if the bus got stuck during a transfer 2021-07-12 08:57:22 +00:00
i2c-designware-core.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-designware-master.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-designware-pcidrv.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-designware-platdrv.c i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT 2021-03-16 16:26:26 +08:00
i2c-designware-slave.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-digicolor.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-diolan-u2c.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-dln2.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-efm32.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-eg20t.c i2c: eg20t: Load module automatically if ID matches 2021-03-16 16:31:49 +08:00
i2c-elektor.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-emev2.c i2c: emev2: add IRQ check 2021-05-20 16:07:58 +08:00
i2c-exynos5.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-fsi.c i2c: fsi: Fix the port number field in status register 2021-03-16 16:31:02 +08:00
i2c-gpio.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-highlander.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-hix5hd2.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-hydra.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-i801.c i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated 2021-04-12 12:51:18 +08:00
i2c-ibm_iic.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ibm_iic.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-icy.c i2c: icy: Fix build with CONFIG_AMIGA_PCMCIA=n 2021-03-16 16:30:32 +08:00
i2c-img-scb.c i2c: img-scb: fix reference leak when pm_runtime_get_sync fails 2021-05-20 16:07:57 +08:00
i2c-imx-lpi2c.c i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails 2021-05-20 16:07:57 +08:00
i2c-imx.c i2c: imx: Check for I2SR_IAL after every byte 2021-03-16 16:42:05 +08:00
i2c-iop3xx.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-iop3xx.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-isch.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ismt.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-jz4780.c i2c: jz4780: add IRQ check 2021-05-20 16:07:58 +08:00
i2c-kempld.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-lpc2k.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-meson.c i2c: meson: fixup rate calculation with filter delay 2021-03-16 16:37:59 +08:00
i2c-mlxcpld.c i2c: mlxcpld: check correct size of maximum RECV_LEN packet 2021-03-16 16:31:20 +08:00
i2c-mpc.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-mt65xx.c i2c: mediatek: Move suspend and resume handling to NOIRQ phase 2021-04-12 12:52:00 +08:00
i2c-mt7621.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-mv64xxx.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-mxs.c i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK 2021-03-16 16:36:19 +08:00
i2c-nforce2-s4985.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-nforce2.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-nomadik.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-nvidia-gpu.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-ocores.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-octeon-core.c i2c: octeon: check correct size of maximum RECV_LEN packet 2021-04-12 12:51:36 +08:00
i2c-octeon-core.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-octeon-platdrv.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-omap.c i2c: omap: fix reference leak when pm_runtime_get_sync fails 2021-05-20 16:07:57 +08:00
i2c-opal.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-owl.c i2c: owl: Clear NACK and BUS error bits 2021-03-16 16:38:00 +08:00
i2c-parport-light.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-parport.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-parport.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pasemi.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pca-isa.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pca-platform.c i2c: pca-platform: Use platform_irq_get_optional 2021-03-16 16:25:54 +08:00
i2c-piix4.c i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets 2021-03-16 16:29:55 +08:00
i2c-pmcmsp.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pnx.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-powermac.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-puv3.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pxa-pci.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-pxa.c i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output 2021-03-16 16:30:13 +08:00
i2c-qcom-geni.c i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct 2021-04-12 12:52:26 +08:00
i2c-qup.c i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() 2021-03-16 16:42:07 +08:00
i2c-rcar.c i2c: rcar: optimize cacheline to minimize HW race condition 2021-04-12 12:53:02 +08:00
i2c-riic.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-rk3x.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-robotfuzz-osif.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-s3c2410.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-scmi.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sh7760.c i2c: sh7760: fix IRQ error path 2021-05-20 16:07:59 +08:00
i2c-sh_mobile.c i2c: sh_mobile: implement atomic transfers 2021-03-16 16:40:47 +08:00
i2c-sibyte.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-simtec.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sirf.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sis96x.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sis630.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sis5595.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sprd.c i2c: sprd: fix reference leak when pm_runtime_get_sync fails 2021-05-20 16:07:58 +08:00
i2c-st.c i2c: st: fix missing struct parameter description 2021-03-16 16:25:54 +08:00
i2c-stm32.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-stm32.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-stm32f4.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-stm32f7.c i2c: stm32f7: fix configuration of the digital filter 2021-04-12 12:52:05 +08:00
i2c-stu300.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-sun6i-p2wi.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-synquacer.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-taos-evm.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-tegra-bpmp.c i2c: bpmp-tegra: Ignore unknown I2C_M flags 2021-04-12 12:51:31 +08:00
i2c-tegra.c i2c: tegra: Restore pinmux on system resume 2021-03-16 16:37:16 +08:00
i2c-thunderx-pcidrv.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-tiny-usb.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-uniphier-f.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-uniphier.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-versatile.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-via.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-viapro.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-viperboard.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-wmt.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-xgene-slimpro.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-xiic.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-xlp9xx.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-xlr.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
i2c-zx2967.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
scx200_acb.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00