linux_dsm_epyc7002/drivers/i2c/busses
Shubhrajyoti Datta ae7304c3ea i2c: xiic: Make the start and the byte count write atomic
Disable interrupts while configuring the transfer and enable them back.

We have below as the programming sequence
1. start and slave address
2. byte count and stop

In some customer platform there was a lot of interrupts between 1 and 2
and after slave address (around 7 clock cyles) if 2 is not executed
then the transaction is nacked.

To fix this case make the 2 writes atomic.

Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
[wsa: added a newline for better readability]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
2018-09-06 20:49:09 +02:00
..
i2c-acorn.c
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-altera.c
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c i2c: amd8111: Mark expected switch fall-through 2018-08-08 22:28:46 +02:00
i2c-aspeed.c i2c: aspeed: Add an explicit type casting for *get_clk_reg_val 2018-08-04 23:12:31 +02:00
i2c-at91.c
i2c-au1550.c
i2c-axxia.c
i2c-bcm2835.c
i2c-bcm-iproc.c
i2c-bcm-kona.c
i2c-brcmstb.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-cadence.c
i2c-cbus-gpio.c
i2c-cht-wc.c i2c-cht-wc: Fix bq24190 supplier 2018-07-02 17:38:07 +02:00
i2c-cpm.c
i2c-cros-ec-tunnel.c
i2c-davinci.c Merge branch 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-08-21 17:40:46 -07:00
i2c-designware-baytrail.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-designware-common.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-designware-core.h i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-designware-master.c i2c: designware: Re-init controllers with pm_disabled set on resume 2018-08-30 23:02:13 +02:00
i2c-designware-pcidrv.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-designware-platdrv.c i2c: designware: Re-init controllers with pm_disabled set on resume 2018-08-30 23:02:13 +02:00
i2c-designware-slave.c i2c: designware: Add SPDX license tag 2018-08-20 10:45:45 +02:00
i2c-digicolor.c
i2c-diolan-u2c.c
i2c-dln2.c
i2c-efm32.c
i2c-eg20t.c
i2c-elektor.c
i2c-emev2.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-exynos5.c i2c: exynos5: Describe the hardware variant for readability 2018-07-21 00:15:22 +02:00
i2c-fsi.c i2c: fsi: Add bus recovery 2018-07-21 00:07:09 +02:00
i2c-gpio.c Merge branch 'i2c/precise-locking-names_immutable' into i2c/for-4.19 2018-07-13 00:12:53 +02:00
i2c-highlander.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-hix5hd2.c
i2c-hydra.c
i2c-i801.c i2c: i801: fix DNV's SMBCTRL register offset 2018-09-04 18:04:55 +02:00
i2c-ibm_iic.c
i2c-ibm_iic.h
i2c-img-scb.c
i2c-imx-lpi2c.c i2c: imx-lpi2c: Remove mx8dv compatible entry 2018-09-02 23:50:43 +02:00
i2c-imx.c Merge branch 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-08-21 17:40:46 -07:00
i2c-iop3xx.c
i2c-iop3xx.h
i2c-isch.c
i2c-ismt.c
i2c-jz4780.c
i2c-kempld.c
i2c-lpc2k.c
i2c-meson.c
i2c-mlxcpld.c
i2c-mpc.c
i2c-mt65xx.c
i2c-mv64xxx.c
i2c-mxs.c i2c: mxs: use core to detect 'no zero length' quirk 2018-08-04 23:25:06 +02:00
i2c-nforce2-s4985.c
i2c-nforce2.c
i2c-nomadik.c
i2c-ocores.c i2c: ocores: update my email address 2018-08-24 14:46:43 +02:00
i2c-octeon-core.c
i2c-octeon-core.h
i2c-octeon-platdrv.c
i2c-omap.c
i2c-opal.c
i2c-owl.c i2c: Add Actions Semiconductor Owl family S900 I2C driver 2018-08-04 22:56:02 +02:00
i2c-parport-light.c
i2c-parport.c
i2c-parport.h
i2c-pasemi.c i2c: pasemi: remove hardcoded bus numbers on smbus 2018-08-20 11:01:13 +02:00
i2c-pca-isa.c
i2c-pca-platform.c
i2c-piix4.c
i2c-pmcmsp.c i2c: pmcmsp: use core to detect 'no zero length' quirk 2018-08-04 23:25:06 +02:00
i2c-pnx.c
i2c-powermac.c
i2c-puv3.c
i2c-pxa-pci.c
i2c-pxa.c
i2c-qcom-geni.c i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller 2018-07-31 21:17:20 +02:00
i2c-qup.c
i2c-rcar.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-riic.c i2c: use SPDX identifier for Renesas drivers 2018-08-24 14:49:36 +02:00
i2c-rk3x.c
i2c-robotfuzz-osif.c
i2c-s3c2410.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-scmi.c
i2c-sh7760.c
i2c-sh_mobile.c i2c: sh_mobile: fix leak when using DMA bounce buffer 2018-08-30 23:13:59 +02:00
i2c-sibyte.c
i2c-simtec.c
i2c-sirf.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-sprd.c i2c: remove i2c_lock_adapter and use i2c_lock_bus directly 2018-07-13 00:09:37 +02:00
i2c-st.c
i2c-stm32.c
i2c-stm32.h
i2c-stm32f4.c
i2c-stm32f7.c
i2c-stu300.c i2c: stu300: use core to detect 'no zero length' quirk 2018-08-04 23:25:07 +02:00
i2c-sun6i-p2wi.c
i2c-synquacer.c
i2c-taos-evm.c
i2c-tegra-bpmp.c
i2c-tegra.c Linux 4.18-rc5 2018-07-17 10:03:42 +02:00
i2c-thunderx-pcidrv.c
i2c-tiny-usb.c
i2c-uniphier-f.c i2c: uniphier-f: issue STOP only for last message or I2C_M_STOP 2018-09-02 23:50:43 +02:00
i2c-uniphier.c i2c: uniphier: issue STOP only for last message or I2C_M_STOP 2018-09-02 23:50:43 +02:00
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-viperboard.c
i2c-wmt.c
i2c-xgene-slimpro.c
i2c-xiic.c i2c: xiic: Make the start and the byte count write atomic 2018-09-06 20:49:09 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Fix case where SSIF read transaction completes early 2018-08-09 17:41:13 +02:00
i2c-xlr.c i2c: xlr: use core to detect 'no zero length' quirk 2018-08-04 23:25:08 +02:00
i2c-zx2967.c
Kconfig i2c: Add Actions Semiconductor Owl family S900 I2C driver 2018-08-04 22:56:02 +02:00
Makefile i2c: Add Actions Semiconductor Owl family S900 I2C driver 2018-08-04 22:56:02 +02:00
scx200_acb.c