linux/drivers/spi
Larisa Grigore 7aba292eb1
spi: spi-fsl-dspi: Reset SR flags before sending a new message
If, in a previous transfer, the controller sends more data than expected
by the DSPI target, SR.RFDF (RX FIFO is not empty) will remain asserted.
When flushing the FIFOs at the beginning of a new transfer (writing 1
into MCR.CLR_TXF and MCR.CLR_RXF), SR.RFDF should also be cleared.
Otherwise, when running in target mode with DMA, if SR.RFDF remains
asserted, the DMA callback will be fired before the controller sends any
data.

Take this opportunity to reset all Status Register fields.

Fixes: 5ce3cc5674 ("spi: spi-fsl-dspi: Provide support for DSPI slave mode operation (Vybryd vf610)")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Link: https://patch.msgid.link/20250522-james-nxp-spi-v2-3-bea884630cfb@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-05-22 16:05:26 +01:00
..
atmel-quadspi.c spi: atmel-quadspi: remove references to runtime PM on error path 2025-02-16 23:59:53 +00:00
internals.h spi: Rework per message DMA mapped flag to be per transfer 2024-06-10 12:49:03 +01:00
Kconfig spi: SPI_QPIC_SNAND should be tristate and depend on MTD 2025-03-26 16:21:32 +00:00
Makefile spi: sophgo: add SG2044 SPI NOR controller driver 2025-03-11 13:11:24 +00:00
spi-airoha-snfi.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-altera-core.c spi: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:49:05 +01:00
spi-altera-dfl.c spi: spi-altera-dfl: switch to use modern name 2022-12-29 13:22:04 +00:00
spi-altera-platform.c spi: altera: Drop unneeded MODULE_ALIAS 2024-04-15 10:17:25 +09:00
spi-amd.c objtool, spi: amd: Fix out-of-bounds stack access in amd_set_spi_freq() 2025-03-25 23:00:03 +01:00
spi-amlogic-spifc-a1.c spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches 2025-01-09 20:16:26 +00:00
spi-apple.c spi: apple: Set use_gpio_descriptors to true 2024-12-02 00:29:47 +00:00
spi-ar934x.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-armada-3700.c spi: armada-3700: use 'time_left' variable with wait_for_completion_timeout() 2024-04-30 23:57:26 +09:00
spi-aspeed-smc.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi-at91-usart.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-ath79.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-atmel.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-au1550.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-axi-spi-engine.c spi: axi-spi-engine: implement offload support 2025-02-07 20:17:13 +00:00
spi-bcm-qspi.c spi: bcm-qspi: fix SFDP BFPT read by usig mspi read 2024-01-23 13:28:03 +00:00
spi-bcm-qspi.h spi: bcm-qspi: Make bcm_qspi_remove() return void 2022-10-18 19:16:53 +01:00
spi-bcm63xx-hsspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-bcm63xx.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-bcm2835.c spi: bcm2835: Restore native CS probing when pinctrl-bcm2835 is absent 2025-04-02 12:55:32 +01:00
spi-bcm2835aux.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-bcmbca-hsspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-bitbang-txrx.h spi: Get rid of old SPI_MASTER_NO_TX & SPI_MASTER_NO_RX 2023-07-11 13:41:20 +01:00
spi-bitbang.c spi: bitbang: Implement support for MOSI idle state configuration 2024-07-29 01:19:52 +01:00
spi-brcmstb-qspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-butterfly.c parport: Remove parport_driver.devmodel 2024-07-03 16:44:22 +02:00
spi-cadence-quadspi.c spi: cadence-qspi: revert "Improve spi memory performance" 2025-04-01 14:53:11 +01:00
spi-cadence-xspi.c spi: cadence: Fix out-of-bounds array access in cdns_mrvl_xspi_setup_clock() 2025-03-31 16:38:32 +01:00
spi-cadence.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-cavium-octeon.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-cavium-thunderx.c spi: spi-cavium-thunderx: Use helper function devm_clk_get_enabled() 2023-09-11 01:31:59 +01:00
spi-cavium.c spi: cavium: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:50 +00:00
spi-cavium.h spi: cavium: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:50 +00:00
spi-ch341.c spi: ch341: switch to use devm_spi_alloc_host() 2024-09-30 01:12:04 +02:00
spi-clps711x.c spi: clps711x: switch to use modern name 2023-08-07 14:38:28 +01:00
spi-coldfire-qspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-cs42l43.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-davinci.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-dln2.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-dw-bt1.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-dw-core.c spi: dw: Support per spi-mem operation frequency switches 2025-01-09 20:16:28 +00:00
spi-dw-dma.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-dw-mmio.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-dw-pci.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-dw.h spi: dw: Convert dw_spi::num_cs to u32 2024-05-03 11:09:24 +09:00
spi-ep93xx.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-falcon.c spi: falcon: switch to use modern name 2023-08-14 13:10:51 +01:00
spi-fsi.c spi: fsi: Batch TX operations 2025-02-03 19:24:44 +00:00
spi-fsl-cpm.c spi: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:49:05 +01:00
spi-fsl-cpm.h spi: fsl: remove is_dma_mapped checks 2024-03-28 21:09:46 +00:00
spi-fsl-dspi.c spi: spi-fsl-dspi: Reset SR flags before sending a new message 2025-05-22 16:05:26 +01:00
spi-fsl-espi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-fsl-lib.c spi: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:49:05 +01:00
spi-fsl-lib.h spi: fsl: Remove unused extern declarations 2023-07-25 17:40:28 +01:00
spi-fsl-lpspi.c spi: spi-fsl-lpspi: convert timeouts to secs_to_jiffies() 2025-02-26 11:42:56 +00:00
spi-fsl-qspi.c spi: fsl-spi: Remove redundant probe error message 2025-04-10 12:25:21 +01:00
spi-fsl-spi.c spi: fsl-spi: Remove display of virtual address 2025-01-09 12:03:29 +00:00
spi-fsl-spi.h
spi-geni-qcom.c spi: geni-qcom: Fix boot warning related to pm_runtime and devres 2024-10-22 20:49:02 +01:00
spi-gpio.c spi: gpio: Support a single always-selected device 2025-02-05 13:52:57 +00:00
spi-gxp.c spi: spi-gxp: BUG: Correct spi write return value 2023-09-27 17:06:36 +02:00
spi-hisi-kunpeng.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-hisi-sfc-v3xx.c spi: fix typo in the comment 2024-09-30 01:12:21 +02:00
spi-img-spfi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-imx.c spi: spi-imx: Add check for spi_imx_setupxfer() 2025-04-17 12:25:12 +01:00
spi-ingenic.c spi: ingenic: Use new spi_xfer_is_dma_mapped() helper 2024-06-10 12:48:59 +01:00
spi-intel-pci.c spi: intel: Add Panther Lake SPI controller support 2024-12-04 13:44:01 +00:00
spi-intel-platform.c spi: intel: Add protected and locked attributes 2024-10-09 14:41:00 +01:00
spi-intel.c spi: intel: Add protected and locked attributes 2024-10-09 14:41:00 +01:00
spi-intel.h spi: intel: Add protected and locked attributes 2024-10-09 14:41:00 +01:00
spi-iproc-qspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-jcore.c spi: jcore: switch to use modern name 2023-08-14 13:11:05 +01:00
spi-kspi2.c spi: spi-kspi2: Add KEBA SPI controller support 2024-12-04 16:25:22 +00:00
spi-lantiq-ssc.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-ljca.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-lm70llp.c parport: Remove parport_driver.devmodel 2024-07-03 16:44:22 +02:00
spi-loongson-core.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-loongson-pci.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-loongson-plat.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-loongson.h spi: loongson: add bus driver for the loongson spi controller 2023-07-31 15:57:09 +01:00
spi-loopback-test.c spi: loopback-test: Do not split 1024-byte hexdumps 2025-05-05 19:30:31 +09:00
spi-lp8841-rtc.c spi: lp-8841: switch to use modern name 2023-09-11 01:31:31 +01:00
spi-mem.c spi: spi-mem: Add fix to avoid divide error 2025-04-25 13:19:56 +01:00
spi-meson-spicc.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-meson-spifc.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-microchip-core-qspi.c spi: microchip-core-qspi: Support per spi-mem operation frequency switches 2025-01-09 20:16:30 +00:00
spi-microchip-core.c spi: microchip-core: prevent RX overflows when transmit size > FIFO size 2025-03-03 12:10:03 +00:00
spi-mpc52xx-psc.c spi: fix typo in the comment 2024-09-30 01:12:21 +02:00
spi-mpc52xx.c spi: mpc52xx: Add cancel_work_sync before module remove 2024-12-02 00:29:46 +00:00
spi-mpc512x-psc.c spi: mpc512x-psc: switch to use modern name 2023-09-11 01:31:35 +01:00
spi-mt65xx.c spi: mt65xx: add PM QoS support 2025-03-11 13:11:29 +00:00
spi-mt7621.c spi: mt7621: allow GPIO chip select lines 2024-03-25 15:03:02 +00:00
spi-mtk-nor.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-mtk-snfi.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi-mux.c spi: spi-mux: Fix coverity issue, unchecked return value 2025-03-16 23:34:25 +00:00
spi-mxic.c spi: mxic: Support per spi-mem operation frequency switches 2025-01-09 20:16:32 +00:00
spi-mxs.c spi: mxs: support effective_speed_hz 2024-12-09 13:14:36 +00:00
spi-npcm-fiu.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi-npcm-pspi.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-nxp-fspi.c spi: nxp-fspi: Support per spi-mem operation frequency switches 2025-01-09 20:16:33 +00:00
spi-oc-tiny.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-offload-trigger-pwm.c spi: spi-offload-trigger-pwm: add extra headers 2025-02-11 13:15:29 +00:00
spi-offload.c spi: offload: fix use after free 2025-02-12 17:38:46 +00:00
spi-omap-uwire.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-omap2-mcspi.c spi: omap2-mcspi: Correctly handle devm_clk_get_optional() errors 2025-01-21 13:07:03 +00:00
spi-orion.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-pci1xxxx.c spi: pci1xxxx: Use new spi_xfer_is_dma_mapped() helper 2024-06-10 12:49:01 +01:00
spi-pic32-sqi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-pic32.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-pl022.c spi: fix typo in the comment 2024-09-30 01:12:21 +02:00
spi-ppc4xx.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-pxa2xx-dma.c spi: pxa2xx: Remove DMA parameters from struct chip_data 2024-05-03 11:11:36 +09:00
spi-pxa2xx-pci.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-pxa2xx-platform.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi-pxa2xx.c spi: pxa2xx: Fix regression when toggling chip select on LPSS devices 2025-02-04 19:09:07 +00:00
spi-pxa2xx.h spi: pxa2xx: Do not override dev->platform_data on probe 2024-08-22 13:34:05 +01:00
spi-qcom-qspi.c spi: Use of_property_present() for non-boolean properties 2024-11-04 19:18:19 +00:00
spi-qpic-snand.c spi: spi-qpic-snand: fix NAND_READ_LOCATION_2 register handling 2025-04-30 09:38:16 +09:00
spi-qup.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-rb4xx.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-realtek-rtl-snand.c spi: realtek-rtl-snand: Drop unneeded assignment for cache_type 2025-02-03 00:41:38 +00:00
spi-realtek-rtl.c spi: realtek-rtl: switch to use devm_spi_alloc_host() 2023-08-21 14:29:28 +01:00
spi-rockchip-sfc.c spi-nand/spi-mem DTR support 2025-01-10 15:01:33 +00:00
spi-rockchip.c spi-rockchip: Fix register out of bounds access 2025-03-26 13:31:00 +00:00
spi-rpc-if.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-rspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-rzv2m-csi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-s3c64xx.c spi: s3c64xx: extend description of compatible's fifo_depth 2025-02-19 23:08:36 +00:00
spi-sc18is602.c spi: sc18is602: Switch to generic firmware properties and drop of_match_ptr() 2024-12-02 00:32:30 +00:00
spi-sg2044-nor.c spi: sg2044-nor: fix a couple static checker bugs 2025-03-18 14:37:39 +00:00
spi-sh-hspi.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-sh-msiof.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-sh-sci.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-sh.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-sifive.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-slave-mt27xx.c spi: replace and remove 2024-09-30 22:43:40 +01:00
spi-slave-system-control.c spi: slave-system-control: switch to use spi_target_abort() 2024-09-10 12:41:38 +01:00
spi-slave-time.c spi: slave-time: switch to use spi_target_abort() 2024-09-10 12:41:37 +01:00
spi-sn-f-ospi.c spi: sn-f-ospi: Fix division by zero 2025-02-06 11:33:51 +00:00
spi-sprd-adi.c spi: sprd-adi: switch to use spi_alloc_host() 2023-12-11 12:54:53 +00:00
spi-sprd.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-st-ssc4.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-stm32-ospi.c spi: stm32-ospi: Fix an error handling path in stm32_ospi_probe() 2025-04-22 14:58:18 +01:00
spi-stm32-qspi.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi-stm32.c spi: stm32: fix missing device mode capability in stm32mp25 2024-10-10 15:22:37 +01:00
spi-sun4i.c spi: spi-sun4i: fix early activation 2025-05-14 10:56:43 +02:00
spi-sun6i.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-sunplus-sp7021.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-synquacer.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-tegra20-sflash.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-tegra20-slink.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-tegra114.c spi: tegra114: Use value to check for invalid delays 2025-05-08 10:32:40 +09:00
spi-tegra210-quad.c spi: tegra210-quad: add rate limiting and simplify timeout error message 2025-04-15 19:48:25 +01:00
spi-test.h
spi-ti-qspi.c spi: ti-qspi: Use syscon_regmap_lookup_by_phandle_args 2025-01-14 15:18:40 +00:00
spi-tle62x0.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
spi-topcliff-pch.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-uniphier.c Linux 6.12-rc2 2024-10-07 14:53:15 +01:00
spi-wpcm-fiu.c spi: wpcm-fiu: Simplify with dev_err_probe() 2024-08-28 22:22:24 +01:00
spi-xcomm.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
spi-xilinx.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-xlp.c spi: xlp: use 'time_left' variable with wait_for_completion_timeout() 2024-04-30 23:57:32 +09:00
spi-xtensa-xtfpga.c spi: Switch back to struct platform_driver::remove() 2024-09-30 01:12:23 +02:00
spi-zynq-qspi.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi-zynqmp-gqspi.c spi: spi-mem: Introduce a default ->exec_op() debug log 2025-03-20 12:37:11 +00:00
spi.c spi: Updates for v6.15 2025-03-25 19:28:14 -07:00
spidev.c spi: spidev: Add an entry for the gocontroll moduline module slot 2025-03-13 22:43:18 +00:00