]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Octeontx2-pf: Fix Backpresure configuration
authorHariprasad Kelam <hkelam@marvell.com>
Tue, 17 Jun 2025 06:34:02 +0000 (12:04 +0530)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Jun 2025 21:19:22 +0000 (14:19 -0700)
NIX block can receive packets from multiple links such as
MAC (RPM), LBK and CPT.

       -----------------
 RPM --|     NIX       |
       -----------------
             |
             |
            LBK

Each link supports multiple channels for example RPM link supports
16 channels. In case of link oversubsribe, NIX will assert backpressure
on receive channels.

The previous patch considered a single channel per link, resulting in
backpressure not being enabled on the remaining channels

Fixes: a7ef63dbd588 ("octeontx2-af: Disable backpressure between CPT and NIX")
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250617063403.3582210-1-hkelam@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c

index 6f572589f1e5c16214846f019093d8d4099ac7c8..6b5c9536d26d3f51d75b8df19104ae73246911b6 100644 (file)
@@ -1822,7 +1822,7 @@ int otx2_nix_config_bp(struct otx2_nic *pfvf, bool enable)
                req->chan_cnt = IEEE_8021QAZ_MAX_TCS;
                req->bpid_per_chan = 1;
        } else {
-               req->chan_cnt = 1;
+               req->chan_cnt = pfvf->hw.rx_chan_cnt;
                req->bpid_per_chan = 0;
        }
 
@@ -1847,7 +1847,7 @@ int otx2_nix_cpt_config_bp(struct otx2_nic *pfvf, bool enable)
                req->chan_cnt = IEEE_8021QAZ_MAX_TCS;
                req->bpid_per_chan = 1;
        } else {
-               req->chan_cnt = 1;
+               req->chan_cnt = pfvf->hw.rx_chan_cnt;
                req->bpid_per_chan = 0;
        }