Skip to content

Commit b6e7fb0

Browse files
etantilovgregkh
authored andcommitted
ixgbe: add mask for 64 RSS queues
[ Upstream commit 2bf1a87b903bd81b1448a1cef73de59fb6c4d340 ] The indirection table was reported incorrectly for X550 and newer where we can support up to 64 RSS queues. Reported-by Krishneil Singh <krishneil.k.singh@intel.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 12ec51a commit b6e7fb0

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter)
307307
ixgbe_cache_ring_rss(adapter);
308308
}
309309

310+
#define IXGBE_RSS_64Q_MASK 0x3F
310311
#define IXGBE_RSS_16Q_MASK 0xF
311312
#define IXGBE_RSS_8Q_MASK 0x7
312313
#define IXGBE_RSS_4Q_MASK 0x3
@@ -602,6 +603,7 @@ static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter)
602603
**/
603604
static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
604605
{
606+
struct ixgbe_hw *hw = &adapter->hw;
605607
struct ixgbe_ring_feature *f;
606608
u16 rss_i;
607609

@@ -610,7 +612,11 @@ static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
610612
rss_i = f->limit;
611613

612614
f->indices = rss_i;
613-
f->mask = IXGBE_RSS_16Q_MASK;
615+
616+
if (hw->mac.type < ixgbe_mac_X550)
617+
f->mask = IXGBE_RSS_16Q_MASK;
618+
else
619+
f->mask = IXGBE_RSS_64Q_MASK;
614620

615621
/* disable ATR by default, it will be configured below */
616622
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;

0 commit comments

Comments
 (0)