[PATCH 0/4] dma map single page multiple times in sg_list

kernel at martin.sperl.org kernel at martin.sperl.org
Mon May 25 05:44:22 PDT 2015

From: Martin Sperl <kernel at martin.sperl.org>

This patch series implements mapping a single page multiple times
in the sg_list when rx/tx_buf == NULL.

The 1st patch makes this apply to all spi_transfers for which
can_dma returns true, but this means it applies to all spi-masters
with DMA support.

To avoid this there is an api extension in the 3rd patch that allows
drivers to state the requirement in spi_master.flags.

spi-bcm2835 is converted to the new api in patches 2 and 4.

Patch 3 and 4 are optional and reduce impact on drivers that do
not need this feature by extending the API.

All patches apply against for-next, but note that there will be a conflict
if the patch "spi: add missing cleanup in spi_map_msg on error" is
applied already.

Martin Sperl (4):
  spi: dma map a single page multiple times in sg_list for rx/tx_buf ==
  spi: bcm2835: no longer requires SPI_MASTER_MUST_RX/TX
  spi: add SPI_MASTER_MUST_*_SG to avoid unnecessary mapping of null
    pages in sg_lists for masters that do not need it
  spi: bcm2835: set SPI_MASTER_MUST_RX_SG/TX_SG flags

 drivers/spi/spi-bcm2835.c |    4 ++--
 drivers/spi/spi.c         |   40 +++++++++++++++++++++++++++++++++-------
 include/linux/spi/spi.h   |    6 ++++++
 3 files changed, 41 insertions(+), 9 deletions(-)


More information about the linux-rpi-kernel mailing list