WSL2-Linux-Kernel/drivers/spi
Vladimir Oltean b4e46c9954
spi: sc18is602: implement .max_{transfer,message}_size() for the controller
Allow SPI peripherals attached to this controller to know what is the
maximum transfer size and message size, so they can limit their transfer
lengths properly in case they are otherwise capable of larger transfer
sizes. For the sc18is602, this is 200 bytes in both cases, since as far
as I understand, it isn't possible to tell the controller to keep the
chip select asserted after the STOP command is sent.

The controller can support SPI messages larger than 200 bytes if
cs_change is set for individual transfers such that the portions with
chip select asserted are never longer than 200 bytes. What is not
supported is just SPI messages with a continuous chip select larger than
200. I don't think it is possible to express this using the current API,
so drivers which do send SPI messages with cs_change can safely just
look at the max_transfer_size limit.

An example of user for this is sja1105_xfer() in
drivers/net/dsa/sja1105/sja1105_spi.c which sends by default 64 * 4 =
256 byte transfers.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20210520131238.2903024-3-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-05-21 13:13:33 +01:00
..
Kconfig spi: altera: Make SPI_ALTERA_CORE invisible 2021-04-28 16:34:59 +01:00
Makefile spi: altera: Add DFL bus driver for Altera API Controller 2021-04-20 17:26:41 +01:00
atmel-quadspi.c
internals.h
spi-altera-core.c spi: altera: separate core code from platform code 2021-04-20 17:26:40 +01:00
spi-altera-dfl.c spi: altera: Add DFL bus driver for Altera API Controller 2021-04-20 17:26:41 +01:00
spi-altera-platform.c spi: altera: separate core code from platform code 2021-04-20 17:26:40 +01:00
spi-amd.c
spi-ar934x.c
spi-armada-3700.c
spi-at91-usart.c
spi-ath79.c
spi-atmel.c
spi-au1550.c
spi-axi-spi-engine.c
spi-bcm-qspi.c
spi-bcm-qspi.h
spi-bcm63xx-hsspi.c
spi-bcm63xx.c
spi-bcm2835.c
spi-bcm2835aux.c
spi-bitbang-txrx.h
spi-bitbang.c
spi-brcmstb-qspi.c
spi-butterfly.c
spi-cadence-quadspi.c spi: Updates for v5.13 2021-04-26 16:32:11 -07:00
spi-cadence.c
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-dln2.c
spi-dw-bt1.c
spi-dw-core.c
spi-dw-dma.c
spi-dw-mmio.c
spi-dw-pci.c
spi-dw.h
spi-ep93xx.c
spi-falcon.c
spi-fsi.c spi: fsi: add a missing of_node_put 2021-04-21 16:07:04 +01:00
spi-fsl-cpm.c
spi-fsl-cpm.h
spi-fsl-dspi.c spi: spi-fsl-dspi: Fix a resource leak in an error handling path 2021-05-10 13:00:27 +01:00
spi-fsl-espi.c
spi-fsl-lib.c
spi-fsl-lib.h
spi-fsl-lpspi.c
spi-fsl-qspi.c
spi-fsl-spi.c
spi-fsl-spi.h
spi-geni-qcom.c
spi-gpio.c
spi-hisi-kunpeng.c
spi-hisi-sfc-v3xx.c
spi-img-spfi.c
spi-imx.c sound updates for 5.13 2021-04-30 12:48:14 -07:00
spi-iproc-qspi.c
spi-jcore.c
spi-lantiq-ssc.c
spi-lm70llp.c
spi-loopback-test.c
spi-lp8841-rtc.c
spi-mem.c
spi-meson-spicc.c
spi-meson-spifc.c
spi-mpc52xx-psc.c
spi-mpc52xx.c
spi-mpc512x-psc.c
spi-mt65xx.c
spi-mt7621.c
spi-mtk-nor.c
spi-mux.c
spi-mxic.c
spi-mxs.c
spi-npcm-fiu.c
spi-npcm-pspi.c
spi-nxp-fspi.c
spi-oc-tiny.c
spi-omap-100k.c
spi-omap-uwire.c
spi-omap2-mcspi.c
spi-orion.c
spi-pic32-sqi.c
spi-pic32.c
spi-pl022.c
spi-ppc4xx.c
spi-pxa2xx-dma.c
spi-pxa2xx-pci.c
spi-pxa2xx.c
spi-pxa2xx.h
spi-qcom-qspi.c
spi-qup.c
spi-rb4xx.c
spi-realtek-rtl.c
spi-rockchip.c
spi-rpc-if.c
spi-rspi.c
spi-s3c24xx-regs.h
spi-s3c24xx.c
spi-s3c64xx.c
spi-sc18is602.c spi: sc18is602: implement .max_{transfer,message}_size() for the controller 2021-05-21 13:13:33 +01:00
spi-sh-hspi.c
spi-sh-msiof.c
spi-sh-sci.c
spi-sh.c
spi-sifive.c
spi-slave-mt27xx.c
spi-slave-system-control.c
spi-slave-time.c
spi-sprd-adi.c
spi-sprd.c spi: sprd: Add missing MODULE_DEVICE_TABLE 2021-05-12 13:01:43 +01:00
spi-st-ssc4.c
spi-stm32-qspi.c spi: stm32-qspi: fix debug format string 2021-04-22 16:30:40 +01:00
spi-stm32.c
spi-sun4i.c
spi-sun6i.c
spi-synquacer.c
spi-tegra20-sflash.c
spi-tegra20-slink.c
spi-tegra114.c
spi-tegra210-quad.c
spi-test.h
spi-ti-qspi.c
spi-tle62x0.c
spi-topcliff-pch.c
spi-uniphier.c
spi-xcomm.c
spi-xilinx.c
spi-xlp.c
spi-xtensa-xtfpga.c
spi-zynq-qspi.c spi: spi-zynq-qspi: Fix stack violation bug 2021-04-29 14:06:06 +01:00
spi-zynqmp-gqspi.c spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails 2021-04-16 13:44:15 +01:00
spi.c spi: Don't have controller clean up spi device before driver unbind 2021-05-14 13:24:56 +01:00
spidev.c spidev: Add Micron SPI NOR Authenta device compatible 2021-04-20 17:29:41 +01:00