Mirko Vogt
29a5258c6b
spi: spi-sun6i: Fix chipselect/clock bug
...
[ Upstream commit 0d7993b234c9fad8cb6bec6adfaa74694ba85ecb ]
The current sun6i SPI implementation initializes the transfer too early,
resulting in SCK going high before the transfer. When using an additional
(gpio) chipselect with sun6i, the chipselect is asserted at a time when
clock is high, making the SPI transfer fail.
This is due to SUN6I_GBL_CTL_BUS_ENABLE being written into
SUN6I_GBL_CTL_REG at an early stage. Moving that to the transfer
function, hence, right before the transfer starts, mitigates that
problem.
Fixes: 3558fe900e (spi: sunxi: Add Allwinner A31 SPI controller driver)
Signed-off-by: Mirko Vogt <mirko-dev|linux@nanl.de>
Signed-off-by: Ralf Schlatterbeck <rsc@runtux.com>
Link: https://lore.kernel.org/r/20210614144507.y3udezjfbko7eavv@runtux.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:21:01 +02:00
..
Kconfig
spi: Prevent adding devices below an unregistering controller
2020-12-29 13:44:48 +01:00
Makefile
Merge remote-tracking branches 'spi/topic/octeon', 'spi/topic/pic32-sqi', 'spi/topic/pxa2xx' and 'spi/topic/qup' into spi-next
2016-09-30 09:14:14 -07:00
spi-adi-v3.c
spi-altera.c
spi-ath79.c
spi-atmel.c
spi: atmel: fix handling of cs_change set on non-last xfer
2020-01-23 08:19:36 +01:00
spi-au1550.c
spi-axi-spi-engine.c
spi: spi-axi: fix potential use-after-free after deregistration
2017-12-09 22:01:48 +01:00
spi-bcm-qspi.c
spi: bcm-qspi: Fix use-after-free on unbind
2020-12-11 13:38:01 +01:00
spi-bcm-qspi.h
spi: iproc-qspi: Add Broadcom iProc SoCs support
2016-09-24 20:03:25 +01:00
spi-bcm53xx.c
spi: bcm53xx: add spi_flash_read callback for MMIO-based reads
2016-04-18 13:53:46 +01:00
spi-bcm53xx.h
spi-bcm63xx-hsspi.c
spi-bcm63xx.c
Merge remote-tracking branches 'spi/topic/bcm63xx', 'spi/topic/butterfly', 'spi/topic/cadence' and 'spi/topic/davinci' into spi-next
2016-01-11 16:48:30 +00:00
spi-bcm2835.c
spi: bcm2835: Release the DMA channel if probe fails after dma_init
2020-12-11 13:38:01 +01:00
spi-bcm2835aux.c
spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
2020-12-29 13:44:47 +01:00
spi-bfin-sport.c
spi: spi-bfin-sport: Remove deprecated create_singlethread_workqueue
2016-07-03 14:24:31 +02:00
spi-bfin5xx.c
spi: spi-bfin5xx: Remove deprecated create_singlethread_workqueue
2016-07-03 14:14:31 +02:00
spi-bitbang-txrx.h
spi-bitbang.c
spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
2019-07-10 09:55:43 +02:00
spi-brcmstb-qspi.c
spi: brcmstb-qspi: Broadcom settop platform driver
2016-09-14 18:03:32 +01:00
spi-butterfly.c
spi-cadence.c
spi: cadence: cache reference clock rate during probe
2021-01-23 15:38:19 +01:00
spi-cavium-octeon.c
spi: octeon: Split driver into Octeon specific and common parts
2016-07-24 21:54:29 +01:00
spi-cavium-thunderx.c
spi: spi-cavium-thunderx: Add missing pci_release_regions()
2020-01-12 11:24:21 +01:00
spi-cavium.c
spi: octeon: Split driver into Octeon specific and common parts
2016-07-24 21:54:29 +01:00
spi-cavium.h
spi: octeon: Add ThunderX driver
2016-08-19 16:24:39 +01:00
spi-clps711x.c
spi: clps711x: Driver refactor
2016-07-07 11:44:43 +02:00
spi-coldfire-qspi.c
spi-davinci.c
spi: davinci: Fix use-after-free on unbind
2020-12-29 13:45:06 +01:00
spi-dln2.c
spi: dln2: Fix reference leak to master
2021-05-22 10:40:16 +02:00
spi-dw-mid.c
spi: dw: Return any value retrieved from the dma_transfer callback
2020-06-20 10:24:18 +02:00
spi-dw-mmio.c
spi: dw: Disable clock after unregistering the host
2018-03-24 11:00:10 +01:00
spi-dw-pci.c
spi: dw-pci: Spelling s/paltforms/platforms/g
2016-05-11 18:26:19 +01:00
spi-dw.c
spi: dw: Return any value retrieved from the dma_transfer callback
2020-06-20 10:24:18 +02:00
spi-dw.h
spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
2020-05-20 08:15:34 +02:00
spi-efm32.c
spi-ep93xx.c
spi: spi-ep93xx: Fix the PTR_ERR() argument
2016-05-24 16:54:50 +01:00
spi-falcon.c
spi-fsl-cpm.c
QE: Move QE from arch/powerpc to drivers/soc
2015-12-22 17:12:56 -06:00
spi-fsl-cpm.h
spi-fsl-dspi.c
spi: fix initial SPI_SR value in spi-fsl-dspi
2020-07-22 09:10:50 +02:00
spi-fsl-espi.c
spi: fsl-espi: avoid processing uninitalized data on error
2016-10-26 11:14:52 +01:00
spi-fsl-lib.c
spi-fsl-lib.h
spi: fsl-espi: align register access with other drivers
2016-09-14 18:24:47 +01:00
spi-fsl-spi.c
spi: spi-fsl-spi: call spi_finalize_current_message() at the end
2020-01-29 10:24:25 +01:00
spi-fsl-spi.h
spi-gpio.c
spi-img-spfi.c
spi: img-spfi: fix reference leak in img_spfi_resume
2020-12-29 13:44:53 +01:00
spi-imx.c
spi: imx: do not access registers while clocks disabled
2018-02-03 17:05:43 +01:00
spi-iproc-qspi.c
spi: iproc-qspi: Add Broadcom iProc SoCs support
2016-09-24 20:03:25 +01:00
spi-jcore.c
spi: jcore: remove unnecessary platform_set_drvdata()
2016-08-09 10:40:05 +01:00
spi-lm70llp.c
spi-loopback-test.c
spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
2021-07-20 16:20:58 +02:00
spi-lp8841-rtc.c
spi: lp-8841: return correct error code from probe
2016-02-26 11:06:38 +09:00
spi-meson-spifc.c
spi: meson: Add GXBB compatible
2016-09-12 20:11:39 +01:00
spi-mpc52xx-psc.c
spi: spi-mpc52xx-psc: Remove deprecated create_singlethread_workqueue
2016-07-03 14:23:25 +02:00
spi-mpc52xx.c
spi-mpc512x-psc.c
spi-mt65xx.c
spi: mediatek: remove spi_master_put in mtk_spi_remove()
2016-07-27 19:00:16 +01:00
spi-mxs.c
spi-nuc900.c
spi-oc-tiny.c
spi-omap-100k.c
spi: omap-100k: Fix the length judgment problem
2021-07-20 16:20:58 +02:00
spi-omap-uwire.c
spi-omap2-mcspi.c
spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
2019-11-28 18:29:02 +01:00
spi-orion.c
spi: mvebu: fix baudrate calculation for armada variant
2017-01-15 13:42:57 +01:00
spi-pic32-sqi.c
spi: pic32-sqi: use list_move_tail and list_move
2016-08-08 11:56:40 +01:00
spi-pic32.c
spi: pic32: Don't leak DMA channels in probe error path
2020-12-29 13:45:06 +01:00
spi-pl022.c
spi: pl022: Remove obsolete struct pl022 members from kerneldoc
2016-02-17 12:08:55 +00:00
spi-ppc4xx.c
spi-pxa2xx-dma.c
spi: pxa2xx: Remove pointer to chip data from driver data
2016-09-12 20:01:27 +01:00
spi-pxa2xx-pci.c
spi: pxa2xx: Fix the controller numbering for Wildcat Point
2021-03-03 17:44:38 +01:00
spi-pxa2xx.c
spi: pxa2xx: Fix use-after-free on unbind
2021-01-17 13:57:54 +01:00
spi-pxa2xx.h
spi: pxa2xx: Allow 64-bit DMA
2018-05-22 16:57:56 +02:00
spi-qup.c
spi: qup: call spi_qup_pm_resume_runtime before suspending
2020-04-02 17:20:20 +02:00
spi-rb4xx.c
spi: rb4xx: Don't leak SPI master in probe error path
2020-12-29 13:45:06 +01:00
spi-rockchip.c
spi: rockchip: initialize dma_slave_config properly
2019-11-25 09:53:53 +01:00
spi-rspi.c
spi: rspi: Fix sequencer reset during initialization
2019-05-31 06:48:31 -07:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
ARM: s3c: fix fiq for clang IAS
2021-03-03 17:44:33 +01:00
spi-s3c24xx.c
spi-s3c64xx.c
spi: s3c64xx: fix inconsistency between binding and driver
2017-03-12 06:41:41 +01:00
spi-sc18is602.c
spi: sc18is602: Don't leak SPI master in probe error path
2020-12-29 13:45:06 +01:00
spi-sh-hspi.c
spi-sh-msiof.c
spi: sh-msiof: fix deferred probing
2019-11-28 18:28:20 +01:00
spi-sh-sci.c
spi-sh.c
spi: spi-sh: Fix use-after-free on unbind
2020-12-29 13:45:06 +01:00
spi-sirf.c
spi-st-ssc4.c
spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
2020-12-29 13:45:06 +01:00
spi-sun4i.c
spi: sun4i: disable clocks in the remove function
2018-02-25 11:05:49 +01:00
spi-sun6i.c
spi: spi-sun6i: Fix chipselect/clock bug
2021-07-20 16:21:01 +02:00
spi-tegra20-sflash.c
spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
2020-12-29 13:44:54 +01:00
spi-tegra20-slink.c
spi: tegra20-slink: fix reference leak in slink ops of tegra20
2020-12-29 13:44:54 +01:00
spi-tegra114.c
spi: tegra114: fix reference leak in tegra spi ops
2020-12-29 13:44:54 +01:00
spi-test.h
spi-ti-qspi.c
spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
2020-12-29 13:44:53 +01: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:20:58 +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-xcomm.c
spi-xilinx.c
spi: xilinx: Detect stall with Unknown commands
2017-12-29 17:42:59 +01:00
spi-xlp.c
spi: xlp: Add ACPI support for Vulcan SPI controller
2016-08-09 15:25:43 +01:00
spi-xtensa-xtfpga.c
spi-zynqmp-gqspi.c
spi/zynqmp: remove entry that causes a cs glitch
2020-04-02 17:20:21 +02:00
spi.c
spi: Fix use-after-free with devm_spi_alloc_*
2021-06-03 08:23:30 +02:00
spidev.c
spi: spidev: fix a potential use-after-free in spidev_release()
2020-07-22 09:10:44 +02:00