Mans Rullgard
f6e10f70c2
spi: atmel: fix handling of cs_change set on non-last xfer
...
commit fed8d8c7a6dc2a76d7764842853d81c770b0788e upstream.
The driver does the wrong thing when cs_change is set on a non-last
xfer in a message. When cs_change is set, the driver deactivates the
CS and leaves it off until a later xfer again has cs_change set whereas
it should be briefly toggling CS off and on again.
This patch brings the behaviour of the driver back in line with the
documentation and common sense. The delay of 10 us is the same as is
used by the default spi_transfer_one_message() function in spi.c.
[gregory: rebased on for-5.5 from spi tree]
Fixes: 8090d6d1a4 ("spi: atmel: Refactor spi-atmel to use SPI framework queue")
Signed-off-by: Mans Rullgard <mans@mansr.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Link: https://lore.kernel.org/r/20191018153504.4249-1-gregory.clement@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-17 19:47:12 +01:00
..
internals.h
spi: Add an helper to flush the message queue
2018-04-23 15:48:18 +01:00
Kconfig
spi: add SPI controller driver for UniPhier SoC
2018-08-01 11:22:37 +01:00
Makefile
spi: add SPI controller driver for UniPhier SoC
2018-08-01 11:22:37 +01:00
spi-altera.c
spi: altera: Consolidate TX/RX data register access
2017-08-16 11:53:31 +01:00
spi-armada-3700.c
Merge remote-tracking branches 'spi/topic/a3700', 'spi/topic/atmel', 'spi/topic/bcm53xx', 'spi/topic/davinci' and 'spi/topic/dw' into spi-next
2018-01-26 17:57:24 +00:00
spi-ath79.c
spi: add flags parameter to txrx_word function pointers
2018-08-01 14:50:24 +01:00
spi-atmel.c
spi: atmel: fix handling of cs_change set on non-last xfer
2020-01-17 19:47:12 +01:00
spi-au1550.c
spi-axi-spi-engine.c
spi: spi-axi: fix potential use-after-free after deregistration
2017-10-31 11:15:10 +00:00
spi-bcm-qspi.c
spi: bcm-qspi: fix calculation of address length
2018-11-13 11:08:15 -08:00
spi-bcm-qspi.h
spi-bcm63xx-hsspi.c
spi/bcm63xx-hsspi: keep pll clk enabled
2019-11-20 18:46:54 +01:00
spi-bcm63xx.c
spi/bcm63xx: fix error return code in bcm63xx_spi_probe()
2017-08-08 11:36:35 +01:00
spi-bcm2835.c
spi: bcm2835: Fix 3-wire mode if DMA is enabled
2019-08-09 17:52:35 +02:00
spi-bcm2835aux.c
spi: bcm2835aux: fix corruptions for longer spi transfers
2019-09-10 10:33:41 +01:00
spi-bitbang-txrx.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
spi-bitbang.c
spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
2019-07-10 09:53:32 +02:00
spi-brcmstb-qspi.c
spi-butterfly.c
spi: add flags parameter to txrx_word function pointers
2018-08-01 14:50:24 +01:00
spi-cadence.c
spi: cadence: Fix missing clk_disable_unprepare() on error in cnds_runtime_resume()
2018-07-11 15:34:53 +01:00
spi-cavium-octeon.c
spi-cavium-thunderx.c
spi: spi-cavium-thunderx: Add missing pci_release_regions()
2020-01-12 12:17:11 +01:00
spi-cavium.c
spi-cavium.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
spi-clps711x.c
spi-coldfire-qspi.c
spi-davinci.c
Merge branch 'spi-4.18' into spi-linus
2018-08-10 17:51:50 +01:00
spi-dln2.c
spi-dw-mid.c
spi: dw: Convert to generalized SPI controller API
2018-02-12 12:04:16 +00:00
spi-dw-mmio.c
spi: dw-mmio: add MSCC Ocelot support
2018-07-30 12:02:08 +01:00
spi-dw-pci.c
spi-dw.c
Merge branch 'spi-4.19' into spi-next
2018-08-10 17:51:52 +01:00
spi-dw.h
spi: dw: export dw_spi_set_cs
2018-07-30 12:02:07 +01:00
spi-efm32.c
spi-ep93xx.c
spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare}
2018-11-13 11:08:22 -08:00
spi-falcon.c
spi: spi-falcon: drop check of boot select
2017-09-01 11:33:22 +01:00
spi-fsl-cpm.c
spi-fsl-cpm.h
spi-fsl-dspi.c
spi: spi-fsl-dspi: fix broken DSPI_EOQ_MODE
2018-08-28 20:55:23 +01:00
spi-fsl-espi.c
spi: spi-fsl-espi: Log fifo counters on error
2018-07-26 15:43:09 +01:00
spi-fsl-lib.c
spi-fsl-lib.h
spi-fsl-lpspi.c
spi: fsl-lpspi: Prevent FIFO under/overrun by default
2019-11-24 08:20:55 +01:00
spi-fsl-spi.c
spi: fsl: use platform_get_irq() instead of of_irq_to_resource()
2020-01-04 19:13:45 +01:00
spi-fsl-spi.h
spi-gpio.c
spi: spi-gpio: fix SPI_CS_HIGH capability
2019-09-16 08:22:07 +02:00
spi-img-spfi.c
spi: img-spfi: fix potential double release
2019-12-31 16:35:39 +01:00
spi-imx.c
spi: imx: stop buffer overflow in RX FIFO flush
2019-05-31 06:46:34 -07:00
spi-iproc-qspi.c
spi-jcore.c
spi: jcore: disable ref_clk after getting its rate
2018-03-18 17:57:42 -07:00
spi-lantiq-ssc.c
spi-lm70llp.c
spi: add flags parameter to txrx_word function pointers
2018-08-01 14:50:24 +01:00
spi-loopback-test.c
spi: loopback-test: implement testing with no CS
2017-07-26 13:08:56 +01:00
spi-lp8841-rtc.c
spi-mem.c
spi: spi-mem: Adjust op len based on message/transfer size limitations
2018-11-13 11:08:15 -08:00
spi-meson-spicc.c
spi: meson-spicc: Fix error handling in meson_spicc_probe()
2018-05-02 05:59:21 +09:00
spi-meson-spifc.c
spi-mpc52xx-psc.c
spi-mpc52xx.c
spi: mpc52xx: Use gpio_is_valid()
2018-04-27 12:05:39 +01:00
spi-mpc512x-psc.c
spi-mt65xx.c
spi: mediatek: use correct mata->xfer_len when in fifo transfer
2019-11-24 08:19:06 +01:00
spi-mxs.c
spi: mxs: Switch to SPDX identifier
2018-05-03 10:27:43 +09:00
spi-nuc900.c
spi-oc-tiny.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
spi-omap-100k.c
spi-omap-uwire.c
spi-omap2-mcspi.c
spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
2019-12-01 09:17:33 +01:00
spi-orion.c
spi: orion: fix CS GPIO handling again
2018-06-19 13:06:51 +01:00
spi-pic32-sqi.c
spi-pic32.c
spi: pic32: Use proper enum in dmaengine_prep_slave_rg
2019-11-20 18:47:11 +01:00
spi-pl022.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
spi-ppc4xx.c
spi-pxa2xx-dma.c
spi: pxa2xx: Use core message processing loop
2018-04-17 17:11:30 +01:00
spi-pxa2xx-pci.c
spi-pxa2xx.c
spi: pxa2xx: Add missed security checks
2019-12-31 16:35:59 +01:00
spi-pxa2xx.h
spi: pxa2xx: Allow 64-bit DMA
2018-04-24 16:10:12 +01:00
spi-qup.c
spi: qup: fix 64-bit build warning
2017-08-10 15:50:23 +01:00
spi-rb4xx.c
spi-rockchip.c
spi: rockchip: initialize dma_slave_config properly
2019-11-24 08:21:05 +01:00
spi-rspi.c
spi: rspi: Fix sequencer reset during initialization
2019-05-31 06:46:34 -07:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
spi-s3c24xx.c
spi-s3c64xx.c
spi: spi-s3c64xx: Fix system resume support
2018-05-17 13:27:08 +09:00
spi-sc18is602.c
spi-sh-hspi.c
spi-sh-msiof.c
spi: sh-msiof: fix deferred probing
2019-12-01 09:16:20 +01:00
spi-sh-sci.c
spi: add flags parameter to txrx_word function pointers
2018-08-01 14:50:24 +01:00
spi-sh.c
spi: spi-sh: fix error return code in spi_sh_probe()
2017-08-09 17:18:06 +01:00
spi-sirf.c
spi: sirf: account for const type of of_device_id.data
2018-01-03 11:38:46 +00:00
spi-slave-system-control.c
spi-slave-time.c
spi-sprd-adi.c
spi: sprd: adi: Add missing lock protection when rebooting
2019-12-31 16:35:28 +01:00
spi-st-ssc4.c
spi: st-ssc4: add missed pm_runtime_disable
2019-12-31 16:36:06 +01:00
spi-stm32.c
spi: stm32: Fix error handling in stm32_spi_probe()
2018-04-17 11:46:23 +01:00
spi-sun4i.c
spi: sun4i: disable clocks in the remove function
2017-12-07 11:59:15 +00:00
spi-sun6i.c
spi: sun6i: disable/unprepare clocks on remove
2017-12-07 17:45:17 +00:00
spi-tegra20-sflash.c
spi: tegra20-sflash: explicitly request exclusive reset control
2017-07-19 17:06:31 +01:00
spi-tegra20-slink.c
spi: tegra20-slink: add missed clk_unprepare
2019-12-31 16:36:03 +01:00
spi-tegra114.c
spi: tegra114: reset controller on probe
2019-05-31 06:46:28 -07:00
spi-test.h
spi-ti-qspi.c
spi: spi-ti-qspi: Fix a bug when accessing non default CS
2020-01-12 12:17:12 +01:00
spi-tle62x0.c
spi-topcliff-pch.c
spi : spi-topcliff-pch: Fix to handle empty DMA buffers
2019-05-31 06:46:33 -07:00
spi-txx9.c
spi-uniphier.c
spi: uniphier: remove unnecessary include headers
2018-08-02 11:08:06 +01:00
spi-xcomm.c
spi-xilinx.c
spi: xilinx: Add support for xlnx,axi-quad-spi-1.00.a
2017-11-27 16:31:20 +00:00
spi-xlp.c
spi: xlp: fix error return code in xlp_spi_probe()
2017-08-08 11:36:07 +01:00
spi-xtensa-xtfpga.c
spi: add flags parameter to txrx_word function pointers
2018-08-01 14:50:24 +01:00
spi-zynqmp-gqspi.c
spi: simplify getting .drvdata
2018-04-20 17:53:20 +01:00
spi.c
spi: Fix zero length xfer bug
2019-05-31 06:46:34 -07:00
spidev.c
spi: Add call to spi_slave_abort() function when spidev driver is released
2019-12-31 16:34:48 +01:00