[PATCH net-next v11 10/10] net: ethernet: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers

2023-12-19 Thread Roger Quadros
eth0 queue_mask 3 --show-coalesce Comparing to gro_flush_timeout and napi_defer_hard_irqs, this patch allows to enable IRQ coalesing for RX path separately. Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros --- drivers/net/ethernet/ti/am65-cpsw-ethtool.c | 79

[PATCH net-next v11 09/10] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support

2023-12-19 Thread Roger Quadros
o 124 (excluding 4 bytes mCRC). [1] AM62x TRM - https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf [2] AM62x Silicon Errata - https://www.ti.com/lit/er/sprz487c/sprz487c.pdf Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Kconfig | 5 +- drivers/net/eth

[PATCH net-next v11 08/10] net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode

2023-12-19 Thread Roger Quadros
t Port 1 fifo2, CIR=200Mbit/s, EIR=2Mbit/s Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Kconfig | 3 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 + drivers/net/ethernet/ti/am6

[PATCH net-next v11 07/10] net: ethernet: am65-cpsw: Move register definitions to header file

2023-12-19 Thread Roger Quadros
Move register definitions to header file. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 35 - drivers/net/ethernet/ti/am65-cpsw-qos.h | 35 + 2 files changed, 35

[PATCH net-next v11 06/10] net: ethernet: ti: am65-cpsw: Move code to avoid forward declaration

2023-12-19 Thread Roger Quadros
Move this code around to avoid forward declaration. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 86 - 1 file changed, 43 insertions(+), 43 deletions(-) Changelog: v11: no change v10: no

[PATCH net-next v11 05/10] net: ethernet: am65-cpsw: cleanup TAPRIO handling

2023-12-19 Thread Roger Quadros
Handle offloading commands using switch-case in am65_cpsw_setup_taprio(). Move checks to am65_cpsw_taprio_replace(). Use NL_SET_ERR_MSG_MOD for error messages. Change error message from "Failed to set cycle time extension" to "cycle time extension not supported" Signed-o

[PATCH net-next v11 04/10] net: ethernet: am65-cpsw: Rename TI_AM65_CPSW_TAS to TI_AM65_CPSW_QOS

2023-12-19 Thread Roger Quadros
We will use this Kconfig option to not only enable TAS/EST offload but also other QoS features like Multiqueue priority descriptors and MAC-Merge/Frame Preemption. TI_AM65_CPSW_QOS seems a more appropriate Kconfig option name than TI_AM65_CPSW_TAS. Signed-off-by: Roger Quadros Reviewed-by

[PATCH net-next v11 03/10] net: ethernet: am65-cpsw: Build am65-cpsw-qos only if required

2023-12-19 Thread Roger Quadros
Build am65-cpsw-qos only if CONFIG_TI_AM65_CPSW_TAS is enabled. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Makefile| 3 ++- drivers/net/ethernet/ti/am65-cpsw-qos.c | 12 drivers/net/ethernet/ti/am65-cpsw-qos.h | 26

[PATCH net-next v11 02/10] selftests: forwarding: ethtool_mm: fall back to aggregate if device does not report pMAC stats

2023-12-19 Thread Roger Quadros
From: Vladimir Oltean Some devices do not support individual 'pmac' and 'emac' stats. For such devices, resort to 'aggregate' stats. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger Quadros --- tools/testing/selftest

[PATCH net-next v11 01/10] selftests: forwarding: ethtool_mm: support devices with higher rx-min-frag-size

2023-12-19 Thread Roger Quadros
hardware. The problem is that the selftest expects lldpad to report back to us the same value as we requested. Make the selftest smarter by figuring out on its own what is a reasonable value to expect. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger

[PATCH net-next v11 00/10] net: ethernet: am65-cpsw: Add mqprio, frame preemption & coalescing

2023-12-19 Thread Roger Quadros
Changelog information in each patch file. cheers, -roger *** BLURB HERE *** Grygorii Strashko (2): net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode net: ethernet: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers Roger Quadros (6): net: ethernet: am65-cpsw:

Re: [PATCH net-next v10 08/10] net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode

2023-12-18 Thread Roger Quadros
On 18/12/2023 14:55, Roger Quadros wrote: > From: Grygorii Strashko > > This patch adds MQPRIO Qdisc offload in full 'channel' mode which allows > not only setting up pri:tc mapping, but also configuring TX shapers > (rate-limiting) on external port FIFOs. > &

Re: [PATCH net-next v9 08/10] net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode

2023-12-18 Thread Roger Quadros
Hi Simon, On 18/12/2023 15:43, Simon Horman wrote: > On Fri, Dec 15, 2023 at 03:20:46PM +0200, Roger Quadros wrote: >> From: Grygorii Strashko >> >> This patch adds MQPRIO Qdisc offload in full 'channel' mode which allows >> not only setting up pri:tc map

