[LEDE-DEV] [PATCH 5/5] ag71xx: remove dma_unmap_single as it is no-op.
Rosen Penev
rosenp at gmail.com
Mon Dec 4 11:40:24 PST 2017
Qualcomm claims this is no-op for MIPS. Original commit message below:
From: Ben Menchaca <ben.menchaca at qca.qualcomm.com>
Date: Fri, 7 Jun 2013 11:19:08 -0500
Subject: [ag71xx] DMA unmap FROM_DEVICE no-op for our arch
The invalidate for FROM_DEVICE map/unmap pairs is done in the map.
The unmap is a no-op, but there is a cost for accessing that no-op
function through the large number of indirection layers presented
by the MIPS linux dma_ops.
Signed-off-by: Ben Menchaca <ben.menchaca at qca.qualcomm.com>
Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
.../files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index 566e951..b67e04e 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -1051,8 +1051,14 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit)
pktlen = desc->ctrl & pktlen_mask;
pktlen -= ETH_FCS_LEN;
- dma_unmap_single(&dev->dev, ring->buf[i].dma_addr,
- ag->rx_buf_size, DMA_FROM_DEVICE);
+ /*
+ * This is where we'd unmap our buffer from the GMAC in a
+ * general use of the DMA API. On a MIPS platform this would
+ * be a complete no-op so we don't bother:
+ *
+ * dma_unmap_single(&dev->dev, ring->buf[i].dma_addr,
+ * ag->rx_buf_size, DMA_FROM_DEVICE);
+ */
dev->stats.rx_packets++;
dev->stats.rx_bytes += pktlen;
--
2.7.4
More information about the Lede-dev
mailing list