- 03 4月, 2019 18 次提交
-
-
由 Geert Uytterhoeven 提交于
In accordance with hardware specification Ver 1.0, reset register transmission / reception setting before transfer. Signed-off-by: NHiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com> [geert: Use readl_poll_timeout_atomic()] Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Geert Uytterhoeven 提交于
Replace the open-coded loop in sh_msiof_modify_ctr_wait() by a call to the readl_poll_timeout_atomic() helper macro. Suggested-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Clark Wang 提交于
Add the missing complete operations for dma_completion to fix the problem of blocking at the wait_for_completion_interruptible() function when use spi_slave_abort(). Signed-off-by: NClark Wang <xiaoning.wang@nxp.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andrey Smirnov 提交于
Drop unused pdata copy in struct spi_gpio. No functional change intended. Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Chris Healy <cphealy@gmail.com> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andrey Smirnov 提交于
Swap branches of the if statement in order to simplify it's logical condition being checked. No functional change intended. Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Chris Healy <cphealy@gmail.com> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andrey Smirnov 提交于
Use a local "struct spi_bitbang *bb" in spi_gpio_probe() for brevity. No functional change intended. Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Chris Healy <cphealy@gmail.com> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andrey Smirnov 提交于
Use a local "struct device *dev" in spi_gpio_probe() for brevity. No functional change intended. Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Chris Healy <cphealy@gmail.com> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andrey Smirnov 提交于
Spi_to_pdata() is not used anywhere in the code. Drop it. Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com> Cc: Mark Brown <broonie@kernel.org> Cc: Chris Healy <cphealy@gmail.com> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
Under some circumstances the default 30 us polling limit is not optimal and may lead to long delays because we are waiting on an interrupt. with this patch we have the possibility to influence this policy. So make this limit (in us) configurable via a module parameters (but also modifyable via /sys/modules/...) Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
Setup gpio-cs to the correct levels during setup and also make the gpio definitely an output GPIO. This is transparently fixing some badly configured DTs in the process where cs-gpio is set but the gpios are still configured with native cs. It also makes 100% sure that the initial CS levels are as expected - especially on systems with devices on a bus with mixed CS_HIGH/CS_LOW settings. Fixes: 1ea29b39 ("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
From personal bad experience (even as the author of the original driver) it shows that native-cs is "somewhat" supported by the spi bus driver when using a buggy device tree. So make sure that the driver is warning in dmesg about this fact that we are running in a not supported mode that may have surprizing limitations. Fixes: 1ea29b39 ("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
The original driver by default defines num_chipselects as -1. This actually allicates an array of 65535 entries in of_spi_register_master. There is a side-effect for buggy device trees that (contrary to dt-binding documentation) have no cs-gpio defined. This mode was never supported by the driver due to limitations of native cs and additional code complexity and is explicitly not stated to be implemented. To keep backwards compatibility with such buggy DTs we limit the number of chip_selects to 1, as for all practical purposes it is only ever realistic to use a single chip select in native cs mode without negative side-effects. Fixes: 1ea29b39 ("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
Remove dead code that never can get reached, as we limit count to a max of 3. Suggested-by: NHubert Denkmair <h.denkmair@intence.de> Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
On long running tests with a mcp2517fd can controller it showed that on rare occations the data read shows corruptions for longer spi transfers. Example of a 22 byte transfer: expected (as captured on logic analyzer): FF FF 78 00 00 00 08 06 00 00 91 20 77 56 84 85 86 87 88 89 8a 8b read by the driver: FF FF 78 00 00 00 08 06 00 00 91 20 77 56 84 88 89 8a 00 00 8b 9b To fix this use BCM2835_AUX_SPI_STAT_RX_LVL to determine when we may read data from the fifo reliably without any corruption. Surprisingly the only values ever empirically read in BCM2835_AUX_SPI_STAT_RX_LVL are 0x00, 0x10, 0x20 and 0x30. So whenever the mask is not 0 we can read from the fifo in a safe manner. The patch has now been tested intensively and we are no longer able to reproduce the "RX" issue any longer. Fixes: 1ea29b39 ("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Reported-by: NHubert Denkmair <h.denkmair@intence.de> Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
This read of the fifo is a potential candidate for a race condition as the spi transfer is not necessarily finished and so can lead to an early read of the fifo that still misses data. So it has been removed. Fixes: 1ea29b39 ("spi: bcm2835aux: add bcm2835 auxiliary spi device...") Suggested-by: NHubert Denkmair <h.denkmair@intence.de> Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Martin Sperl 提交于
Sharing more code between polling and interrupt-driven mode. Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Acked-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Naga Sureshkumar Relli 提交于
Export spi_mem_default_supports_op(), so that controller drivers can use this. spi-mem driver already exports this using EXPORT_SYMBOL, but not declared it in spi-mem.h. This patch declares spi_mem_default_supports_op() in spi-mem.h and also removes the static from the function prototype. Signed-off-by: NNaga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Geert Uytterhoeven 提交于
Improve maintainability by converting the register bit, bitmask, and bitfield definitions from hexadecimal constants to constructs using BIT(), GENMASK(), or "val << shift". Suggested-by: NSimon Horman <horms+renesas@verge.net.au> Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Acked-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 02 4月, 2019 4 次提交
-
-
由 Rasmus Villemoes 提交于
Taking one interrupt for every byte is rather slow. Since the controller is perfectly capable of transmitting 32 bits at a time, change t->bits_per-word to 32 when the length is divisible by 4 and large enough that the reduced number of interrupts easily compensates for the one or two extra fsl_spi_setup_transfer() calls this causes. Signed-off-by: NRasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Rasmus Villemoes 提交于
Commit c9bfcb31 (spi_mpc83xx: much improved driver) introduced logic to ensure bits_per_word and speed_hz stay the same for a series of spi_transfers with CS active, arguing that The current driver may cause glitches on SPI CLK line since one must disable the SPI controller before changing any HW settings. This sounds quite reasonable. So this is a quite naive attempt at relaxing this sanity checking to only ensure that speed_hz is constant - in the faint hope that if we do not causes changes to the clock-related fields of the SPMODE register (DIV16 and PM), those glitches won't appear. The purpose of this change is to allow automatically optimizing large transfers to use 32 bits-per-word; taking one interrupt for every byte is extremely slow. Signed-off-by: NRasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jarkko Nikula 提交于
Use SPI device pointer in the remaining two error and warning prints in pxa2xx_spi_transfer_one() instead of platform device of the controller It make prints in the function uniform and more useful especially the error print here as it can reveal the driver that has mapped the DMA itself and attempts to transfer more than the maximum supported DMA transfer length. Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Jarkko Nikula 提交于
Pointer to a SPI device is passed to pxa2xx_spi_transfer_one() so there is no need to access it through the current SPI message pointer. Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 01 4月, 2019 4 次提交
-
-
由 Sowjanya Komatineni 提交于
Tegra SPI controller supports lsb first mode. Default is MSB bit first and on selection of SPI_LSB_FIRST through SPI mode transmission happens with LSB bit first. This patch adds SPI_LSB_FIRST flag to mode_bits and also configures it on request. Signed-off-by: NSowjanya Komatineni <skomatineni@nvidia.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Sowjanya Komatineni 提交于
Fixes: Use packed mode for 32 bits per word transfers to increase performance as each packet is a full 32-bit word. Signed-off-by: NSowjanya Komatineni <skomatineni@nvidia.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Rasmus Villemoes 提交于
The comment says that we should not allow changes (to bits_per_word/speed_hz) while CS is active, and indeed the code below does fsl_spi_setup_transfer() when the ->cs_change of the previous spi_transfer was set (and for the very first transfer). So the sanity checking is a bit too strict - we can change it to follow the same logic as is used by the actual transfer loop. Signed-off-by: NRasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Rasmus Villemoes 提交于
__spi_validate() in the generic SPI code sets ->speed_hz and ->bits_per_word to non-zero values, so this condition is always true. Signed-off-by: NRasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 26 3月, 2019 2 次提交
-
-
由 Ludovic Barre 提交于
This patch adds the dma support for the stm32-qspi hardware. The memory buffer constraints (lowmem, vmalloc, kmap) are taken into account by framework. In read mode, the memory map is preferred vs dma (due to better throughput). If the dma transfer fails the buffer is sent by polling. Signed-off-by: NLudovic Barre <ludovic.barre@st.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Ludovic Barre 提交于
This patch adds spi_master_put in release function to drop the controller's refcount. Signed-off-by: NLudovic Barre <ludovic.barre@st.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 25 3月, 2019 3 次提交
-
-
由 Stefan Roese 提交于
This patch moves the MT7621 SPI driver, which is used on some Ralink / MediaTek MT76xx MIPS SoC's, out of the staging directory. No changes to the source code are done in this patch. This driver version was tested successfully on an MT7688 based platform with an SPI NOR on CS0 and an SPI NAND on CS1 without any issues (so far). This patch also documents the devicetree bindings for the MT7621 SPI device driver. Signed-off-by: NStefan Roese <sr@denx.de> Cc: Rob Herring <robh@kernel.org> Cc: Mark Brown <broonie@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: NeilBrown <neil@brown.name> Cc: Sankalp Negi <sankalpnegi2310@gmail.com> Cc: Chuanhong Guo <gch981213@gmail.com> Cc: John Crispin <john@phrozen.org> Cc: Armando Miraglia <arma2ff0@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Axel Lin 提交于
This checking is already done in __spi_validate_bits_per_word(). Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NNicolas Ferre <nicolas.ferre@microchip.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 YueHaibing 提交于
Fix sparse warning: drivers/spi/atmel-quadspi.c:369:12: warning: symbol 'atmel_qspi_get_name' was not declared. Should it be static? Signed-off-by: NYueHaibing <yuehaibing@huawei.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 21 3月, 2019 8 次提交
-
-
由 Arnd Bergmann 提交于
The newly added tracepoints in the spi-mxs driver cause a link error when the driver is a loadable module: ERROR: "__tracepoint_spi_transfer_stop" [drivers/spi/spi-mxs.ko] undefined! ERROR: "__tracepoint_spi_transfer_start" [drivers/spi/spi-mxs.ko] undefined! I'm not quite sure where to put the export statements, but directly after the inclusion of the header seems as good as any other place. Fixes: f3fdea3a ("spi: mxs: add tracing to custom .transfer_one_message callback") Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andy Shevchenko 提交于
It's useful during debug to see what DMA burst size is. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Reviewed-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Andy Shevchenko 提交于
Some masters may have different DMA burst size than hard coded default. In such case respect the value given by DMA burst size provided via platform data. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Reviewed-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Phil Edworthy 提交于
The Synopsys SSI Controller has an interface clock, but most SoCs hide this away. However, on some SoCs you need to explicitly enable the interface clock in order to access the registers. Therefore, add support for an optional interface clock. Signed-off-by: NPhil Edworthy <phil.edworthy@renesas.com> Signed-off-by: NGareth Williams <gareth.williams.jx@renesas.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Gareth Williams 提交于
Add documentation to the Synopsys SPI dt-bindings to support an optional interface clock that may be used for register access. Signed-off-by: NPhil Edworthy <phil.edworthy@renesas.com> Signed-off-by: NGareth Williams <gareth.williams.jx@renesas.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Phil Edworthy 提交于
The Synopsys SSI driver uses a mandatory clock that is not documented, so detail it in the device tree bindings. Also correct the spelling of "pins" in the "Optional Properties" section for the driver. Signed-off-by: NPhil Edworthy <phil.edworthy@renesas.com> Signed-off-by: NGareth Williams <gareth.williams.jx@renesas.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Wolfram Sang 提交于
We should get 'driver_data' from 'struct device' directly. Going via platform_device is an unneeded step back and forth. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 kbuild test robot 提交于
Fixes: 2e541b64 ("spi: spi-mem: stm32-qspi: add suspend/resume support") Signed-off-by: Nkbuild test robot <lkp@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 19 3月, 2019 1 次提交
-
-
由 Mark Brown 提交于
Linux 5.1-rc1
-