Skip to content

Commit 45bb006

Browse files
Kaaameanguy11
authored andcommitted
i40e: Fix ADQ rate limiting for PF
Fix HW rate limiting for ADQ. Fallback to kernel queue selection for ADQ, as it is network stack that decides which queue to use for transmit with ADQ configured. Reset PF after creation of VMDq2 VSIs required for ADQ, as to reprogram TX queue contexts in i40e_configure_tx_ring. Without this patch PF would limit TX rate only according to TC0. Fixes: a9ce82f ("i40e: Enable 'channel' mode in mqprio for TC configs") Signed-off-by: Przemyslaw Patynowski <[email protected]> Signed-off-by: Jan Sokolowski <[email protected]> Tested-by: Bharathi Sreenivas <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent e7506d3 commit 45bb006

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

drivers/net/ethernet/intel/i40e/i40e_main.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6659,6 +6659,9 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi)
66596659
vsi->tc_seid_map[i] = ch->seid;
66606660
}
66616661
}
6662+
6663+
/* reset to reconfigure TX queue contexts */
6664+
i40e_do_reset(vsi->back, I40E_PF_RESET_FLAG, true);
66626665
return ret;
66636666

66646667
err_free:

drivers/net/ethernet/intel/i40e/i40e_txrx.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3688,7 +3688,8 @@ u16 i40e_lan_select_queue(struct net_device *netdev,
36883688
u8 prio;
36893689

36903690
/* is DCB enabled at all? */
3691-
if (vsi->tc_config.numtc == 1)
3691+
if (vsi->tc_config.numtc == 1 ||
3692+
i40e_is_tc_mqprio_enabled(vsi->back))
36923693
return netdev_pick_tx(netdev, skb, sb_dev);
36933694

36943695
prio = skb->priority;

0 commit comments

Comments
 (0)