Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
@@ -2723,17 +2723,21 @@ static inline bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
|
||||
**/
|
||||
static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
|
||||
{
|
||||
/* Start with base case */
|
||||
adapter->num_rx_queues = 1;
|
||||
adapter->num_tx_queues = 1;
|
||||
|
||||
#ifdef CONFIG_IXGBE_DCB
|
||||
if (ixgbe_set_dcb_queues(adapter))
|
||||
return;
|
||||
goto done;
|
||||
|
||||
#endif
|
||||
if (ixgbe_set_rss_queues(adapter))
|
||||
return;
|
||||
goto done;
|
||||
|
||||
/* fallback to base case */
|
||||
adapter->num_rx_queues = 1;
|
||||
adapter->num_tx_queues = 1;
|
||||
|
||||
done:
|
||||
/* Notify the stack of the (possibly) reduced Tx Queue count. */
|
||||
adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
|
||||
}
|
||||
|
||||
static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
|
||||
@@ -2992,9 +2996,6 @@ try_msi:
|
||||
}
|
||||
|
||||
out:
|
||||
/* Notify the stack of the (possibly) reduced Tx Queue count. */
|
||||
adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -3611,9 +3612,9 @@ static int ixgbe_resume(struct pci_dev *pdev)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PM */
|
||||
static int ixgbe_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
|
||||
static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
|
||||
{
|
||||
struct net_device *netdev = pci_get_drvdata(pdev);
|
||||
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
@@ -3672,18 +3673,46 @@ static int ixgbe_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
pci_enable_wake(pdev, PCI_D3cold, 0);
|
||||
}
|
||||
|
||||
*enable_wake = !!wufc;
|
||||
|
||||
ixgbe_release_hw_control(adapter);
|
||||
|
||||
pci_disable_device(pdev);
|
||||
|
||||
pci_set_power_state(pdev, pci_choose_state(pdev, state));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int ixgbe_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
{
|
||||
int retval;
|
||||
bool wake;
|
||||
|
||||
retval = __ixgbe_shutdown(pdev, &wake);
|
||||
if (retval)
|
||||
return retval;
|
||||
|
||||
if (wake) {
|
||||
pci_prepare_to_sleep(pdev);
|
||||
} else {
|
||||
pci_wake_from_d3(pdev, false);
|
||||
pci_set_power_state(pdev, PCI_D3hot);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
static void ixgbe_shutdown(struct pci_dev *pdev)
|
||||
{
|
||||
ixgbe_suspend(pdev, PMSG_SUSPEND);
|
||||
bool wake;
|
||||
|
||||
__ixgbe_shutdown(pdev, &wake);
|
||||
|
||||
if (system_state == SYSTEM_POWER_OFF) {
|
||||
pci_wake_from_d3(pdev, wake);
|
||||
pci_set_power_state(pdev, PCI_D3hot);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4342,7 +4371,7 @@ static int ixgbe_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
||||
int count = 0;
|
||||
unsigned int f;
|
||||
|
||||
r_idx = (adapter->num_tx_queues - 1) & skb->queue_mapping;
|
||||
r_idx = skb->queue_mapping;
|
||||
tx_ring = &adapter->tx_ring[r_idx];
|
||||
|
||||
if (adapter->vlgrp && vlan_tx_tag_present(skb)) {
|
||||
|
Reference in New Issue
Block a user