linux_dsm_epyc7002/drivers/net/ethernet/marvell
Marcin Wojtas 71ce391dfb net: mvpp2: enable proper per-CPU TX buffers unmapping
mvpp2 driver allows usage of per-CPU TX processing. Once the packets are
prepared independetly on each CPU, the hardware enqueues the descriptors in
common TX queue. After they are sent, the buffers and associated sk_buffs
should be released on the corresponding CPU.

This is why a special index is maintained in order to point to the right data to
be released after transmission takes place. Each per-CPU TX queue comprise an
array of sent sk_buffs, freed in mvpp2_txq_bufs_free function. However, the
index was used there also for obtaining a descriptor (and therefore a buffer to
be DMA-unmapped) from common TX queue, which was wrong, because it was not
referring to the current CPU.

This commit enables proper unmapping of sent data buffers by indexing them in
per-CPU queues using a dedicated array for keeping their physical addresses.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-08-10 10:57:00 -07:00
..
Kconfig drivers/net: remove all references to obsolete Ethernet-HOWTO 2015-06-23 06:50:35 -07:00
Makefile ethernet: Add new driver for Marvell Armada 375 network unit 2014-07-10 17:18:24 -07:00
mv643xx_eth.c net: mv643xx_eth: Use setup_timer 2015-05-31 21:23:28 -07:00
mvmdio.c net: mvmdio: Use devm_* API to simplify the code 2014-05-23 15:31:49 -04:00
mvneta.c net: mvneta: fix refilling for Rx DMA buffers 2015-07-21 00:30:02 -07:00
mvpp2.c net: mvpp2: enable proper per-CPU TX buffers unmapping 2015-08-10 10:57:00 -07:00
pxa168_eth.c pxa168: fix double deallocation of managed resources 2015-04-26 16:05:49 -04:00
skge.c skge: Unmask interrupts in case of spurious interrupts 2014-12-05 21:33:19 -08:00
skge.h
sky2.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
sky2.h sky2: Receive Overflows not counted 2013-03-29 14:53:19 -04:00