ixgbe: move setting RSC into a separate function
Move setting RSC into a separate function to allow for reuse in other parts of the code. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
committed by
Jeff Kirsher
parent
e4911d57a4
commit
3a28926451
@@ -459,6 +459,21 @@ static int ixgbe_set_rx_csum(struct net_device *netdev, u32 data)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ixgbe_set_rsc(struct ixgbe_adapter *adapter)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < adapter->num_rx_queues; i++) {
|
||||||
|
struct ixgbe_ring *ring = adapter->rx_ring[i];
|
||||||
|
if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED) {
|
||||||
|
set_ring_rsc_enabled(ring);
|
||||||
|
ixgbe_configure_rscctl(adapter, ring);
|
||||||
|
} else {
|
||||||
|
ixgbe_clear_rscctl(adapter, ring);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static u32 ixgbe_get_tx_csum(struct net_device *netdev)
|
static u32 ixgbe_get_tx_csum(struct net_device *netdev)
|
||||||
{
|
{
|
||||||
return (netdev->features & NETIF_F_IP_CSUM) != 0;
|
return (netdev->features & NETIF_F_IP_CSUM) != 0;
|
||||||
@@ -2281,25 +2296,12 @@ static int ixgbe_set_flags(struct net_device *netdev, u32 data)
|
|||||||
} else {
|
} else {
|
||||||
adapter->flags2 ^= IXGBE_FLAG2_RSC_ENABLED;
|
adapter->flags2 ^= IXGBE_FLAG2_RSC_ENABLED;
|
||||||
switch (adapter->hw.mac.type) {
|
switch (adapter->hw.mac.type) {
|
||||||
|
case ixgbe_mac_X540:
|
||||||
|
ixgbe_set_rsc(adapter);
|
||||||
|
break;
|
||||||
case ixgbe_mac_82599EB:
|
case ixgbe_mac_82599EB:
|
||||||
need_reset = true;
|
need_reset = true;
|
||||||
break;
|
break;
|
||||||
case ixgbe_mac_X540: {
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < adapter->num_rx_queues; i++) {
|
|
||||||
struct ixgbe_ring *ring =
|
|
||||||
adapter->rx_ring[i];
|
|
||||||
if (adapter->flags2 &
|
|
||||||
IXGBE_FLAG2_RSC_ENABLED) {
|
|
||||||
ixgbe_configure_rscctl(adapter,
|
|
||||||
ring);
|
|
||||||
} else {
|
|
||||||
ixgbe_clear_rscctl(adapter,
|
|
||||||
ring);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user