summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix mii bus irq assignmentFelix Fietkau2018-03-041-0/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: Move timestamp struct member outside of struct.Rosen Penev2018-02-281-2/+0
| | | | | | | | | | | | | | | With this change, the timestamp variable is only used in ag71xx_check_dma_stuck. Small tx speedup. Based on a Qualcomm commit. ag->timestamp = jiffies was not replaced with netif_trans_update(dev) because of this quote: It should be noted that after this series several instances of netif_trans_update() are useless (if they occur in .ndo_start_xmit and driver doesn't set LLTX flag -- stack already did an update). From: http://lists.openwall.net/netdev/2016/05/03/87 Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: use global timestamp for hang checkFelix Fietkau2018-02-051-2/+3
| | | | | | | Shrink the size of struct ag71xx_buf to 8 bytes, which improves cache footprint Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: Reorder ag71xx struct members for better cache performanceRosen Penev2018-02-051-10/+17
| | | | | | | | | | | | | | | Qualcomm claims this improves the D-cache footprint. Origina commit message below: From: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Date: Fri, 7 Jun 2013 10:57:28 -0500 Subject: [ag71xx] cluster/align structs for cache perf Cluster the frequently used, per-packet structures in ag71xx near to each other, and cacheline-align them. Some other re-ordering occurred to move "warmer" structures near the per-packet structures. Signed-off-by: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ag71xx: Reduce NAPI weight to 32.Rosen Penev2017-12-081-1/+6
| | | | | | | | | | | | | | Qualcomm claims this reduces cache misses. Original commit message below: From: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Date: Tue, 11 Jun 2013 12:18:46 -0500 Subject: [ag71xx] reduce NAPI weight In an attempt to increase our cache warmth, we are decreasing NAPI. This increases the warmth of the reused SKBs. Signed-off-by: Ben Menchaca <ben.menchaca@qca.qualcomm.com> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Revert "ag71xx: Switch from driver to kernel macro for NAPI_WEIGHT."Rosen Penev2017-12-081-2/+3
| | | | | | The motivation for this was misguided. It turns out tuning the NAPI weight could be useful for testing purposes. Therefore reverting. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ag71xx: Switch from driver to kernel macro for NAPI_WEIGHT.Rosen Penev2017-11-061-3/+2
| | | | | | NAPI_POLL_WEIGHT was introduced in the kernel for exactly this purpose 5 years ago. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: prevent spurious ethernet resets from dma hang check false positivesFelix Fietkau2016-07-021-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "ar71xx: prevent spurious ethernet resets from dma hang check false ↵Felix Fietkau2016-06-261-1/+1
| | | | | | positives" This reverts commit 3d58d7f053eae83b59baf5c8b8a58da78653f605.
* ar71xx: prevent spurious ethernet resets from dma hang check false positivesFelix Fietkau2016-06-261-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: increase rx ring size to improve performanceFelix Fietkau2016-02-111-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48694
* ag71xx: store ring size order instead of ring size to avoid div/modFelix Fietkau2016-02-111-3/+11
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48693
* ag71xx: increase tx ring size to improve performanceFelix Fietkau2016-02-111-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48692
* ar71xx: improve ethernet driver cache footprint by removing an unnecessary ↵Felix Fietkau2014-12-091-1/+6
| | | | | | | | pointer Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43588
* ar71xx: on ar716x, split ethernet packets in 512 byte chunks instead of 256 ↵Felix Fietkau2014-09-061-1/+1
| | | | | | | | (improves performance) (patch from #13072) Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42427
* ar71xx: split packets into multiple descriptors on ar716xFelix Fietkau2014-08-291-3/+7
| | | | | | | | | | | This improves performance when doing concurrent rx/tx on a single ethernet MAC, e.g. when routing between VLANs. Fixes #13072 Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42328
* ar71xx: ag71xx: store descriptor packet length mask in ag71xx structGabor Juhos2013-12-201-5/+1
| | | | | | | | | | | | | | | The currently used bitmask is not correct for all SoCs. Introduce a new field in struct ag71xx and store the bitmask in that. Use the current value for now, it will be adjusted for each SoCs in further patches. Aslo use the new field directly in the ag71xx_rx_packets and ag71xx_hard_start_xmit() functions and remove the ag71xx_desc_pktlen() helper. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39144
* ar71xx: ag71xx: compute the RX buffer size from the maximum frame sizeGabor Juhos2013-12-171-2/+0
| | | | | | | | | | | | | | | | Currently, the AG71XX_RX_PKT_SIZE value limits the received frame size to 1514/1516 bytes with/without a VLAN header respectively. However the hardware limit is controlled by the value the AG71XX_REG_MAC_MFL register which contains the value of the max_frame_len field. Compute the RX buffer size from the max_frame_len field to get rid of the 1514/1516 byte limitation. Also remove the unused AG71XX_RX_PKT_SIZE definition. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39121
* ar71xx: ag71xx: store RX buffer size in the ag71xx structGabor Juhos2013-12-171-1/+1
| | | | | | | | This allows to change the value dynamically. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39120
* ar71xx: ag71xx: store maximum frame length in the ag71xx structGabor Juhos2013-12-171-0/+2
| | | | | | | | | This will allow to use different values for the different SoCs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39117
* ar71xx: ethernet: reduce tx dma ring size further to improve cache footprintFelix Fietkau2013-08-131-2/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37765
* ar71xx: ethernet: reduce tx and rx DMA ring size to improve cache footprintFelix Fietkau2013-08-121-2/+2
| | | | | | | | 256 entries is a bit excessive, even for gigabit speeds Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37762
* ar71xx: ethernet: cache skb->len in the tx function to avoid accessing it ↵Felix Fietkau2013-08-121-2/+5
| | | | | | | | | | again in completion Improves ethernet performance, especially during bridging Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37761
* ar71xx: improve rx performance of the ethernet driver by using build_skb to ↵Felix Fietkau2012-05-281-1/+5
| | | | | | deliver a cache-hot skb to the network stack SVN-Revision: 31934
* ar71xx: fix MII clock settings for various chips, improves ethernet ↵Felix Fietkau2012-05-271-0/+8
| | | | | | stability on AR934x SVN-Revision: 31925
* ar71xx: remove AG71XX_RX_PKT_RESERVE, it is no longer necessary (found by ↵Felix Fietkau2012-05-151-2/+1
| | | | | | Eric Dumazet) SVN-Revision: 31736
* ar71xx: merge files-3.2 to filesGabor Juhos2012-02-101-0/+466
SVN-Revision: 30405