[PATCH 0/7] Raspberry Pi spi0 improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here's a first batch of improvements for the spi0 master on the
Raspberry Pi.  The meat of the series is in its last two patches:

* Patch [6/7] allows DMA for transfer buffers starting at an offset not a
  multiple of 4.  This overcomes a limitation affecting Ethernet drivers
  such as ks8851 which call netdev_alloc_skb_ip_align() to allocate
  deliberately unaligned receive buffers.

* Patch [7/7] speeds up PIO transfers by not polling the RX FIFO when it
  is known to contain data, or the TX FIFO when it is known to have free
  space.

The preceding patches fix rarely encountered bugs, remove obsolete code
and add documentation.

The series has been tested extensively on the "Revolution Pi" family of
open source PLCs (https://revolution.kunbus.com/), but further testing
would be welcome to raise the confidence.

Thanks,

Lukas


Lukas Wunner (7):
  spi: bcm2835: Avoid finishing transfer prematurely in IRQ mode
  spi: bcm2835: Fix book-keeping of DMA termination
  spi: bcm2835: Fix race on DMA termination
  spi: bcm2835: Drop unused code for native Chip Select
  spi: bcm2835: Document struct bcm2835_spi
  spi: bcm2835: Overcome sglist entry length limitation
  spi: bcm2835: Speed up FIFO access if fill level is known

 drivers/spi/spi-bcm2835.c | 478 ++++++++++++++++++++++++++------------
 1 file changed, 334 insertions(+), 144 deletions(-)

-- 
2.19.1




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux