android_kernel_xiaomi_sm7250/drivers/spi
Vincent Whitchurch b22226d4e1 spi: s3c64xx: Fix large transfers with DMA
[ Upstream commit 1224e29572f655facfcd850cf0f0a4784f36a903 ]

The COUNT_VALUE in the PACKET_CNT register is 16-bit so the maximum
value is 65535.  Asking the driver to transfer a larger size currently
leads to the DMA transfer timing out.  Implement ->max_transfer_size()
and have the core split the transfer as needed.

Fixes: 230d42d422 ("spi: Add s3c64xx SPI Controller driver")
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Link: https://lore.kernel.org/r/20220927112117.77599-5-vincent.whitchurch@axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 13:19:26 +02:00
..
internals.h
Kconfig spi: Prevent adding devices below an unregistering controller 2020-08-26 10:31:00 +02:00
Makefile
spi-altera.c
spi-armada-3700.c spi: change clk_disable_unprepare to clk_unprepare 2021-12-29 12:20:43 +01:00
spi-ath79.c
spi-atmel.c spi: atmel: Put allocated master before return 2021-03-04 09:39:44 +01:00
spi-au1550.c
spi-axi-spi-engine.c
spi-bcm63xx-hsspi.c spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume 2020-12-30 11:25:52 +01:00
spi-bcm63xx.c
spi-bcm2835.c spi: bcm2835: Release the DMA channel if probe fails after dma_init 2020-12-11 13:25:03 +01:00
spi-bcm2835aux.c spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe 2020-12-30 11:25:37 +01:00
spi-bcm-qspi.c spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op() 2022-04-15 14:15:05 +02:00
spi-bcm-qspi.h
spi-bitbang-txrx.h
spi-bitbang.c
spi-brcmstb-qspi.c
spi-butterfly.c
spi-cadence.c spi: cadence: Correct initialisation of runtime PM again 2021-07-28 11:13:48 +02:00
spi-cavium-octeon.c
spi-cavium-thunderx.c
spi-cavium.c
spi-cavium.h
spi-clps711x.c
spi-coldfire-qspi.c
spi-davinci.c spi: davinci: Fix use-after-free on unbind 2020-12-30 11:26:14 +01:00
spi-dln2.c spi: dln2: Fix reference leak to master 2021-05-22 10:59:15 +02:00
spi-dw-mid.c
spi-dw-mmio.c
spi-dw-pci.c
spi-dw.c
spi-dw.h
spi-efm32.c
spi-ep93xx.c
spi-falcon.c
spi-fsl-cpm.c
spi-fsl-cpm.h
spi-fsl-dspi.c spi: spi-fsl-dspi: Fix issue with uninitialized dma_slave_config 2021-09-22 11:47:51 +02:00
spi-fsl-espi.c spi: fsl-espi: Only process interrupts for expected events 2020-10-07 08:00:07 +02:00
spi-fsl-lib.c
spi-fsl-lib.h
spi-fsl-lpspi.c
spi-fsl-spi.c
spi-fsl-spi.h
spi-gpio.c spi: gpio: Don't leak SPI master in probe error path 2021-06-03 08:38:07 +02:00
spi-img-spfi.c spi: img-spfi: Fix pm_runtime_get_sync() error checking 2022-06-14 16:59:20 +02:00
spi-imx.c
spi-iproc-qspi.c
spi-jcore.c
spi-lantiq-ssc.c spi: lantiq: fix: Rx overflow error in full duplex mode 2020-08-19 08:14:50 +02:00
spi-lm70llp.c
spi-loopback-test.c spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf' 2021-07-20 16:15:43 +02:00
spi-lp8841-rtc.c
spi-mem.c
spi-meson-spicc.c spi: meson-spicc: add IRQ check in meson_spicc_probe 2022-02-08 18:23:16 +01:00
spi-meson-spifc.c spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe 2022-01-27 09:04:21 +01:00
spi-mpc52xx-psc.c
spi-mpc52xx.c
spi-mpc512x-psc.c
spi-mt65xx.c spi: mediatek: Avoid NULL pointer crash in interrupt 2022-02-08 18:23:15 +01:00
spi-mxs.c spi: mxs: fix reference leak in mxs_spi_probe 2020-12-30 11:25:54 +01:00
spi-nuc900.c
spi-oc-tiny.c
spi-omap2-mcspi.c
spi-omap-100k.c spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe 2022-10-26 13:19:25 +02:00
spi-omap-uwire.c
spi-orion.c
spi-pic32-sqi.c
spi-pic32.c spi: spi-pic32: Fix issue with uninitialized dma_slave_config 2021-09-22 11:47:51 +02:00
spi-pl022.c spi: spl022: fix Microwire full duplex mode 2021-11-26 11:35:59 +01:00
spi-ppc4xx.c
spi-pxa2xx-dma.c
spi-pxa2xx-pci.c spi: pxa2xx-pci: Balance reference count for PCI DMA device 2022-04-15 14:14:43 +02:00
spi-pxa2xx.c spi: pxa2xx: Fix use-after-free on unbind 2021-01-17 14:04:20 +01:00
spi-pxa2xx.h
spi-qup.c spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime() 2022-10-26 13:19:25 +02:00
spi-rb4xx.c spi: rb4xx: Don't leak SPI master in probe error path 2020-12-30 11:26:14 +01:00
spi-rockchip.c
spi-rspi.c
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S ARM: s3c: fix fiq for clang IAS 2021-03-04 09:39:35 +01:00
spi-s3c24xx.c
spi-s3c64xx.c spi: s3c64xx: Fix large transfers with DMA 2022-10-26 13:19:26 +02:00
spi-sc18is602.c spi: sc18is602: Don't leak SPI master in probe error path 2020-12-30 11:26:14 +01:00
spi-sh-hspi.c
spi-sh-msiof.c
spi-sh-sci.c
spi-sh.c spi: spi-sh: Fix use-after-free on unbind 2020-12-30 11:26:14 +01:00
spi-sirf.c
spi-slave-system-control.c
spi-slave-time.c
spi-sprd-adi.c spi: sprd: Fix the wrong WDG_LOAD_VAL 2021-09-22 11:47:51 +02:00
spi-st-ssc4.c spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path 2020-12-30 11:26:14 +01:00
spi-stm32.c spi: stm32: properly handle 0 byte transfer 2021-03-04 09:39:46 +01:00
spi-sun4i.c
spi-sun6i.c spi: spi-sun6i: Fix chipselect/clock bug 2021-07-20 16:15:48 +02:00
spi-tegra20-sflash.c spi: tegra20-sflash: fix reference leak in tegra_sflash_resume 2020-12-30 11:25:52 +01:00
spi-tegra20-slink.c spi: tegra20: Use of_device_get_match_data() 2022-04-15 14:14:54 +02:00
spi-tegra114.c spi: tegra114: Add missing IRQ check in tegra_spi_probe 2022-04-15 14:14:42 +02:00
spi-test.h
spi-ti-qspi.c spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout 2022-06-14 16:59:19 +02:00
spi-tle62x0.c
spi-topcliff-pch.c spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() 2021-07-20 16:15:43 +02:00
spi-txx9.c
spi-uniphier.c
spi-xcomm.c
spi-xilinx.c
spi-xlp.c
spi-xtensa-xtfpga.c
spi-zynqmp-gqspi.c
spi.c spi: Fix erroneous sgs value with min_t() 2022-04-15 14:14:37 +02:00
spidev.c spi: spidev: Align buffers for DMA 2020-08-19 08:15:06 +02:00