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>
This commit is contained in:
parent
12ec51aaaf
commit
b6e7fb0be1
1 changed files with 7 additions and 1 deletions
|
@ -307,6 +307,7 @@ static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter)
|
|||
ixgbe_cache_ring_rss(adapter);
|
||||
}
|
||||
|
||||
#define IXGBE_RSS_64Q_MASK 0x3F
|
||||
#define IXGBE_RSS_16Q_MASK 0xF
|
||||
#define IXGBE_RSS_8Q_MASK 0x7
|
||||
#define IXGBE_RSS_4Q_MASK 0x3
|
||||
|
@ -602,6 +603,7 @@ static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter)
|
|||
**/
|
||||
static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
|
||||
{
|
||||
struct ixgbe_hw *hw = &adapter->hw;
|
||||
struct ixgbe_ring_feature *f;
|
||||
u16 rss_i;
|
||||
|
||||
|
@ -610,7 +612,11 @@ static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
|
|||
rss_i = f->limit;
|
||||
|
||||
f->indices = rss_i;
|
||||
f->mask = IXGBE_RSS_16Q_MASK;
|
||||
|
||||
if (hw->mac.type < ixgbe_mac_X550)
|
||||
f->mask = IXGBE_RSS_16Q_MASK;
|
||||
else
|
||||
f->mask = IXGBE_RSS_64Q_MASK;
|
||||
|
||||
/* disable ATR by default, it will be configured below */
|
||||
adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
|
||||
|
|
Loading…
Add table
Reference in a new issue