diff options
author | Alexandre Bounine <alexandre.bounine@idt.com> | 2014-04-07 15:38:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-07 16:36:07 -0700 |
commit | 40f847baf50debfd42ad66f862bfcfea069ffbe7 (patch) | |
tree | 01c5e585f81aa6c9e3f43d99192c642a5538fe4c /drivers/rapidio/devices/tsi721.h | |
parent | 3f59b067c5140766591a64a3117d86978c57509b (diff) | |
download | linux-stable-40f847baf50debfd42ad66f862bfcfea069ffbe7.tar.gz linux-stable-40f847baf50debfd42ad66f862bfcfea069ffbe7.tar.bz2 linux-stable-40f847baf50debfd42ad66f862bfcfea069ffbe7.zip |
drivers/rapidio/devices/tsi721_dma.c: optimize use of BDMA descriptors
Combine SG entries describing single contiguous memory block into one
Tsi721 BDMA descriptor. This reduces number of hardware descriptors
required for large data transfers and improves performance on the PCIe
side by reducing number of descriptor fetch requests.
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rapidio/devices/tsi721.h')
-rw-r--r-- | drivers/rapidio/devices/tsi721.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/rapidio/devices/tsi721.h b/drivers/rapidio/devices/tsi721.h index 7061ac0ad428..0305675270ee 100644 --- a/drivers/rapidio/devices/tsi721.h +++ b/drivers/rapidio/devices/tsi721.h @@ -644,6 +644,9 @@ enum tsi721_smsg_int_flag { #ifdef CONFIG_RAPIDIO_DMA_ENGINE +#define TSI721_BDMA_BD_RING_SZ 128 +#define TSI721_BDMA_MAX_BCOUNT (TSI721_DMAD_BCOUNT1 + 1) + struct tsi721_tx_desc { struct dma_async_tx_descriptor txd; struct tsi721_dma_desc *hw_desc; @@ -652,6 +655,7 @@ struct tsi721_tx_desc { u64 rio_addr; /* upper 2-bits of 66-bit RIO address */ u8 rio_addr_u; + u32 bcount; bool interrupt; struct list_head desc_node; struct list_head tx_list; |