[PATCH net-next v10 10/10] net: ethernet: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers

2023-12-18 Thread Roger Quadros
eth0 queue_mask 3 --show-coalesce Comparing to gro_flush_timeout and napi_defer_hard_irqs, this patch allows to enable IRQ coalesing for RX path separately. Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros --- drivers/net/ethernet/ti/am65-cpsw-ethtool.c | 79

[PATCH net-next v10 09/10] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support

2023-12-18 Thread Roger Quadros
o 124 (excluding 4 bytes mCRC). [1] AM62x TRM - https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf [2] AM62x Silicon Errata - https://www.ti.com/lit/er/sprz487c/sprz487c.pdf Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Kconfig | 5 +- drivers/net/eth

[PATCH net-next v10 08/10] net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode

2023-12-18 Thread Roger Quadros
t Port 1 fifo2, CIR=200Mbit/s, EIR=2Mbit/s Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Kconfig | 3 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 + drivers/net/ethernet/ti/am6

[PATCH net-next v10 07/10] net: ethernet: am65-cpsw: Move register definitions to header file

2023-12-18 Thread Roger Quadros
Move register definitions to header file. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 35 - drivers/net/ethernet/ti/am65-cpsw-qos.h | 35 + 2 files changed, 35

[PATCH net-next v10 06/10] net: ethernet: ti: am65-cpsw: Move code to avoid forward declaration

2023-12-18 Thread Roger Quadros
Move this code around to avoid forward declaration. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 86 - 1 file changed, 43 insertions(+), 43 deletions(-) v10: no change. v9: no code change

[PATCH net-next v10 05/10] net: ethernet: am65-cpsw: cleanup TAPRIO handling

2023-12-18 Thread Roger Quadros
Handle offloading commands using switch-case in am65_cpsw_setup_taprio(). Move checks to am65_cpsw_taprio_replace(). Use NL_SET_ERR_MSG_MOD for error messages. Change error message from "Failed to set cycle time extension" to "cycle time extension not supported" Signed-o

[PATCH net-next v10 04/10] net: ethernet: am65-cpsw: Rename TI_AM65_CPSW_TAS to TI_AM65_CPSW_QOS

2023-12-18 Thread Roger Quadros
We will use this Kconfig option to not only enable TAS/EST offload but also other QoS features like Multiqueue priority descriptors and MAC-Merge/Frame Preemption. TI_AM65_CPSW_QOS seems a more appropriate Kconfig option name than TI_AM65_CPSW_TAS. Signed-off-by: Roger Quadros Reviewed-by

[PATCH net-next v10 03/10] net: ethernet: am65-cpsw: Build am65-cpsw-qos only if required

2023-12-18 Thread Roger Quadros
Build am65-cpsw-qos only if CONFIG_TI_AM65_CPSW_TAS is enabled. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Makefile| 3 ++- drivers/net/ethernet/ti/am65-cpsw-qos.c | 12 drivers/net/ethernet/ti/am65-cpsw-qos.h | 26

[PATCH net-next v10 02/10] selftests: forwarding: ethtool_mm: fall back to aggregate if device does not report pMAC stats

2023-12-18 Thread Roger Quadros
From: Vladimir Oltean Some devices do not support individual 'pmac' and 'emac' stats. For such devices, resort to 'aggregate' stats. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger Quadros --- tools/testing/selftest

[PATCH net-next v10 01/10] selftests: forwarding: ethtool_mm: support devices with higher rx-min-frag-size

2023-12-18 Thread Roger Quadros
hardware. The problem is that the selftest expects lldpad to report back to us the same value as we requested. Make the selftest smarter by figuring out on its own what is a reasonable value to expect. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger

[PATCH net-next v10 00/10] net: ethernet: am65-cpsw: Add mqprio, frame preemption & coalescing

2023-12-18 Thread Roger Quadros
Grygorii Strashko (2): net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode net: ethernet: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers Roger Quadros (6): net: ethernet: am65-cpsw: Build am65-cpsw-qos only if required net: ethernet: am65-cpsw: Rename

Re: [PATCH net-next v9 02/10] selftests: forwarding: ethtool_mm: fall back to aggregate if device does not report pMAC stats

2023-12-18 Thread Roger Quadros
On 15/12/2023 19:27, Vladimir Oltean wrote: > On Fri, Dec 15, 2023 at 03:20:40PM +0200, Roger Quadros wrote: >> diff --git a/tools/testing/selftests/net/forwarding/lib.sh >> b/tools/testing/selftests/net/forwarding/lib.sh >> index 8f6ca458af9a..763c262a3453 100755 &

