diff options
author | Sudarsana Reddy Kalluru <skalluru@marvell.com> | 2019-02-06 14:43:44 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-03-13 14:04:17 -0700 |
commit | a90c4fef8a132857b4b54a80c9ff7cd58d62433e (patch) | |
tree | 4516cba00e90bee74c741f4ba23919e3ad38adf4 | |
parent | 06d98edaec3abc94c62d9ae6893e47378baa3bbc (diff) | |
download | linux-stable-a90c4fef8a132857b4b54a80c9ff7cd58d62433e.tar.gz linux-stable-a90c4fef8a132857b4b54a80c9ff7cd58d62433e.tar.bz2 linux-stable-a90c4fef8a132857b4b54a80c9ff7cd58d62433e.zip |
qed: Consider TX tcs while deriving the max num_queues for PF.
[ Upstream commit fb1faab74ddef9ec2d841d54e5d0912a097b3abe ]
Max supported queues is derived incorrectly in the case of multi-CoS.
Need to consider TCs while calculating num_queues for PF.
Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/net/ethernet/qlogic/qed/qed_l2.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index e68ca83ae915..64ac95ca4df2 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -2216,7 +2216,7 @@ static int qed_fill_eth_dev_info(struct qed_dev *cdev, u16 num_queues = 0; /* Since the feature controls only queue-zones, - * make sure we have the contexts [rx, tx, xdp] to + * make sure we have the contexts [rx, xdp, tcs] to * match. */ for_each_hwfn(cdev, i) { @@ -2226,7 +2226,8 @@ static int qed_fill_eth_dev_info(struct qed_dev *cdev, u16 cids; cids = hwfn->pf_params.eth_pf_params.num_cons; - num_queues += min_t(u16, l2_queues, cids / 3); + cids /= (2 + info->num_tc); + num_queues += min_t(u16, l2_queues, cids); } /* queues might theoretically be >256, but interrupts' |