mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
spi: remove struct spi_message::is_dma_mapped
There are no more users of the deprecated is_dma_mapped in struct spi_message so it can be removed. References in documentation and comments are also removed. A few similar checks if xfer->tx_dma or xfer->rx_dma are not NULL are also removed since these are now guaranteed to be NULL because they were previously set only if is_dma_mapped was true. Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://msgid.link/r/20240325-spi-remove-is_dma_mapped-v2-1-d08d62b61f1c@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6defadbe6c
commit
9b163e0d33
@ -194,9 +194,6 @@ The following logic is used to determine the type of I/O to be used on
|
||||
a per "spi_transfer" basis::
|
||||
|
||||
if spi_message.len > 65536 then
|
||||
if spi_message.is_dma_mapped or rx_dma_buf != 0 or tx_dma_buf != 0 then
|
||||
reject premapped transfers
|
||||
|
||||
print "rate limited" warning
|
||||
use PIO transfers
|
||||
|
||||
|
@ -419,10 +419,6 @@ any more such messages.
|
||||
to make extra copies unless the hardware requires it (e.g. working
|
||||
around hardware errata that force the use of bounce buffering).
|
||||
|
||||
If standard dma_map_single() handling of these buffers is inappropriate,
|
||||
you can use spi_message.is_dma_mapped to tell the controller driver
|
||||
that you've already provided the relevant DMA addresses.
|
||||
|
||||
- The basic I/O primitive is spi_async(). Async requests may be
|
||||
issued in any context (irq handler, task, etc) and completion
|
||||
is reported using a callback provided with the message.
|
||||
|
@ -987,8 +987,6 @@ static void atmel_spi_pdc_next_xfer(struct spi_controller *host,
|
||||
* For DMA, tx_buf/tx_dma have the same relationship as rx_buf/rx_dma:
|
||||
* - The buffer is either valid for CPU access, else NULL
|
||||
* - If the buffer is valid, so is its DMA address
|
||||
*
|
||||
* This driver manages the dma address unless message->is_dma_mapped.
|
||||
*/
|
||||
static int
|
||||
atmel_spi_dma_map_xfer(struct atmel_spi *as, struct spi_transfer *xfer)
|
||||
@ -1374,8 +1372,7 @@ static int atmel_spi_one_transfer(struct spi_controller *host,
|
||||
* DMA map early, for performance (empties dcache ASAP) and
|
||||
* better fault reporting.
|
||||
*/
|
||||
if ((!host->cur_msg->is_dma_mapped)
|
||||
&& as->use_pdc) {
|
||||
if (as->use_pdc) {
|
||||
if (atmel_spi_dma_map_xfer(as, xfer) < 0)
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -1454,8 +1451,7 @@ static int atmel_spi_one_transfer(struct spi_controller *host,
|
||||
}
|
||||
}
|
||||
|
||||
if (!host->cur_msg->is_dma_mapped
|
||||
&& as->use_pdc)
|
||||
if (as->use_pdc)
|
||||
atmel_spi_dma_unmap_xfer(host, xfer);
|
||||
|
||||
if (as->use_pdc)
|
||||
|
@ -944,7 +944,6 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
|
||||
struct spi_transfer *transfer)
|
||||
{
|
||||
struct driver_data *drv_data = spi_controller_get_devdata(controller);
|
||||
struct spi_message *message = controller->cur_msg;
|
||||
struct chip_data *chip = spi_get_ctldata(spi);
|
||||
u32 dma_thresh = chip->dma_threshold;
|
||||
u32 dma_burst = chip->dma_burst_size;
|
||||
@ -959,16 +958,6 @@ static int pxa2xx_spi_transfer_one(struct spi_controller *controller,
|
||||
|
||||
/* Check if we can DMA this transfer */
|
||||
if (transfer->len > MAX_DMA_LEN && chip->enable_dma) {
|
||||
|
||||
/* Reject already-mapped transfers; PIO won't always work */
|
||||
if (message->is_dma_mapped
|
||||
|| transfer->rx_dma || transfer->tx_dma) {
|
||||
dev_err(&spi->dev,
|
||||
"Mapped transfer length of %u is greater than %d\n",
|
||||
transfer->len, MAX_DMA_LEN);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Warn ... we force this to PIO mode */
|
||||
dev_warn_ratelimited(&spi->dev,
|
||||
"DMA disabled for transfer length %u greater than %d\n",
|
||||
|
@ -3709,9 +3709,6 @@ static int __spi_split_transfer_maxsize(struct spi_controller *ctlr,
|
||||
* to the same values as *xferp, so tx_buf, rx_buf and len
|
||||
* are all identical (as well as most others)
|
||||
* so we just have to fix up len and the pointers.
|
||||
*
|
||||
* This also includes support for the depreciated
|
||||
* spi_message.is_dma_mapped interface.
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -3725,12 +3722,8 @@ static int __spi_split_transfer_maxsize(struct spi_controller *ctlr,
|
||||
/* Update rx_buf, tx_buf and DMA */
|
||||
if (xfers[i].rx_buf)
|
||||
xfers[i].rx_buf += offset;
|
||||
if (xfers[i].rx_dma)
|
||||
xfers[i].rx_dma += offset;
|
||||
if (xfers[i].tx_buf)
|
||||
xfers[i].tx_buf += offset;
|
||||
if (xfers[i].tx_dma)
|
||||
xfers[i].tx_dma += offset;
|
||||
|
||||
/* Update length */
|
||||
xfers[i].len = min(maxsize, xfers[i].len - offset);
|
||||
|
@ -955,8 +955,8 @@ struct spi_res {
|
||||
* struct spi_transfer - a read/write buffer pair
|
||||
* @tx_buf: data to be written (DMA-safe memory), or NULL
|
||||
* @rx_buf: data to be read (DMA-safe memory), or NULL
|
||||
* @tx_dma: DMA address of tx_buf, if @spi_message.is_dma_mapped
|
||||
* @rx_dma: DMA address of rx_buf, if @spi_message.is_dma_mapped
|
||||
* @tx_dma: DMA address of tx_buf, currently not for client use
|
||||
* @rx_dma: DMA address of rx_buf, currently not for client use
|
||||
* @tx_nbits: number of bits used for writing. If 0 the default
|
||||
* (SPI_NBITS_SINGLE) is used.
|
||||
* @rx_nbits: number of bits used for reading. If 0 the default
|
||||
@ -1066,8 +1066,7 @@ struct spi_transfer {
|
||||
/*
|
||||
* It's okay if tx_buf == rx_buf (right?).
|
||||
* For MicroWire, one buffer must be NULL.
|
||||
* Buffers must work with dma_*map_single() calls, unless
|
||||
* spi_message.is_dma_mapped reports a pre-existing mapping.
|
||||
* Buffers must work with dma_*map_single() calls.
|
||||
*/
|
||||
const void *tx_buf;
|
||||
void *rx_buf;
|
||||
@ -1111,8 +1110,6 @@ struct spi_transfer {
|
||||
* struct spi_message - one multi-segment SPI transaction
|
||||
* @transfers: list of transfer segments in this transaction
|
||||
* @spi: SPI device to which the transaction is queued
|
||||
* @is_dma_mapped: if true, the caller provided both DMA and CPU virtual
|
||||
* addresses for each transfer buffer
|
||||
* @pre_optimized: peripheral driver pre-optimized the message
|
||||
* @optimized: the message is in the optimized state
|
||||
* @prepared: spi_prepare_message was called for the this message
|
||||
@ -1146,8 +1143,6 @@ struct spi_message {
|
||||
|
||||
struct spi_device *spi;
|
||||
|
||||
unsigned is_dma_mapped:1;
|
||||
|
||||
/* spi_optimize_message() was called for this message */
|
||||
bool pre_optimized;
|
||||
/* __spi_optimize_message() was called for this message */
|
||||
|
Loading…
Reference in New Issue
Block a user