[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1592347329-28363-1-git-send-email-yibin.gong@nxp.com>
Date: Wed, 17 Jun 2020 06:42:07 +0800
From: Robin Gong <yibin.gong@....com>
To: broonie@...nel.org, shawnguo@...nel.org, s.hauer@...gutronix.de,
festevam@...il.com, robin.murphy@....com,
matthias.schiffer@...tq-group.com
Cc: kernel@...gutronix.de, linux-imx@....com,
linux-spi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/2] introduce fallback to pio in spi core
Introudce fallback pio way at spi core level so that the tx/rx buffer
mapped by spi core for dma could be unmap and fallback pio again. Hence no
need the below patch where 'dma_sync_sg_for_devic' to sync fresh data back
into 'device' memory and sync to 'cpu' again in spi core.
https://www.spinics.net/lists/arm-kernel/msg812236.html
If you want to use this fallback feature, please set xfer->error with
SPI_TRANS_FAIL_NO_START in case dma transfer failed(but no any data push
into spi bus yet) in spi client driver and add 'master->fallback' checking
in your can_dma() to ensure spi core can fallback to pio next time.
change from:
v2:
1. Add error flag in stuct spi_transfer and fallback to pio if spi client
return SPI_TRANS_FAIL_NO_START failure before dma transfer start.
2. Remove SPI_MASTER_FALLBACK set on master->flags since the above error
flag could ensure no any impact for other spi client drivers which don't
need this feature.
Robin Gong (2):
spi: introduce fallback to pio
spi: imx: add fallback feature
drivers/spi/spi-imx.c | 23 +++++------------------
drivers/spi/spi.c | 11 +++++++++++
include/linux/spi/spi.h | 4 ++++
3 files changed, 20 insertions(+), 18 deletions(-)
--
2.7.4
Powered by blists - more mailing lists