aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-09-07 09:46:39 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-09-07 09:46:39 +0000
commit96475a042ec3af58ba77cadf2a283e005038d27c (patch)
tree9272f71403e68ef3fa6d3b94e5d47b8e7904d0d4 /target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
parent4ff0d3f27a1df5850ef9bc797bf5771c47d29964 (diff)
downloadupstream-96475a042ec3af58ba77cadf2a283e005038d27c.tar.gz
upstream-96475a042ec3af58ba77cadf2a283e005038d27c.tar.bz2
upstream-96475a042ec3af58ba77cadf2a283e005038d27c.zip
ar71xx: merge ethernet tx descriptor splitting from trunk (as of r42429) to fix ar716x performance issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42433 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h')
-rw-r--r--target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
index f6d85b9084..2d7c963a44 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
@@ -52,10 +52,13 @@
#define AG71XX_TX_MTU_LEN 1540
-#define AG71XX_TX_RING_SIZE_DEFAULT 32
+#define AG71XX_TX_RING_SPLIT 512
+#define AG71XX_TX_RING_DS_PER_PKT DIV_ROUND_UP(AG71XX_TX_MTU_LEN, \
+ AG71XX_TX_RING_SPLIT)
+#define AG71XX_TX_RING_SIZE_DEFAULT 48
#define AG71XX_RX_RING_SIZE_DEFAULT 128
-#define AG71XX_TX_RING_SIZE_MAX 32
+#define AG71XX_TX_RING_SIZE_MAX 48
#define AG71XX_RX_RING_SIZE_MAX 128
#ifdef CONFIG_AG71XX_DEBUG
@@ -99,7 +102,8 @@ struct ag71xx_ring {
struct ag71xx_buf *buf;
u8 *descs_cpu;
dma_addr_t descs_dma;
- unsigned int desc_size;
+ u16 desc_split;
+ u16 desc_size;
unsigned int curr;
unsigned int dirty;
unsigned int size;