2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/drivers/net/ethernet/marvell
Thomas Petazzoni 59b9a31ede net: mvpp2: adapt rxq distribution to PPv2.2
In PPv2.1, we have a maximum of 8 RXQs per port, with a default of 4
RXQs per port, and we were assigning RXQs 0->3 to the first port, 4->7
to the second port, 8->11 to the third port, etc.

In PPv2.2, we have a maximum of 32 RXQs per port, and we must allocate
RXQs from the range of 32 RXQs available for each port. So port 0 must
use RXQs in the range 0->31, port 1 in the range 32->63, etc.

This commit adapts the mvpp2 to this difference between PPv2.1 and
PPv2.2:

 - The constant definition MVPP2_MAX_RXQ is replaced by a new field
   'max_port_rxqs' in 'struct mvpp2', which stores the maximum number of
   RXQs per port. This field is initialized during ->probe() depending
   on the IP version.

 - MVPP2_RXQ_TOTAL_NUM is removed, and instead we calculate the total
   number of RXQs by multiplying the number of ports by the maximum of
   RXQs per port. This was anyway used in only one place.

 - In mvpp2_port_probe(), the calculation of port->first_rxq is adjusted
   to cope with the different allocation strategy between PPv2.1 and
   PPv2.2. Due to this change, the 'next_first_rxq' argument of this
   function is no longer needed and is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-09 10:12:11 -08:00
..
Kconfig net: mvpp2: enable building on 64-bit platforms 2017-02-21 13:16:17 -05:00
Makefile net: mvneta: bm: add support for hardware buffer management 2016-03-14 12:19:46 -04:00
mv643xx_eth.c net: mv643xx_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
mvmdio.c net: mvmdio: do not clk_disable_unprepare() NULL clock 2016-10-03 02:03:27 -04:00
mvneta_bm.c net: mvneta: Fix lacking spinlock initialization 2016-05-25 12:35:08 -07:00
mvneta_bm.h net: mvneta: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
mvneta.c net: mvneta: make mvneta_eth_tool_ops static 2017-02-17 12:16:29 -05:00
mvpp2.c net: mvpp2: adapt rxq distribution to PPv2.2 2017-03-09 10:12:11 -08:00
pxa168_eth.c net: pxa168_eth: Do not clobber PHY link outside of state machine 2017-02-07 13:48:21 -05:00
skge.c skge: use napi_complete_done() 2017-02-05 16:11:57 -05:00
skge.h skge: Rename LED_OFF and LED_ON in marvel skge driver to avoid conflicts with leds namespace 2016-10-18 11:56:30 -04:00
sky2.c net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
sky2.h net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00