mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
spi: au1550: t->{tx,rx}_dma checks
There are no more peripheral drivers that set t->tx_dma or t->rx_dma so these will always == 0. Therefore, we can remove these checks since they are always true. Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://msgid.link/r/20240328-spi-more-tx-rx-buf-cleanup-v1-1-9ec1ceedf08c@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a5bef84422
commit
c2064672f1
@ -314,11 +314,8 @@ static int au1550_spi_dma_txrxb(struct spi_device *spi, struct spi_transfer *t)
|
||||
|
||||
hw->tx = t->tx_buf;
|
||||
hw->rx = t->rx_buf;
|
||||
dma_tx_addr = t->tx_dma;
|
||||
dma_rx_addr = t->rx_dma;
|
||||
|
||||
/*
|
||||
* check if buffers are already dma mapped, map them otherwise:
|
||||
* - first map the TX buffer, so cache data gets written to memory
|
||||
* - then map the RX buffer, so that cache entries (with
|
||||
* soon-to-be-stale data) get removed
|
||||
@ -326,23 +323,17 @@ static int au1550_spi_dma_txrxb(struct spi_device *spi, struct spi_transfer *t)
|
||||
* use temp rx buffer (preallocated or realloc to fit) for rx dma
|
||||
*/
|
||||
if (t->tx_buf) {
|
||||
if (t->tx_dma == 0) { /* if DMA_ADDR_INVALID, map it */
|
||||
dma_tx_addr = dma_map_single(hw->dev,
|
||||
(void *)t->tx_buf,
|
||||
t->len, DMA_TO_DEVICE);
|
||||
if (dma_mapping_error(hw->dev, dma_tx_addr))
|
||||
dev_err(hw->dev, "tx dma map error\n");
|
||||
}
|
||||
dma_tx_addr = dma_map_single(hw->dev, (void *)t->tx_buf,
|
||||
t->len, DMA_TO_DEVICE);
|
||||
if (dma_mapping_error(hw->dev, dma_tx_addr))
|
||||
dev_err(hw->dev, "tx dma map error\n");
|
||||
}
|
||||
|
||||
if (t->rx_buf) {
|
||||
if (t->rx_dma == 0) { /* if DMA_ADDR_INVALID, map it */
|
||||
dma_rx_addr = dma_map_single(hw->dev,
|
||||
(void *)t->rx_buf,
|
||||
t->len, DMA_FROM_DEVICE);
|
||||
if (dma_mapping_error(hw->dev, dma_rx_addr))
|
||||
dev_err(hw->dev, "rx dma map error\n");
|
||||
}
|
||||
dma_rx_addr = dma_map_single(hw->dev, (void *)t->rx_buf,
|
||||
t->len, DMA_FROM_DEVICE);
|
||||
if (dma_mapping_error(hw->dev, dma_rx_addr))
|
||||
dev_err(hw->dev, "rx dma map error\n");
|
||||
} else {
|
||||
if (t->len > hw->dma_rx_tmpbuf_size) {
|
||||
int ret;
|
||||
@ -398,10 +389,10 @@ static int au1550_spi_dma_txrxb(struct spi_device *spi, struct spi_transfer *t)
|
||||
DMA_FROM_DEVICE);
|
||||
}
|
||||
/* unmap buffers if mapped above */
|
||||
if (t->rx_buf && t->rx_dma == 0)
|
||||
if (t->rx_buf)
|
||||
dma_unmap_single(hw->dev, dma_rx_addr, t->len,
|
||||
DMA_FROM_DEVICE);
|
||||
if (t->tx_buf && t->tx_dma == 0)
|
||||
if (t->tx_buf)
|
||||
dma_unmap_single(hw->dev, dma_tx_addr, t->len,
|
||||
DMA_TO_DEVICE);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user