net: ethernet: ti: am65-cpsw: Introduce multi queue Rx
authorRoger Quadros <rogerq@kernel.org>
Tue, 10 Sep 2024 09:23:58 +0000 (12:23 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Sep 2024 09:48:59 +0000 (10:48 +0100)
commitda70d184a8c330d6945ed98f39265dada61850a0
tree425f3da29cf03fe5e94a7bbc6ac85706e08b8ef5
parent52fa3b6532ec6f3a1e39bf869b304d3560dd983b
net: ethernet: ti: am65-cpsw: Introduce multi queue Rx

am65-cpsw can support up to 8 queues at Rx.
Use a macro AM65_CPSW_MAX_RX_QUEUES to indicate that.
As there is only one DMA channel for RX traffic, the
8 queues come as 8 flows in that channel.

By default, we will start with 1 flow as defined by the
macro AM65_CPSW_DEFAULT_RX_CHN_FLOWS.

User can change the number of flows by ethtool like so
'ethtool -L ethx rx <N>'

All traffic will still come on flow 0. To get traffic on
different flows the Classifiers will need to be set up.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/am65-cpsw-ethtool.c
drivers/net/ethernet/ti/am65-cpsw-nuss.c
drivers/net/ethernet/ti/am65-cpsw-nuss.h