diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2013-07-11 15:03:39 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-07-22 20:54:38 (GMT) |
commit | 03269c658b7a2f6ccfa44d7270da8446881f9552 (patch) | |
tree | 916d7488bc534039498f2deb8a9d11c6b92b907f | |
parent | 4d1ac0721aae84eec3c8aa54c7574b14f79863bc (diff) | |
download | linux-03269c658b7a2f6ccfa44d7270da8446881f9552.tar.xz |
wil6210: Optimize Tx completion
No need to modify HW descriptor, as it will be re-initialized on Tx.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/wil6210/txrx.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 8fde73a..dd5f35e 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -855,10 +855,12 @@ int wil_tx_complete(struct wil6210_priv *wil, int ringid) } else { dma_unmap_page(dev, pa, dmalen, DMA_TO_DEVICE); } - d->dma.addr.addr_low = 0; - d->dma.addr.addr_high = 0; - d->dma.length = 0; - d->dma.status = TX_DMA_STATUS_DU; + /* + * There is no need to touch HW descriptor: + * - ststus bit TX_DMA_STATUS_DU is set by design, + * so hardware will not try to process this desc., + * - rest of descriptor will be initialized on Tx. + */ vring->swtail = wil_vring_next_tail(vring); done++; } |