linux/drivers/i2c/busses
Quan Nguyen b4cc1cbba5 i2c: aspeed: Handle the coalesced stop conditions with the start conditions.
Some masters may drive the transfers with low enough latency between
the nak/stop phase of the current command and the start/address phase
of the following command that the interrupts are coalesced by the
time we process them.
Handle the stop conditions before processing SLAVE_MATCH to fix the
complaints that sometimes occur below.

"aspeed-i2c-bus 1e78a040.i2c-bus: irq handled != irq. Expected
0x00000086, but was 0x00000084"

Fixes: f9eb91350b ("i2c: aspeed: added slave support for Aspeed I2C driver")
Signed-off-by: Quan Nguyen <quan@os.amperecomputing.com>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
History 2023-12-19 21:54:57 +01:00
..
i2c-acorn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i2c-ali15x3.c I2C: ali15x3: Do PCI error checks on own line 2023-08-30 21:18:35 +02:00
i2c-ali1535.c i2c: ali1535: mention that the device should not be disabled 2021-07-02 09:14:46 +02:00
i2c-ali1563.c i2c: busses: i2c-ali1563: File headers are not good candidates for kernel-doc 2021-05-27 21:29:26 +02:00
i2c-altera.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd-mp2-pci.c i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-amd-mp2-plat.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd-mp2.h i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-amd756-s4882.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd756.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd8111.c i2c: amd8111: Fix coding style issues 2021-04-15 22:24:11 +02:00
i2c-aspeed.c i2c: aspeed: Handle the coalesced stop conditions with the start conditions. 2023-12-19 21:54:57 +01:00
i2c-at91-core.c i2c: at91-core: Use devm_clk_get_enabled() 2023-10-21 20:45:29 +02:00
i2c-at91-master.c i2c: Make return value check more accurate and explicit for devm_pinctrl_get() 2023-08-26 00:18:39 +02:00
i2c-at91-slave.c i2c: at91: added slave mode support 2019-03-24 22:41:51 +01:00
i2c-at91.h i2c: at91: remove legacy DMA left overs 2020-11-03 21:34:40 +01:00
i2c-au1550.c i2c: au1550: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-axxia.c i2c: axxia: eliminate kernel-doc warnings 2023-10-28 14:34:53 +02:00
i2c-bcm-iproc.c i2c: iproc: handle invalid slave state 2023-11-08 10:16:35 +01:00
i2c-bcm-kona.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-bcm2835.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-brcmstb.c i2c: brcmstb: Add support for atomic transfers 2023-10-11 18:35:26 +02:00
i2c-cadence.c i2c: cadence: Fix the kernel-doc warnings 2023-09-13 11:10:49 +02:00
i2c-cbus-gpio.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-ccgx-ucsi.c i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-ccgx-ucsi.h i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-cht-wc.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-cp2615.c i2c: cp2615: Fix 'assignment to __be16' warning 2023-11-08 10:27:17 +01:00
i2c-cpm.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-cros-ec-tunnel.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-davinci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-designware-amdpsp.c i2c: designware: Add doorbell support for Mendocino 2023-04-20 18:20:05 +08:00
i2c-designware-baytrail.c i2c: designware: Add AMD PSP I2C bus support 2022-02-11 15:38:23 +01:00
i2c-designware-common.c i2c: designware: Fix corrupted memory seen in the ISR 2023-11-13 04:51:14 -05:00
i2c-designware-core.h i2c: designware: fix __i2c_dw_disable() in case master is holding SCL low 2023-09-19 21:57:11 +02:00
i2c-designware-master.c i2c: designware: Disable TX_EMPTY irq while waiting for block length byte 2023-11-08 10:19:48 +01:00
i2c-designware-pcidrv.c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-06-14 10:47:11 +02:00
i2c-designware-platdrv.c i2c: designware: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-designware-slave.c i2c: designware: fix idx_write_cnt in read loop 2023-06-05 11:58:20 +02:00
i2c-digicolor.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-diolan-u2c.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-dln2.c i2c: dln2: Use dev_err_probe in probe function 2023-08-10 10:13:40 +02:00
i2c-eg20t.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-elektor.c Merge branch 'i2c/for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-02-22 09:02:24 -08:00
i2c-emev2.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-exynos5.c i2c: exynos5: Calculate t_scl_l, t_scl_h according to i2c spec 2023-10-23 17:11:40 +02:00
i2c-fsi.c i2c: fsi: Prevent adding adapters for ports without dts nodes 2020-07-24 21:31:33 +02:00
i2c-gpio.c i2c: gpio: remove error checks with debugfs 2023-09-22 11:56:57 +02:00
i2c-gxp.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-highlander.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-hisi.c I2C has mainly cleanups this time and a few driver improvements. Because 2023-09-04 13:44:11 -07:00
i2c-hix5hd2.c i2c: hix5hd2: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-hydra.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-i801.c i2c: i801: Use new helper acpi_use_parent_companion 2023-10-28 15:30:39 +02:00
i2c-ibm_iic.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ibm_iic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-icy.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-img-scb.c i2c: img-scb: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-imx-lpi2c.c I2C has mainly cleanups this time and a few driver improvements. Because 2023-09-04 13:44:11 -07:00
i2c-imx.c i2c: Make return value check more accurate and explicit for devm_pinctrl_get() 2023-08-26 00:18:39 +02:00
i2c-iop3xx.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-iop3xx.h Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
i2c-isch.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-ismt.c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-07 21:27:08 +01:00
i2c-jz4780.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-kempld.c i2c: kempld: Convert to use regular device PM 2023-08-08 15:36:49 +02:00
i2c-ljca.c i2c: Add support for Intel LJCA USB I2C driver 2023-10-11 11:33:37 +02:00
i2c-lpc2k.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ls2x.c i2c: ls2x: Add driver for Loongson-2K/LS7A I2C controller 2023-02-02 22:23:59 +01:00
i2c-mchp-pci1xxxx.c i2c: mchp-pci1xxxx: Avoid cast to incompatible function type 2023-06-05 10:43:45 +02:00
i2c-meson.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-microchip-corei2c.c i2c: remove redundant dev_err_probe() 2023-08-08 15:36:55 +02:00
i2c-mlxbf.c i2c: mlxbf: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:44 +02:00
i2c-mlxcpld.c i2c: mlxcpld: Add support for extended transaction length 2023-08-25 22:13:12 +02:00
i2c-mpc.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mt65xx.c i2c: mt65xx: allow optional pmic clock 2023-09-19 22:00:22 +02:00
i2c-mt7621.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mv64xxx.c i2c: Use device_get_match_data() 2023-10-10 21:41:14 +02:00
i2c-mxs.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-nforce2-s4985.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-nforce2.c i2c: nforce2: Do PCI error check on own line 2023-08-25 22:11:08 +02:00
i2c-nomadik.c i2c: nomadik: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-npcm7xx.c i2c: npcm7xx: Fix callback completion ordering 2023-09-27 21:32:06 +02:00
i2c-nvidia-gpu.c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-06-14 10:47:11 +02:00
i2c-ocores.c i2c: ocores: Move system PM hooks to the NOIRQ phase 2023-11-13 12:43:42 -05:00
i2c-octeon-core.c i2c: octeon: check correct size of maximum RECV_LEN packet 2021-01-17 12:26:55 +01:00
i2c-octeon-core.h i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-platdrv.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-omap.c i2c: Use device_get_match_data() 2023-10-10 21:41:14 +02:00
i2c-opal.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-owl.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-parport.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-pasemi-core.c i2c: /pasemi: PASemi I2C controller IRQ enablement 2022-11-12 21:30:16 +01:00
i2c-pasemi-core.h i2c: /pasemi: PASemi I2C controller IRQ enablement 2022-11-12 21:30:16 +01:00
i2c-pasemi-pci.c i2c: pasemi: Drop I2C classes from platform driver variant 2022-02-15 10:28:34 +01:00
i2c-pasemi-platform.c i2c: pasemi-platform: Use devm_clk_get_enabled() 2023-06-23 11:56:34 +02:00
i2c-pca-isa.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
i2c-pca-platform.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-piix4.c i2c: piix4: Fix adapter not be removed in piix4_remove() 2022-11-01 13:09:33 +01:00
i2c-pnx.c i2c: pnx: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:14 +02:00
i2c-powermac.c i2c: powermac: replace deprecated strncpy 2023-09-22 12:12:07 +02:00
i2c-pxa-pci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-pxa.c Revert "i2c: pxa: move to generic GPIO recovery" 2023-11-12 20:52:29 -05:00
i2c-qcom-cci.c i2c: qcom-cci: Fix error checking in cci_probe() 2023-08-25 22:07:10 +02:00
i2c-qcom-geni.c i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() 2023-12-19 18:14:17 +01:00
i2c-qup.c i2c: qup: Remove #ifdef guards for PM related functions 2023-08-08 15:36:50 +02:00
i2c-rcar.c i2c: rcar: fix error code in probe() 2023-09-27 21:54:25 +02:00
i2c-riic.c i2c: riic: avoid potential division by zero 2023-09-19 11:11:09 +02:00
i2c-rk3x.c i2c: rk3x: fix potential spinlock recursion on poll 2023-12-19 18:23:01 +01:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: fix control-request directions 2021-06-24 22:08:00 +02:00
i2c-rzv2m.c i2c: rzv2m: Disable the operation of unit in case of error 2023-06-05 12:03:35 +02:00
i2c-s3c2410.c i2c: s3c2410: make i2c_s3c_irq_nextbyte() void 2023-10-29 22:31:52 +01:00
i2c-scmi.c More ACPI updates for 6.5-rc1 2023-07-06 22:25:06 -07:00
i2c-sh7760.c i2c: Improve size determinations 2023-06-07 14:12:11 +02:00
i2c-sh_mobile.c i2c: sh_mobile: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:01 +02:00
i2c-sibyte.c i2c: Use separate MODULE_AUTHOR() statements for multiple authors 2020-07-04 08:25:13 +02:00
i2c-simtec.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-sis96x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sis630.c i2c: fix spelling typos in comments 2022-10-20 23:09:10 +02:00
i2c-sis5595.c i2c: sis5595: Do PCI error checks on own line 2023-08-25 22:11:03 +02:00
i2c-sprd.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-st.c i2c: st: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:57 +02:00
i2c-stm32.c i2c: stm32: Simplify with dev_err_probe() 2020-09-21 11:45:43 +02:00
i2c-stm32.h i2c: stm32: Use the correct style for SPDX License Identifier 2019-08-14 14:56:54 +02:00
i2c-stm32f4.c i2c: stm32f4: Use devm_clk_get_enabled() 2023-10-23 17:29:34 +02:00
i2c-stm32f7.c I2C has largely driver updates for 6.7., i.e. feature additions (like 2023-11-05 08:41:14 -10:00
i2c-sun6i-p2wi.c i2c: sun6i-p2wi: Prevent potential division by zero 2023-10-29 20:30:07 +01:00
i2c-synquacer.c i2c: synquacer: Use dev_err_probe in probe function 2023-08-10 10:13:57 +02:00
i2c-taos-evm.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-tegra-bpmp.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-tegra.c I2C has mainly cleanups this time and a few driver improvements. Because 2023-09-04 13:44:11 -07:00
i2c-thunderx-pcidrv.c drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers 2022-05-21 13:41:28 +02:00
i2c-tiny-usb.c i2c: tiny-usb: check usb base class before assuming the interface on device is for this driver 2023-08-14 15:14:42 +02:00
i2c-uniphier-f.c i2c: uniphier-f: Use devm_clk_get_enabled() 2023-06-23 12:22:34 +02:00
i2c-uniphier.c i2c: uniphier: Use devm_clk_get_enabled() 2023-06-23 12:22:41 +02:00
i2c-versatile.c i2c: versatile: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:40:09 +02:00
i2c-via.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-viapro.c i2c: busses: Use fallthrough pseudo-keyword 2020-07-23 22:04:08 +02:00
i2c-viperboard.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-virtio.c i2c: virtio: Remove #ifdef guards for PM related functions 2023-08-08 15:36:53 +02:00
i2c-wmt.c i2c: wmt: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:41:17 +02:00
i2c-xgene-slimpro.c i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros 2023-09-29 11:55:21 +01:00
i2c-xiic.c i2c: xiic: Correct return value check for xiic_reinit() 2023-09-22 12:04:39 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Use dev_err_probe in probe function 2023-08-10 10:12:55 +02:00
Kconfig I2C has largely driver updates for 6.7., i.e. feature additions (like 2023-11-05 08:41:14 -10:00
Makefile i2c: Add support for Intel LJCA USB I2C driver 2023-10-11 11:33:37 +02:00
scx200_acb.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00