From: Lance Richardson <lance.richard...@broadcom.com> The current implementation erroneously passes the address of the beginning of RSS table for each 64-entry context instead of the address of the appropriate subtable for the context. This results in only the first 64 receive queues being used. Fix by passing the correct address for each context.
Fixes: 38412304b50a ("net/bnxt: enable RSS for thor-based controllers") Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com> Reviewed-by: Somnath Kotur <somnath.ko...@broadcom.com> Signed-off-by: Lance Richardson <lance.richard...@broadcom.com> --- drivers/net/bnxt/bnxt_hwrm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 301649d3b..3266c1bec 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -4138,7 +4138,9 @@ bnxt_vnic_rss_configure_thor(struct bnxt *bp, struct bnxt_vnic_info *vnic) req.hash_mode_flags = vnic->hash_mode; req.ring_grp_tbl_addr = - rte_cpu_to_le_64(vnic->rss_table_dma_addr); + rte_cpu_to_le_64(vnic->rss_table_dma_addr + + i * BNXT_RSS_ENTRIES_PER_CTX_THOR * + 2 * sizeof(*ring_tbl)); req.hash_key_tbl_addr = rte_cpu_to_le_64(vnic->rss_hash_key_dma_addr); -- 2.20.1 (Apple Git-117)