android_kernel_asus_sm8350/drivers/spi
Christophe Leroy d64a45c019 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
(backported from upstream 8a5299a1278eadf1e08a598a5345c376206f171e)

For different reasons, fsl-spi driver performs bits_per_word
modifications for different reasons:
- On CPU mode, to minimise amount of interrupts
- On CPM/QE mode to work around controller byte order

For CPU mode that's done in fsl_spi_prepare_message() while
for CPM mode that's done in fsl_spi_setup_transfer().

Reunify all of it in fsl_spi_prepare_message(), and catch
impossible cases early through master's bits_per_word_mask
instead of returning EINVAL later.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/0ce96fe96e8b07cba0613e4097cfd94d09b8919a.1680371809.git.christophe.leroy@csgroup.eu
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-05-30 12:44:08 +01:00
..
atmel-quadspi.c spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller 2022-04-27 13:50:50 +02:00
internals.h
Kconfig spi: Prevent adding devices below an unregistering controller 2020-08-26 10:40:50 +02:00
Makefile ARM: SoC driver updates for v5.4 2019-09-16 15:52:38 -07: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: change clk_disable_unprepare to clk_unprepare 2021-12-29 12:23:34 +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: remove spi-master setup and cleanup assignment 2021-05-11 14:04:05 +02:00
spi-atmel.c spi: atmel: Put allocated master before return 2021-03-04 10:26:30 +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-bcm63xx-hsspi.c spi: bcm63xx-hsspi: Fix multi-bit mode setting 2023-03-11 16:43:47 +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: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers 2022-07-29 17:14:16 +02:00
spi-bcm2835aux.c spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe 2020-12-02 08:49:54 +01:00
spi-bcm-qspi.c spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op() 2022-04-15 14:18:38 +02:00
spi-bcm-qspi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 459 2019-06-19 17:09:09 +02:00
spi-bitbang-txrx.h
spi-bitbang.c spi: Cleanup on failure of initial setup 2021-06-16 11:59:38 +02: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 initialisation of runtime PM again 2021-07-28 13:30:56 +02: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
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 spi: davinci: Fix use-after-free on unbind 2020-12-30 11:51:41 +01:00
spi-dln2.c spi: dln2: Fix reference leak to master 2021-05-11 14:04:06 +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: Fix issue with uninitialized dma_slave_config 2021-09-15 09:47:29 +02:00
spi-fsl-espi.c spi: fsl-espi: Only process interrupts for expected events 2020-10-07 08:01:27 +02: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 PM reference leak in lpspi_prepare_xfer_hardware() 2021-05-14 09:44:21 +02: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-spi: Re-organise transfer bits_per_word adaptation 2023-05-30 12:44:08 +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: Fix use-after-free on unbind 2021-06-03 08:59:06 +02:00
spi-gpio.c spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode 2023-01-18 11:41:12 +01:00
spi-img-spfi.c spi: img-spfi: Fix pm_runtime_get_sync() error checking 2022-06-14 18:11:33 +02:00
spi-imx.c spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3 2023-05-30 12:44:03 +01: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: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM 2020-08-19 08:16:14 +02: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 spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf' 2021-07-14 16:53:10 +02: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 reference leak in spi_mem_access_start 2020-12-30 11:51:04 +01:00
spi-meson-spicc.c spi: meson-spicc: add IRQ check in meson_spicc_probe 2022-02-08 18:24:30 +01:00
spi-meson-spifc.c spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe 2022-01-27 09:19:37 +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: Avoid NULL pointer crash in interrupt 2022-02-08 18:24:30 +01:00
spi-mt7621.c spi: mt7621: Don't leak SPI master in probe error path 2020-12-30 11:51:42 +01:00
spi-mxic.c spi: mxic: Fix the transmit path 2022-04-15 14:17:59 +02:00
spi-mxs.c spi: mxs: fix reference leak in mxs_spi_probe 2020-12-30 11:51:09 +01:00
spi-npcm-fiu.c spi: npcm-fiu: Disable clock in probe error path 2021-01-23 15:57:56 +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: spi-nxp-fspi: move the register operation after the clock enable 2021-06-30 08:47:44 -04: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-omap2-mcspi.c spi: Cleanup on failure of initial setup 2021-06-16 11:59:38 +02:00
spi-omap-100k.c spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe 2022-10-26 13:22:25 +02:00
spi-omap-uwire.c spi: Cleanup on failure of initial setup 2021-06-16 11:59:38 +02: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: spi-pic32: Fix issue with uninitialized dma_slave_config 2021-09-15 09:47:29 +02:00
spi-pl022.c spi: spl022: fix Microwire full duplex mode 2021-11-17 09:48:21 +01: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 spi: pxa2xx-pci: Balance reference count for PCI DMA device 2022-04-15 14:18:04 +02:00
spi-pxa2xx.c spi: Cleanup on failure of initial setup 2021-06-16 11:59:38 +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: Don't skip cleanup in remove's error path 2023-05-17 11:35:47 +02:00
spi-rb4xx.c spi: rb4xx: Don't leak SPI master in probe error path 2020-12-30 11:51:42 +01:00
spi-rockchip.c spi: rockchip: Fix error in SPI slave pio read 2020-08-19 08:15:58 +02:00
spi-rspi.c spi: spi-rspi: Fix PIO fallback on RZ platforms 2022-08-25 11:17:32 +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-fiq.S ARM: s3c: fix fiq for clang IAS 2021-03-04 10:26:16 +01: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: s3c64xx: Fix large transfers with DMA 2022-10-26 13:22:25 +02:00
spi-sc18is602.c spi: sc18is602: Don't leak SPI master in probe error path 2020-12-30 11:51:42 +01: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: spi-sh: Fix use-after-free on unbind 2020-12-30 11:51:41 +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-sprd-adi.c spi: sprd: Fix the wrong WDG_LOAD_VAL 2021-09-15 09:47:30 +02:00
spi-sprd.c spi: sprd: Add missing MODULE_DEVICE_TABLE 2021-06-16 11:59:34 +02:00
spi-st-ssc4.c spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path 2020-12-30 11:51:42 +01:00
spi-stm32-qspi.c spi: stm32-qspi: Fix wait_cmd timeout in APM mode 2022-06-14 18:11:27 +02:00
spi-stm32.c spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run 2022-12-08 11:22:57 +01: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: spi-sun6i: Fix chipselect/clock bug 2021-07-14 16:53:24 +02:00
spi-synquacer.c spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() 2023-03-11 16:43:47 +01:00
spi-tegra20-sflash.c spi: tegra20-sflash: fix reference leak in tegra_sflash_resume 2020-12-30 11:51:06 +01:00
spi-tegra20-slink.c spi: tegra20: Use of_device_get_match_data() 2022-04-15 14:18:23 +02:00
spi-tegra114.c spi: tegra114: Add missing IRQ check in tegra_spi_probe 2022-04-15 14:18:04 +02: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 return value handling of wait_for_completion_timeout 2022-06-14 18:11:32 +02: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 spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() 2021-07-14 16:53:10 +02:00
spi-txx9.c
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: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op() 2022-03-02 11:41:10 +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: Fix erroneous sgs value with min_t() 2022-04-15 14:17:56 +02:00
spidev.c spi: spidev: remove debug messages that access spidev->spi without locking 2023-02-06 07:52:41 +01:00