[net PATCH] octeontx2-pf: qos: fix VF root node parent queue index

Hariprasad Kelam posted 1 patch 8 months, 1 week ago
drivers/net/ethernet/marvell/octeontx2/nic/qos.c | 5 +++++
1 file changed, 5 insertions(+)
[net PATCH] octeontx2-pf: qos: fix VF root node parent queue index
Posted by Hariprasad Kelam 8 months, 1 week ago
The current code configures the Physical Function (PF) root node at TL1
and the Virtual Function (VF) root node at TL2.

This ensure at any given point of time PF traffic gets more priority.

                    PF root node
                      TL1
                     /  \
                    TL2  TL2 VF root node
                    /     \
                   TL3    TL3
                   /       \
                  TL4      TL4
                  /         \
                 SMQ        SMQ

Due to a bug in the current code, the TL2 parent queue index on the
VF interface is not being configured, leading to 'SMQ Flush' errors

Fixes: 5e6808b4c68d ("octeontx2-pf: Add support for HTB offload")
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
---
 drivers/net/ethernet/marvell/octeontx2/nic/qos.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/qos.c b/drivers/net/ethernet/marvell/octeontx2/nic/qos.c
index 0f844c14485a..35acc07bd964 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/qos.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/qos.c
@@ -165,6 +165,11 @@ static void __otx2_qos_txschq_cfg(struct otx2_nic *pfvf,
 
 		otx2_config_sched_shaping(pfvf, node, cfg, &num_regs);
 	} else if (level == NIX_TXSCH_LVL_TL2) {
+		/* configure parent txschq */
+		cfg->reg[num_regs] = NIX_AF_TL2X_PARENT(node->schq);
+		cfg->regval[num_regs] = (u64)hw->tx_link << 16;
+		num_regs++;
+
 		/* configure link cfg */
 		if (level == pfvf->qos.link_cfg_lvl) {
 			cfg->reg[num_regs] = NIX_AF_TL3_TL2X_LINKX_CFG(node->schq, hw->tx_link);
-- 
2.34.1
Re: [net PATCH] octeontx2-pf: qos: fix VF root node parent queue index
Posted by Simon Horman 8 months, 1 week ago
On Mon, Apr 07, 2025 at 12:33:41PM +0530, Hariprasad Kelam wrote:
> The current code configures the Physical Function (PF) root node at TL1
> and the Virtual Function (VF) root node at TL2.
> 
> This ensure at any given point of time PF traffic gets more priority.
> 
>                     PF root node
>                       TL1
>                      /  \
>                     TL2  TL2 VF root node
>                     /     \
>                    TL3    TL3
>                    /       \
>                   TL4      TL4
>                   /         \
>                  SMQ        SMQ
> 
> Due to a bug in the current code, the TL2 parent queue index on the
> VF interface is not being configured, leading to 'SMQ Flush' errors
> 
> Fixes: 5e6808b4c68d ("octeontx2-pf: Add support for HTB offload")
> Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>

Reviewed-by: Simon Horman <horms@kernel.org>