1
0
Fork 0
alistair23-linux/drivers/spi
Serge Semin cf33598698 spi: dw: Return any value retrieved from the dma_transfer callback
[ Upstream commit f0410bbf7d ]

DW APB SSI DMA-part of the driver may need to perform the requested
SPI-transfer synchronously. In that case the dma_transfer() callback
will return 0 as a marker of the SPI transfer being finished so the
SPI core doesn't need to wait and may proceed with the SPI message
trasnfers pumping procedure. This will be needed to fix the problem
when DMA transactions are finished, but there is still data left in
the SPI Tx/Rx FIFOs being sent/received. But for now make dma_transfer
to return 1 as the normal dw_spi_transfer_one() method.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru>
Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Feng Tang <feng.tang@intel.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: devicetree@vger.kernel.org
Link: https://lore.kernel.org/r/20200529131205.31838-3-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-22 09:31:10 +02:00
..
Kconfig It's a somewhat calmer cycle for docs this time, as the churn of the mass 2019-09-17 16:22:26 -07:00
Makefile ARM: SoC driver updates for v5.4 2019-09-16 15:52:38 -07:00
atmel-quadspi.c spi: atmel-quadspi: fix possible MMIO window size overrun 2020-03-12 13:00:26 +01:00
internals.h spi: Add an helper to flush the message queue 2018-04-23 15:48:18 +01:00
spi-altera.c spi: altera: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:14:50 +01:00
spi-armada-3700.c spi: a3700: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:15:09 +01:00
spi-at91-usart.c spi: at91-usart: add DMA support 2019-05-08 17:45:26 +09:00
spi-ath79.c spi: ath79: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:15:29 +01:00
spi-atmel.c spi: atmel: fix handling of cs_change set on non-last xfer 2020-01-17 19:49:01 +01:00
spi-au1550.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-axi-spi-engine.c spi: spi-axi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:15:49 +01:00
spi-bcm-qspi.c spi: bcm-qspi: when tx/rx buffer is NULL set to 0 2020-06-17 16:40:30 +02:00
spi-bcm-qspi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 459 2019-06-19 17:09:09 +02:00
spi-bcm63xx-hsspi.c spi: bcm63xx-hsspi: Really keep pll clk enabled 2020-03-12 13:00:24 +01:00
spi-bcm63xx.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-bcm2835.c spi: bcm2835: Fix controller unregister order 2020-06-17 16:40:29 +02:00
spi-bcm2835aux.c spi: bcm2835aux: Fix controller unregister order 2020-06-17 16:40:29 +02: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 Linux 5.2-rc4 2019-06-10 18:52:53 +01:00
spi-brcmstb-qspi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 459 2019-06-19 17:09:09 +02:00
spi-butterfly.c spi: docs: convert to ReST and add it to the kABI bookset 2019-07-31 14:13:13 -06:00
spi-cadence.c spi: cadence: Correct handling of native chipselect 2019-12-31 16:45:59 +01:00
spi-cavium-octeon.c spi: octeon: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:17:27 +01:00
spi-cavium-thunderx.c spi: spi-cavium-thunderx: Add missing pci_release_regions() 2020-01-12 12:21:20 +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: clps711x: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:17:36 +01:00
spi-coldfire-qspi.c spi: coldfire-qspi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:17:56 +01:00
spi-davinci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-dln2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
spi-dw-mid.c spi: dw: Return any value retrieved from the dma_transfer callback 2020-06-22 09:31:10 +02:00
spi-dw-mmio.c spi: dw-mmio: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:18:05 +01:00
spi-dw-pci.c Merge branch 'spi-5.4' into spi-next 2019-09-15 10:32:06 +01:00
spi-dw.c spi: dw: Return any value retrieved from the dma_transfer callback 2020-06-22 09:31:10 +02:00
spi-dw.h spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls 2020-02-01 09:34:44 +00:00
spi-efm32.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-ep93xx.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-falcon.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-fsl-cpm.c spi: fsl-spi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:24:26 +01:00
spi-fsl-cpm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-fsl-dspi.c spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion 2020-04-17 10:50:05 +02:00
spi-fsl-espi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-fsl-lib.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-fsl-lib.h spi: fsl: Convert to use CS GPIO descriptors 2019-08-28 14:10:41 +01:00
spi-fsl-lpspi.c spi: fsl-lpspi: fix only one cs-gpio working 2020-02-24 08:36:28 +01:00
spi-fsl-qspi.c spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations 2020-02-24 08:36:54 +01:00
spi-fsl-spi.c spi: fsl: Handle the single hardwired chipselect case 2020-01-12 12:21:13 +01:00
spi-fsl-spi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-geni-qcom.c spi: spi-geni-qcom: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:18:25 +01:00
spi-gpio.c spi: gpio: prevent memory leak in spi_gpio_probe 2019-12-31 16:43:16 +01:00
spi-img-spfi.c spi: img-spfi: fix potential double release 2019-12-31 16:44:46 +01:00
spi-imx.c Merge branch 'spi-5.1' into spi-5.2 for stm32 2019-03-15 17:06:34 +00:00
spi-iproc-qspi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
spi-jcore.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
spi-lantiq-ssc.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-lm70llp.c spi: docs: convert to ReST and add it to the kABI bookset 2019-07-31 14:13:13 -06:00
spi-loopback-test.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-lp8841-rtc.c spi: lp-8841: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:18:35 +01:00
spi-mem.c spi: spi-mem: Fix Dual/Quad modes on Octal-capable devices 2020-06-22 09:30:50 +02:00
spi-meson-spicc.c spi: meson-spicc: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:18:55 +01:00
spi-meson-spifc.c spi: spi-meson-spifc: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:19:14 +01:00
spi-mpc52xx-psc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-mpc52xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
spi-mpc512x-psc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
spi-mt65xx.c spi: mediatek: support large PA 2019-09-13 10:41:10 +01:00
spi-mt7621.c spi: mt7621: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:19:34 +01:00
spi-mxic.c spi: mxic: simplify getting .driver_data 2019-03-20 17:20:29 +00:00
spi-mxs.c spi: mxs: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:19:54 +01:00
spi-npcm-fiu.c spi: npcm-fiu: remove set but not used variable 'retlen' 2019-09-05 18:19:45 +01:00
spi-npcm-pspi.c spi: npcm: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:20:03 +01:00
spi-nxp-fspi.c spi: nxp-fspi: Ensure width is respected in spi-mem operations 2020-01-12 12:21:34 +01:00
spi-oc-tiny.c spi: oc-tiny: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:20:33 +01:00
spi-omap-100k.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-omap-uwire.c
spi-omap2-mcspi.c spi: spi-omap2-mcspi: Support probe deferral for DMA channels 2020-03-25 08:25:41 +01:00
spi-orion.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-pic32-sqi.c spi: pic32-sqi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:20:52 +01:00
spi-pic32.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-pl022.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-ppc4xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-pxa2xx-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-pxa2xx-pci.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
spi-pxa2xx.c spi: pxa2xx: Apply CS clk quirk to BXT 2020-06-22 09:30:51 +02:00
spi-pxa2xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-qcom-qspi.c spi: spi-qcom-qspi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:21:12 +01:00
spi-qup.c spi: qup: call spi_qup_pm_resume_runtime before suspending 2020-03-25 08:25:42 +01:00
spi-rb4xx.c spi: rb4xx: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:21:21 +01:00
spi-rockchip.c Linux 5.2-rc4 2019-06-10 18:52:53 +01:00
spi-rspi.c spi: rspi: Use platform_get_irq_byname_optional() for optional irqs 2020-01-17 19:49:01 +01:00
spi-s3c24xx-fiq.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-s3c24xx-fiq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-s3c24xx.c spi: s3c24xx: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:21:31 +01:00
spi-s3c64xx.c spi: spi-s3c64xx: Fix system resume support 2018-05-17 13:27:08 +09:00
spi-sc18is602.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-sh-hspi.c spi: sh-hspi: Replace spi_master by spi_controller 2019-02-08 13:04:19 +00:00
spi-sh-msiof.c spi: sh-msiof: Use devm_platform_ioremap_resource() helper 2019-08-07 14:24:47 +01:00
spi-sh-sci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-sh.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-sifive.c spi: sifive: disable clk when probe fails and remove 2019-12-31 16:44:34 +01:00
spi-sirf.c spi: sirf: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:22:00 +01:00
spi-slave-mt27xx.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-slave-system-control.c spi: slave: Fix missing break in switch 2018-10-03 16:23:10 +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-sprd-adi.c spi: sprd: adi: Add missing lock protection when rebooting 2019-12-31 16:44:25 +01:00
spi-sprd.c spi: sprd: Fix the incorrect SPI register 2020-01-17 19:49:00 +01:00
spi-st-ssc4.c spi: st-ssc4: add missed pm_runtime_disable 2019-12-31 16:45:37 +01:00
spi-stm32-qspi.c spi: stm32-qspi: Fix kernel oops when unbinding driver 2019-12-13 08:43:13 +01:00
spi-stm32.c spi: stm32: return the get_irq error 2019-05-02 10:38:41 +09:00
spi-sun4i.c spi: sun4i: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:22:29 +01:00
spi-sun6i.c spi: sun6i: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:22:49 +01:00
spi-synquacer.c spi: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:15:43 +01:00
spi-tegra20-sflash.c spi: tegra: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:22:58 +01:00
spi-tegra20-slink.c spi: tegra20-slink: add missed clk_unprepare 2019-12-31 16:45:33 +01:00
spi-tegra114.c Linux 5.2-rc4 2019-06-10 18:52:53 +01:00
spi-test.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
spi-ti-qspi.c spi: spi-ti-qspi: Fix a bug when accessing non default CS 2020-01-12 12:21:25 +01:00
spi-tle62x0.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-topcliff-pch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
spi-txx9.c spi: spi-txx9: Add missing clock (un)prepare calls for CCF 2016-08-18 19:10:39 +01:00
spi-uniphier.c spi: uniphier: Fix FIFO threshold 2020-01-09 10:20:04 +01:00
spi-xcomm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
spi-xilinx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-xlp.c spi: xlp: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:23:28 +01:00
spi-xtensa-xtfpga.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
spi-zynq-qspi.c spi: zynq-qspi: use devm_platform_ioremap_resource() to simplify code 2019-09-04 17:24:07 +01:00
spi-zynqmp-gqspi.c spi/zynqmp: remove entry that causes a cs glitch 2020-03-25 08:25:45 +01:00
spi.c spi: Respect DataBitLength field of SpiSerialBusV2() ACPI resource 2020-06-22 09:30:58 +02:00
spidev.c spi: spidev: Fix CS polarity if GPIO descriptors are used 2020-03-12 13:00:22 +01:00