octeontx2-pf: Restore TC ingress police rules when interface is up
authorSubbaraya Sundeep <sbhatta@marvell.com>
Sat, 25 Nov 2023 16:36:57 +0000 (22:06 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 28 Nov 2023 11:02:12 +0000 (12:02 +0100)
commitfd7f98b2e12a3d96a92bde6640657ec7116f4372
treef1207f23a9e7caba996f5d2bf89792dd24da7d47
parent51597219e0cd5157401d4d0ccb5daa4d9961676f
octeontx2-pf: Restore TC ingress police rules when interface is up

TC ingress policer rules depends on interface receive queue
contexts since the bandwidth profiles are attached to RQ
contexts. When an interface is brought down all the queue
contexts are freed. This in turn frees bandwidth profiles in
hardware causing ingress police rules non-functional after
the interface is brought up. Fix this by applying all the ingress
police rules config to hardware in otx2_open. Also allow
adding ingress rules only when interface is running
since no contexts exist for the interface when it is down.

Fixes: 68fbff68dbea ("octeontx2-pf: Add police action for TC flower")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Link: https://lore.kernel.org/r/1700930217-5707-1-git-send-email-sbhatta@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c