[PATCH net-next v9 10/10] net: ethernet: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers

2023-12-15 Thread Roger Quadros
eth0 queue_mask 3 --show-coalesce Comparing to gro_flush_timeout and napi_defer_hard_irqs, this patch allows to enable IRQ coalesing for RX path separately. Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros --- drivers/net/ethernet/ti/am65-cpsw-ethtool.c | 79

[PATCH net-next v9 09/10] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support

2023-12-15 Thread Roger Quadros
o 124 (excluding 4 bytes mCRC). [1] AM62x TRM - https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf [2] AM62x Silicon Errata - https://www.ti.com/lit/er/sprz487c/sprz487c.pdf Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/Kconfig | 5 +- drivers/net/eth

[PATCH net-next v9 08/10] net: ethernet: ti: am65-cpsw: add mqprio qdisc offload in channel mode

2023-12-15 Thread Roger Quadros
t Port 1 fifo2, CIR=200Mbit/s, EIR=2Mbit/s Signed-off-by: Grygorii Strashko Signed-off-by: Roger Quadros --- drivers/net/ethernet/ti/Kconfig | 3 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 + drivers/net/ethernet/ti/am65-cpsw-qos.c | 255 ++- drivers/net/et

[PATCH net-next v9 07/10] net: ethernet: am65-cpsw: Move register definitions to header file

2023-12-15 Thread Roger Quadros
Move register definitions to header file. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 35 - drivers/net/ethernet/ti/am65-cpsw-qos.h | 35 + 2 files changed, 35

[PATCH net-next v9 06/10] net: ethernet: ti: am65-cpsw: Move code to avoid forward declaration

2023-12-15 Thread Roger Quadros
Move this code around to avoid forward declaration. No functional change. Signed-off-by: Roger Quadros Reviewed-by: Vladimir Oltean --- drivers/net/ethernet/ti/am65-cpsw-qos.c | 86 - 1 file changed, 43 insertions(+), 43 deletions(-) Changelog: v9: no code change

[PATCH net-next v9 05/10] net: ethernet: am65-cpsw: cleanup TAPRIO handling

2023-12-15 Thread Roger Quadros
Handle offloading commands using switch-case in am65_cpsw_setup_taprio(). Move checks to am65_cpsw_taprio_replace(). Use NL_SET_ERR_MSG_MOD for error messages. Change error message from "Failed to set cycle time extension" to "cycle time extension not supported" Signed-o

[PATCH net-next v9 04/10] net: ethernet: am65-cpsw: Rename TI_AM65_CPSW_TAS to TI_AM65_CPSW_QOS

2023-12-15 Thread Roger Quadros
We will use this Kconfig option to not only enable TAS/EST offload but also other QoS features like Multiqueue priority descriptors and MAC-Merge/Frame Preemption. TI_AM65_CPSW_QOS seems a more appropriate Kconfig option name than TI_AM65_CPSW_TAS. Signed-off-by: Roger Quadros --- drivers/net

[PATCH net-next v9 03/10] net: ethernet: am65-cpsw: Build am65-cpsw-qos only if required

2023-12-15 Thread Roger Quadros
Build am65-cpsw-qos only if CONFIG_TI_AM65_CPSW_TAS is enabled. Signed-off-by: Roger Quadros --- drivers/net/ethernet/ti/Makefile| 3 ++- drivers/net/ethernet/ti/am65-cpsw-qos.c | 12 drivers/net/ethernet/ti/am65-cpsw-qos.h | 26 + 3 files changed

[PATCH net-next v9 02/10] selftests: forwarding: ethtool_mm: fall back to aggregate if device does not report pMAC stats

2023-12-15 Thread Roger Quadros
From: Vladimir Oltean Some devices do not support individual 'pmac' and 'emac' stats. For such devices, resort to 'aggregate' stats. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger Quadros --- tools/testing/selftest

[PATCH net-next v9 01/10] selftests: forwarding: ethtool_mm: support devices with higher rx-min-frag-size

2023-12-15 Thread Roger Quadros
hardware. The problem is that the selftest expects lldpad to report back to us the same value as we requested. Make the selftest smarter by figuring out on its own what is a reasonable value to expect. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger

[PATCH net-next v9 00/10] net: ethernet: am65-cpsw: Add mqprio, frame pre-emption & coalescing

2023-12-15 Thread Roger Quadros
t: ti: am65-cpsw: add sw tx/rx irq coalescing based on hrtimers Roger Quadros (6): net: ethernet: am65-cpsw: Build am65-cpsw-qos only if required net: ethernet: am65-cpsw: Rename TI_AM65_CPSW_TAS to TI_AM65_CPSW_QOS net: ethernet: am65-cpsw: cleanup TAPRIO handling net: ethernet: ti: