linux-stable/drivers/spi
Vignesh R 13ae598566 spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
[ Upstream commit baf8b9f8d2 ]

Commit b682cffa3a ("spi: omap2-mcspi: Set FIFO DMA trigger level to word length")
broke SPI transfers where bits_per_word != 8. This is because of
mimsatch between McSPI FIFO level event trigger size (SPI word length) and
DMA request size(word length * maxburst). This leads to data
corruption, lockup and errors like:

	spi1.0: EOW timed out

Fix this by setting DMA maxburst size to 1 so that
McSPI FIFO level event trigger size matches DMA request size.

Fixes: b682cffa3a ("spi: omap2-mcspi: Set FIFO DMA trigger level to word length")
Cc: stable@vger.kernel.org
Reported-by: David Lechner <david@lechnology.com>
Tested-by: David Lechner <david@lechnology.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01 09:14:14 +01:00
..
Kconfig Merge remote-tracking branches 'spi/topic/pxa', 'spi/topic/pxa2xx', 'spi/topic/qup', 'spi/topic/rockchip' and 'spi/topic/sh' into spi-next 2017-09-04 15:51:26 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-adi-v3.c
spi-altera.c spi: altera: Consolidate TX/RX data register access 2017-08-16 11:53:31 +01:00
spi-armada-3700.c spi: a3700: Clear DATA_OUT when performing a read 2018-04-26 11:02:07 +02:00
spi-ath79.c spi/ath79: Fix checkpatch warnings 2017-07-17 12:09:38 +01:00
spi-atmel.c spi: atmel: init FIFOs before spi enable 2018-04-24 09:36:24 +02:00
spi-au1550.c
spi-axi-spi-engine.c spi: spi-axi: fix potential use-after-free after deregistration 2017-12-10 13:40:39 +01:00
spi-bcm-qspi.c spi: bcm-qspi: switch back to reading flash using smaller chunks 2018-11-13 11:14:45 -08:00
spi-bcm-qspi.h
spi-bcm53xx.c spi: bcm53xx: (re)license code to the GPL v2 2017-01-06 18:21:50 +00:00
spi-bcm53xx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi-bcm63xx-hsspi.c Merge remote-tracking branches 'spi/topic/altera', 'spi/topic/at79', 'spi/topic/bcm-qspi', 'spi/topic/bcm63xx' and 'spi/topic/bcm63xx-hspi' into spi-next 2017-09-04 15:51:14 +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:53:37 +02:00
spi-bcm2835aux.c spi: bcm2835aux: fix corruptions for longer spi transfers 2019-09-10 10:32:19 +01:00
spi-bfin-sport.c
spi-bfin5xx.c
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:54:31 +02:00
spi-brcmstb-qspi.c
spi-butterfly.c
spi-cadence.c spi: cadence: Change usleep_range() to udelay(), for atomic context 2018-09-09 19:55:53 +02:00
spi-cavium-octeon.c
spi-cavium-thunderx.c
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 spi: davinci: fix a NULL pointer dereference 2018-09-09 19:55:52 +02:00
spi-dln2.c
spi-dw-mid.c
spi-dw-mmio.c spi: dw: Disable clock after unregistering the host 2017-04-18 19:16:49 +01:00
spi-dw-pci.c
spi-dw.c spi: dw: Make debugfs use bus num and make irq name unique 2017-01-09 11:22:14 +00:00
spi-dw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +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:14:52 -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 imprecise abort on VF500 during probe 2018-09-09 19:55:53 +02:00
spi-fsl-espi.c
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:23:28 +01:00
spi-fsl-spi.c Merge remote-tracking branches 'spi/topic/devprop', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/lantiq' into spi-next 2017-04-26 15:58:04 +01:00
spi-fsl-spi.h
spi-gpio.c
spi-img-spfi.c
spi-imx.c spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook. 2018-12-29 13:39:11 +01:00
spi-iproc-qspi.c
spi-jcore.c
spi-lantiq-ssc.c Merge remote-tracking branches 'spi/topic/devprop', 'spi/topic/fsl', 'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/lantiq' into spi-next 2017-04-26 15:58:04 +01:00
spi-lm70llp.c
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-meson-spicc.c spi: meson-spicc: Fix error handling in meson_spicc_probe() 2018-08-03 07:50:38 +02:00
spi-meson-spifc.c
spi-mpc52xx-psc.c
spi-mpc52xx.c spi/mpc52xx: Combine substrings for two messages 2017-01-17 18:28:19 +00:00
spi-mpc512x-psc.c
spi-mt65xx.c spi: mediatek: use correct mata->xfer_len when in fifo transfer 2019-11-24 08:22:43 +01:00
spi-mxs.c
spi-nuc900.c
spi-oc-tiny.c
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:14:14 +01:00
spi-orion.c spi: Convert to using %pOF instead of full_name 2017-07-19 11:56:23 +01:00
spi-pic32-sqi.c
spi-pic32.c spi: pic32: Use proper enum in dmaengine_prep_slave_rg 2019-11-20 18:00:22 +01:00
spi-pl022.c spi: pl022: constify amba_id 2017-08-23 17:12:05 +01:00
spi-ppc4xx.c spi/ppc4xx: Use kcalloc() in spi_ppc4xx_of_probe() 2017-01-17 18:34:25 +00:00
spi-pxa2xx-dma.c
spi-pxa2xx-pci.c spi: pca2xx-pci: Allow MSI 2017-01-23 18:09:37 +00:00
spi-pxa2xx.c dmaengine: idma64: Use actual device for DMA transfers 2019-06-15 11:54:59 +02:00
spi-pxa2xx.h spi: pxa2xx: Allow 64-bit DMA 2018-05-22 18:53:56 +02: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:23:33 +01:00
spi-rspi.c spi: rspi: Fix sequencer reset during initialization 2019-05-31 06:47:35 -07:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
spi-s3c24xx.c
spi-s3c64xx.c spi: spi-s3c64xx: Fix system resume support 2018-08-03 07:50:20 +02:00
spi-sc18is602.c spi: sc18is602: Add OF device ID table 2017-02-22 10:50:09 -08:00
spi-sh-hspi.c
spi-sh-msiof.c spi: sh-msiof: fix deferred probing 2019-12-01 09:13:21 +01:00
spi-sh-sci.c
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: fix spelling mistake: "registerred" -> "registered" 2017-06-28 20:02:52 +01:00
spi-slave-system-control.c spi: slave: Add SPI slave handler controlling system state 2017-05-26 13:12:19 +01:00
spi-slave-time.c spi: slave: Add SPI slave handler reporting uptime at previous message 2017-05-26 13:12:04 +01:00
spi-st-ssc4.c spi: st-ssc4: whitespace cleanup 2017-05-26 12:41:07 +01:00
spi-stm32.c spi: stm32: Fix logical error in stm32_spi_prepare_mbr() 2017-09-13 09:42:27 -07:00
spi-sun4i.c spi: sun4i: disable clocks in the remove function 2018-02-25 11:08:02 +01:00
spi-sun6i.c spi: sun6i: disable/unprepare clocks on remove 2018-03-19 08:42:53 +01: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: explicitly enable/disable clock 2018-10-03 17:00:54 -07:00
spi-tegra114.c spi: tegra114: reset controller on probe 2019-05-31 06:47:32 -07:00
spi-test.h spi: loopback-test: add elapsed time check 2017-03-17 21:54:08 +00:00
spi-ti-qspi.c spi: ti-qspi: Fix mmap read when more than one CS in use 2019-03-23 14:35:19 +01:00
spi-tle62x0.c
spi-topcliff-pch.c spi : spi-topcliff-pch: Fix to handle empty DMA buffers 2019-05-31 06:47:35 -07:00
spi-txx9.c
spi-xcomm.c
spi-xilinx.c spi: xilinx: Detect stall with Unknown commands 2017-12-29 17:53:47 +01: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-zynqmp-gqspi.c
spi.c spi: Fix zero length xfer bug 2019-05-31 06:47:35 -07:00
spidev.c spi: spidev: Fix OF tree warning logic 2019-11-24 08:23:29 +01:00