octeontx2-af: Set XOFF on other child transmit schedulers during SMQ flush
authorNaveen Mamindlapalli <naveenm@marvell.com>
Mon, 12 Jun 2023 06:04:24 +0000 (11:34 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Jun 2023 08:54:58 +0000 (09:54 +0100)
commite18aab0470d8f6259be82282ffb3fdcfeaeff6c3
tree5961d368a379015d394d22844241a78b63758fe5
parent4ed6387a61fcc96f46859349b7e7696db9988ed6
octeontx2-af: Set XOFF on other child transmit schedulers during SMQ flush

When multiple transmit scheduler queues feed a TL1 transmit link, the
SMQ flush initiated on a low priority queue might get stuck when a high
priority queue fully subscribes the transmit link. This inturn effects
interface teardown. To avoid this, temporarily XOFF all TL1's other
immediate child transmit scheduler queues and also clear any rate limit
configuration on all the scheduler queues in SMQ(flush) hierarchy.

Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c