* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-07-18 2:20 Jeff Kirsher
2012-07-18 2:20 ` [net-next 1/6] ixgbe: Ping the VFs on link status change to trigger link change Jeff Kirsher
` (6 more replies)
0 siblings, 7 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe & ixgbevf.
The following are changes since commit 5abf7f7e0f6bdbfcac737f636497d7016d9507eb:
ipv4: fix rcu splat
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (6):
ixgbe: Ping the VFs on link status change to trigger link change
ixgbe: Handle failures in the ixgbe_setup_rx/tx_resources calls
ixgbe: Move configuration of set_real_num_rx/tx_queues into open
ixgbe: Update the logic for ixgbe_cache_ring_dcb and DCB RSS
configuration
ixgbe: Cleanup logic for MRQC and MTQC configuration
ixgbevf: Update descriptor macros to accept pointers and drop _ADV
suffix
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 138 ++++++---------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 190 +++++++++++++--------
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 12 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +-
4 files changed, 183 insertions(+), 175 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 1/6] ixgbe: Ping the VFs on link status change to trigger link change
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 2:20 ` [net-next 2/6] ixgbe: Handle failures in the ixgbe_setup_rx/tx_resources calls Jeff Kirsher
` (5 subsequent siblings)
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
When the link status changes on the PF we need to notify the VFs. In order
to do this we should ping all of the VFs in order to trigger a link status
change on them as well.
This fixes issues in which the PF would reset, but the VF didn't because the
NAK flag was not set in the VF mailbox.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index ee230f5..17f46f0 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -5390,6 +5390,9 @@ static void ixgbe_watchdog_link_is_up(struct ixgbe_adapter *adapter)
netif_carrier_on(netdev);
ixgbe_check_vf_rate_limit(adapter);
+
+ /* ping all the active vfs to let them know link has changed */
+ ixgbe_ping_all_vfs(adapter);
}
/**
@@ -5419,6 +5422,9 @@ static void ixgbe_watchdog_link_is_down(struct ixgbe_adapter *adapter)
e_info(drv, "NIC Link is Down\n");
netif_carrier_off(netdev);
+
+ /* ping all the active vfs to let them know link has changed */
+ ixgbe_ping_all_vfs(adapter);
}
/**
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 2/6] ixgbe: Handle failures in the ixgbe_setup_rx/tx_resources calls
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-07-18 2:20 ` [net-next 1/6] ixgbe: Ping the VFs on link status change to trigger link change Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 2:20 ` [net-next 3/6] ixgbe: Move configuration of set_real_num_rx/tx_queues into open Jeff Kirsher
` (4 subsequent siblings)
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
Previously we were exiting without cleaning up the memory internally on the
ixgbe_setup_rx_resources and ixgbe_setup_tx_resources calls. Instead of
forcing the caller to clean things up for us we should instead just unwind
the rings and free the memory as we go. This way we can more gracefully
clean up the rings in the event of an allocation failure.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 17f46f0..373342f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4549,10 +4549,16 @@ static int ixgbe_setup_all_tx_resources(struct ixgbe_adapter *adapter)
err = ixgbe_setup_tx_resources(adapter->tx_ring[i]);
if (!err)
continue;
+
e_err(probe, "Allocation for Tx Queue %u failed\n", i);
- break;
+ goto err_setup_tx;
}
+ return 0;
+err_setup_tx:
+ /* rewind the index freeing the rings as we go */
+ while (i--)
+ ixgbe_free_tx_resources(adapter->tx_ring[i]);
return err;
}
@@ -4627,10 +4633,16 @@ static int ixgbe_setup_all_rx_resources(struct ixgbe_adapter *adapter)
err = ixgbe_setup_rx_resources(adapter->rx_ring[i]);
if (!err)
continue;
+
e_err(probe, "Allocation for Rx Queue %u failed\n", i);
- break;
+ goto err_setup_rx;
}
+ return 0;
+err_setup_rx:
+ /* rewind the index freeing the rings as we go */
+ while (i--)
+ ixgbe_free_rx_resources(adapter->rx_ring[i]);
return err;
}
@@ -4791,10 +4803,10 @@ static int ixgbe_open(struct net_device *netdev)
return 0;
err_req_irq:
-err_setup_rx:
ixgbe_free_all_rx_resources(adapter);
-err_setup_tx:
+err_setup_rx:
ixgbe_free_all_tx_resources(adapter);
+err_setup_tx:
ixgbe_reset(adapter);
return err;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 3/6] ixgbe: Move configuration of set_real_num_rx/tx_queues into open
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-07-18 2:20 ` [net-next 1/6] ixgbe: Ping the VFs on link status change to trigger link change Jeff Kirsher
2012-07-18 2:20 ` [net-next 2/6] ixgbe: Handle failures in the ixgbe_setup_rx/tx_resources calls Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 2:20 ` [net-next 4/6] ixgbe: Update the logic for ixgbe_cache_ring_dcb and DCB RSS configuration Jeff Kirsher
` (3 subsequent siblings)
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
It makes much more sense for us to configure the real number of Tx and Rx
queues in the ixgbe_open call than it does in ixgbe_set_num_queues. By
setting the number in ixgbe_open we can avoid a number of unecessary
updates and only have to make the calls once.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 58 ++++++-------------------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 36 ++++++++++-----
2 files changed, 38 insertions(+), 56 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index d308e71..c03d771 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -349,7 +349,7 @@ static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter)
* fallthrough conditions.
*
**/
-static int ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
+static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
{
/* Start with base case */
adapter->num_rx_queues = 1;
@@ -358,29 +358,14 @@ static int ixgbe_set_num_queues(struct ixgbe_adapter *adapter)
adapter->num_rx_queues_per_pool = 1;
if (ixgbe_set_sriov_queues(adapter))
- goto done;
+ return;
#ifdef CONFIG_IXGBE_DCB
if (ixgbe_set_dcb_queues(adapter))
- goto done;
+ return;
#endif
- if (ixgbe_set_rss_queues(adapter))
- goto done;
-
- /* fallback to base case */
- adapter->num_rx_queues = 1;
- adapter->num_tx_queues = 1;
-
-done:
- if ((adapter->netdev->reg_state == NETREG_UNREGISTERED) ||
- (adapter->netdev->reg_state == NETREG_UNREGISTERING))
- return 0;
-
- /* Notify the stack of the (possibly) reduced queue counts. */
- netif_set_real_num_tx_queues(adapter->netdev, adapter->num_tx_queues);
- return netif_set_real_num_rx_queues(adapter->netdev,
- adapter->num_rx_queues);
+ ixgbe_set_rss_queues(adapter);
}
static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
@@ -710,11 +695,10 @@ static void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter)
* Attempt to configure the interrupts using the best available
* capabilities of the hardware and the kernel.
**/
-static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
+static void ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
{
struct ixgbe_hw *hw = &adapter->hw;
- int err = 0;
- int vector, v_budget;
+ int vector, v_budget, err;
/*
* It's easy to be greedy for MSI-X vectors, but it really
@@ -747,7 +731,7 @@ static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
ixgbe_acquire_msix_vectors(adapter, v_budget);
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED)
- goto out;
+ return;
}
adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
@@ -762,25 +746,17 @@ static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
ixgbe_disable_sriov(adapter);
- err = ixgbe_set_num_queues(adapter);
- if (err)
- return err;
-
+ ixgbe_set_num_queues(adapter);
adapter->num_q_vectors = 1;
err = pci_enable_msi(adapter->pdev);
- if (!err) {
- adapter->flags |= IXGBE_FLAG_MSI_ENABLED;
- } else {
+ if (err) {
netif_printk(adapter, hw, KERN_DEBUG, adapter->netdev,
"Unable to allocate MSI interrupt, "
"falling back to legacy. Error: %d\n", err);
- /* reset err */
- err = 0;
+ return;
}
-
-out:
- return err;
+ adapter->flags |= IXGBE_FLAG_MSI_ENABLED;
}
/**
@@ -798,15 +774,10 @@ int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter)
int err;
/* Number of supported queues */
- err = ixgbe_set_num_queues(adapter);
- if (err)
- return err;
+ ixgbe_set_num_queues(adapter);
- err = ixgbe_set_interrupt_capability(adapter);
- if (err) {
- e_dev_err("Unable to setup interrupt capabilities\n");
- goto err_set_interrupt;
- }
+ /* Set interrupt mode */
+ ixgbe_set_interrupt_capability(adapter);
err = ixgbe_alloc_q_vectors(adapter);
if (err) {
@@ -826,7 +797,6 @@ int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter)
err_alloc_q_vectors:
ixgbe_reset_interrupt_capability(adapter);
-err_set_interrupt:
return err;
}
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 373342f..7f2aa22 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4798,10 +4798,26 @@ static int ixgbe_open(struct net_device *netdev)
if (err)
goto err_req_irq;
+ /* Notify the stack of the actual queue counts. */
+ err = netif_set_real_num_tx_queues(netdev,
+ adapter->num_rx_pools > 1 ? 1 :
+ adapter->num_tx_queues);
+ if (err)
+ goto err_set_queues;
+
+
+ err = netif_set_real_num_rx_queues(netdev,
+ adapter->num_rx_pools > 1 ? 1 :
+ adapter->num_rx_queues);
+ if (err)
+ goto err_set_queues;
+
ixgbe_up_complete(adapter);
return 0;
+err_set_queues:
+ ixgbe_free_irq(adapter);
err_req_irq:
ixgbe_free_all_rx_resources(adapter);
err_setup_rx:
@@ -4864,23 +4880,19 @@ static int ixgbe_resume(struct pci_dev *pdev)
pci_wake_from_d3(pdev, false);
- rtnl_lock();
- err = ixgbe_init_interrupt_scheme(adapter);
- rtnl_unlock();
- if (err) {
- e_dev_err("Cannot initialize interrupts for device\n");
- return err;
- }
-
ixgbe_reset(adapter);
IXGBE_WRITE_REG(&adapter->hw, IXGBE_WUS, ~0);
- if (netif_running(netdev)) {
+ rtnl_lock();
+ err = ixgbe_init_interrupt_scheme(adapter);
+ if (!err && netif_running(netdev))
err = ixgbe_open(netdev);
- if (err)
- return err;
- }
+
+ rtnl_unlock();
+
+ if (err)
+ return err;
netif_device_attach(netdev);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 4/6] ixgbe: Update the logic for ixgbe_cache_ring_dcb and DCB RSS configuration
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (2 preceding siblings ...)
2012-07-18 2:20 ` [net-next 3/6] ixgbe: Move configuration of set_real_num_rx/tx_queues into open Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 2:20 ` [net-next 5/6] ixgbe: Cleanup logic for MRQC and MTQC configuration Jeff Kirsher
` (2 subsequent siblings)
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem
Cc: Alexander Duyck, netdev, gospo, sassmann, John Fastabend,
Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
This change cleans up some of the logic in an attempt to try and simplify
things for how we are configuring DCB w/ RSS.
In this patch I basically did 3 things. I updated the logic for getting
the first register index. I applied the fact that all TCs get the same
number of queues to simplify the looping logic in caching the DCB ring
register. Finally I updated how we configure the RQTC register to match
the fact that all TCs are assigned the same number of queues.
Cc: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 80 ++++++++++++-------------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 12 ++--
2 files changed, 42 insertions(+), 50 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index c03d771..4c3822f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -42,42 +42,37 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
switch (hw->mac.type) {
case ixgbe_mac_82598EB:
- *tx = tc << 2;
- *rx = tc << 3;
+ /* TxQs/TC: 4 RxQs/TC: 8 */
+ *tx = tc << 2; /* 0, 4, 8, 12, 16, 20, 24, 28 */
+ *rx = tc << 3; /* 0, 8, 16, 24, 32, 40, 48, 56 */
break;
case ixgbe_mac_82599EB:
case ixgbe_mac_X540:
if (num_tcs > 4) {
- if (tc < 3) {
- *tx = tc << 5;
- *rx = tc << 4;
- } else if (tc < 5) {
- *tx = ((tc + 2) << 4);
- *rx = tc << 4;
- } else if (tc < num_tcs) {
- *tx = ((tc + 8) << 3);
- *rx = tc << 4;
- }
+ /*
+ * TCs : TC0/1 TC2/3 TC4-7
+ * TxQs/TC: 32 16 8
+ * RxQs/TC: 16 16 16
+ */
+ *rx = tc << 4;
+ if (tc < 3)
+ *tx = tc << 5; /* 0, 32, 64 */
+ else if (tc < 5)
+ *tx = (tc + 2) << 4; /* 80, 96 */
+ else
+ *tx = (tc + 8) << 3; /* 104, 112, 120 */
} else {
- *rx = tc << 5;
- switch (tc) {
- case 0:
- *tx = 0;
- break;
- case 1:
- *tx = 64;
- break;
- case 2:
- *tx = 96;
- break;
- case 3:
- *tx = 112;
- break;
- default:
- break;
- }
+ /*
+ * TCs : TC0 TC1 TC2/3
+ * TxQs/TC: 64 32 16
+ * RxQs/TC: 32 32 32
+ */
+ *rx = tc << 5;
+ if (tc < 2)
+ *tx = tc << 6; /* 0, 64 */
+ else
+ *tx = (tc + 4) << 4; /* 96, 112 */
}
- break;
default:
break;
}
@@ -90,25 +85,26 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
* Cache the descriptor ring offsets for DCB to the assigned rings.
*
**/
-static inline bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter)
+static bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter)
{
struct net_device *dev = adapter->netdev;
- int i, j, k;
+ unsigned int tx_idx, rx_idx;
+ int tc, offset, rss_i, i;
u8 num_tcs = netdev_get_num_tc(dev);
- if (!num_tcs)
+ /* verify we have DCB queueing enabled before proceeding */
+ if (num_tcs <= 1)
return false;
- for (i = 0, k = 0; i < num_tcs; i++) {
- unsigned int tx_s, rx_s;
- u16 count = dev->tc_to_txq[i].count;
+ rss_i = adapter->ring_feature[RING_F_RSS].indices;
- ixgbe_get_first_reg_idx(adapter, i, &tx_s, &rx_s);
- for (j = 0; j < count; j++, k++) {
- adapter->tx_ring[k]->reg_idx = tx_s + j;
- adapter->rx_ring[k]->reg_idx = rx_s + j;
- adapter->tx_ring[k]->dcb_tc = i;
- adapter->rx_ring[k]->dcb_tc = i;
+ for (tc = 0, offset = 0; tc < num_tcs; tc++, offset += rss_i) {
+ ixgbe_get_first_reg_idx(adapter, tc, &tx_idx, &rx_idx);
+ for (i = 0; i < rss_i; i++, tx_idx++, rx_idx++) {
+ adapter->tx_ring[offset + i]->reg_idx = tx_idx;
+ adapter->rx_ring[offset + i]->reg_idx = rx_idx;
+ adapter->tx_ring[offset + i]->dcb_tc = tc;
+ adapter->rx_ring[offset + i]->dcb_tc = tc;
}
}
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 7f2aa22..32c8cd6 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3608,20 +3608,16 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
/* Enable RSS Hash per TC */
if (hw->mac.type != ixgbe_mac_82598EB) {
- int i;
- u32 reg = 0;
- u8 msb = 0;
- u8 rss_i = adapter->netdev->tc_to_txq[0].count - 1;
+ u32 msb = 0;
+ u16 rss_i = adapter->ring_feature[RING_F_RSS].indices - 1;
while (rss_i) {
msb++;
rss_i >>= 1;
}
- for (i = 0; i < MAX_TRAFFIC_CLASS; i++)
- reg |= msb << IXGBE_RQTC_SHIFT_TC(i);
-
- IXGBE_WRITE_REG(hw, IXGBE_RQTC, reg);
+ /* write msb to all 8 TCs in one write */
+ IXGBE_WRITE_REG(hw, IXGBE_RQTC, msb * 0x11111111);
}
}
#endif
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 5/6] ixgbe: Cleanup logic for MRQC and MTQC configuration
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (3 preceding siblings ...)
2012-07-18 2:20 ` [net-next 4/6] ixgbe: Update the logic for ixgbe_cache_ring_dcb and DCB RSS configuration Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 2:20 ` [net-next 6/6] ixgbevf: Update descriptor macros to accept pointers and drop _ADV suffix Jeff Kirsher
2012-07-18 16:21 ` [net-next 0/6][pull request] Intel Wired LAN Driver Updates David Miller
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem
Cc: Alexander Duyck, netdev, gospo, sassmann, John Fastabend,
Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
This change is meant to make the code much more readable for MTQC and MRQC
configuration.
The big change is that I simplified much of the logic so that we are
essentially handling just 4 cases and their variants. In the cases where
RSS is disabled we are actually just programming the RETA table with all
1s resulting in a single queue RSS. In the case of SR-IOV I am treating
that as a subset of VMDq. This all results int he following configuration
for the hardware:
DCB
En Dis
VMDq En VMDQ/DCB VMDq/RSS
Dis DCB/RSS RSS
Cc: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 116 ++++++++++++++-----------
1 file changed, 66 insertions(+), 50 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 32c8cd6..2b4b791 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -2719,8 +2719,7 @@ void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter,
static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
{
struct ixgbe_hw *hw = &adapter->hw;
- u32 rttdcs;
- u32 reg;
+ u32 rttdcs, mtqc;
u8 tcs = netdev_get_num_tc(adapter->netdev);
if (hw->mac.type == ixgbe_mac_82598EB)
@@ -2732,28 +2731,32 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
IXGBE_WRITE_REG(hw, IXGBE_RTTDCS, rttdcs);
/* set transmit pool layout */
- switch (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
- case (IXGBE_FLAG_SRIOV_ENABLED):
- IXGBE_WRITE_REG(hw, IXGBE_MTQC,
- (IXGBE_MTQC_VT_ENA | IXGBE_MTQC_64VF));
- break;
- default:
- if (!tcs)
- reg = IXGBE_MTQC_64Q_1PB;
- else if (tcs <= 4)
- reg = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_4TC_4TQ;
+ if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
+ mtqc = IXGBE_MTQC_VT_ENA;
+ if (tcs > 4)
+ mtqc |= IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;
+ else if (tcs > 1)
+ mtqc |= IXGBE_MTQC_RT_ENA | IXGBE_MTQC_4TC_4TQ;
+ else if (adapter->ring_feature[RING_F_RSS].indices == 4)
+ mtqc |= IXGBE_MTQC_32VF;
else
- reg = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;
+ mtqc |= IXGBE_MTQC_64VF;
+ } else {
+ if (tcs > 4)
+ mtqc = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;
+ else if (tcs > 1)
+ mtqc = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_4TC_4TQ;
+ else
+ mtqc = IXGBE_MTQC_64Q_1PB;
+ }
- IXGBE_WRITE_REG(hw, IXGBE_MTQC, reg);
+ IXGBE_WRITE_REG(hw, IXGBE_MTQC, mtqc);
- /* Enable Security TX Buffer IFG for multiple pb */
- if (tcs) {
- reg = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
- reg |= IXGBE_SECTX_DCB;
- IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, reg);
- }
- break;
+ /* Enable Security TX Buffer IFG for multiple pb */
+ if (tcs) {
+ u32 sectx = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
+ sectx |= IXGBE_SECTX_DCB;
+ IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, sectx);
}
/* re-enable the arbiter */
@@ -2886,11 +2889,18 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
u32 mrqc = 0, reta = 0;
u32 rxcsum;
int i, j;
- u8 tcs = netdev_get_num_tc(adapter->netdev);
- int maxq = adapter->ring_feature[RING_F_RSS].indices;
+ u16 rss_i = adapter->ring_feature[RING_F_RSS].indices;
+
+ if (!(adapter->flags & IXGBE_FLAG_RSS_ENABLED))
+ rss_i = 1;
- if (tcs)
- maxq = min(maxq, adapter->num_tx_queues / tcs);
+ /*
+ * Program table for at least 2 queues w/ SR-IOV so that VFs can
+ * make full use of any rings they may have. We will use the
+ * PSRTYPE register to control how many rings we use within the PF.
+ */
+ if ((adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) && (rss_i < 2))
+ rss_i = 2;
/* Fill out hash function seeds */
for (i = 0; i < 10; i++)
@@ -2898,7 +2908,7 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
/* Fill out redirection table */
for (i = 0, j = 0; i < 128; i++, j++) {
- if (j == maxq)
+ if (j == rss_i)
j = 0;
/* reta = 4-byte sliding window of
* 0x00..(indices-1)(indices-1)00..etc. */
@@ -2912,35 +2922,36 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
rxcsum |= IXGBE_RXCSUM_PCSD;
IXGBE_WRITE_REG(hw, IXGBE_RXCSUM, rxcsum);
- if (adapter->hw.mac.type == ixgbe_mac_82598EB &&
- (adapter->flags & IXGBE_FLAG_RSS_ENABLED)) {
- mrqc = IXGBE_MRQC_RSSEN;
+ if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
+ if (adapter->flags & IXGBE_FLAG_RSS_ENABLED)
+ mrqc = IXGBE_MRQC_RSSEN;
} else {
- int mask = adapter->flags & (IXGBE_FLAG_RSS_ENABLED
- | IXGBE_FLAG_SRIOV_ENABLED);
-
- switch (mask) {
- case (IXGBE_FLAG_RSS_ENABLED):
- if (!tcs)
- mrqc = IXGBE_MRQC_RSSEN;
- else if (tcs <= 4)
- mrqc = IXGBE_MRQC_RTRSS4TCEN;
+ u8 tcs = netdev_get_num_tc(adapter->netdev);
+
+ if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
+ if (tcs > 4)
+ mrqc = IXGBE_MRQC_VMDQRT8TCEN; /* 8 TCs */
+ else if (tcs > 1)
+ mrqc = IXGBE_MRQC_VMDQRT4TCEN; /* 4 TCs */
+ else if (adapter->ring_feature[RING_F_RSS].indices == 4)
+ mrqc = IXGBE_MRQC_VMDQRSS32EN;
else
+ mrqc = IXGBE_MRQC_VMDQRSS64EN;
+ } else {
+ if (tcs > 4)
mrqc = IXGBE_MRQC_RTRSS8TCEN;
- break;
- case (IXGBE_FLAG_SRIOV_ENABLED):
- mrqc = IXGBE_MRQC_VMDQEN;
- break;
- default:
- break;
+ else if (tcs > 1)
+ mrqc = IXGBE_MRQC_RTRSS4TCEN;
+ else
+ mrqc = IXGBE_MRQC_RSSEN;
}
}
/* Perform hash on these packet types */
- mrqc |= IXGBE_MRQC_RSS_FIELD_IPV4
- | IXGBE_MRQC_RSS_FIELD_IPV4_TCP
- | IXGBE_MRQC_RSS_FIELD_IPV6
- | IXGBE_MRQC_RSS_FIELD_IPV6_TCP;
+ mrqc |= IXGBE_MRQC_RSS_FIELD_IPV4 |
+ IXGBE_MRQC_RSS_FIELD_IPV4_TCP |
+ IXGBE_MRQC_RSS_FIELD_IPV6 |
+ IXGBE_MRQC_RSS_FIELD_IPV6_TCP;
if (adapter->flags2 & IXGBE_FLAG2_RSS_FIELD_IPV4_UDP)
mrqc |= IXGBE_MRQC_RSS_FIELD_IPV4_UDP;
@@ -3103,8 +3114,13 @@ static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter)
if (hw->mac.type == ixgbe_mac_82598EB)
return;
- if (adapter->flags & IXGBE_FLAG_RSS_ENABLED)
- psrtype |= (adapter->num_rx_queues_per_pool << 29);
+ if (adapter->flags & IXGBE_FLAG_RSS_ENABLED) {
+ int rss_i = adapter->ring_feature[RING_F_RSS].indices;
+ if (rss_i > 3)
+ psrtype |= 2 << 29;
+ else if (rss_i > 1)
+ psrtype |= 1 << 29;
+ }
for (p = 0; p < adapter->num_rx_pools; p++)
IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(adapter->num_vfs + p),
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 6/6] ixgbevf: Update descriptor macros to accept pointers and drop _ADV suffix
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (4 preceding siblings ...)
2012-07-18 2:20 ` [net-next 5/6] ixgbe: Cleanup logic for MRQC and MTQC configuration Jeff Kirsher
@ 2012-07-18 2:20 ` Jeff Kirsher
2012-07-18 16:21 ` [net-next 0/6][pull request] Intel Wired LAN Driver Updates David Miller
6 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-18 2:20 UTC (permalink / raw)
To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Greg Rose, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
This change updates the descriptor macros to accept pointers, updates the
name to drop the _ADV suffix, and include the IXGBEVF name in the macro.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 12 ++++++------
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++---------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
index f92daca..1f13765 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
@@ -164,12 +164,12 @@ struct ixgbevf_q_vector {
((((R)->next_to_clean > (R)->next_to_use) ? 0 : (R)->count) + \
(R)->next_to_clean - (R)->next_to_use - 1)
-#define IXGBE_RX_DESC_ADV(R, i) \
- (&(((union ixgbe_adv_rx_desc *)((R).desc))[i]))
-#define IXGBE_TX_DESC_ADV(R, i) \
- (&(((union ixgbe_adv_tx_desc *)((R).desc))[i]))
-#define IXGBE_TX_CTXTDESC_ADV(R, i) \
- (&(((struct ixgbe_adv_tx_context_desc *)((R).desc))[i]))
+#define IXGBEVF_RX_DESC(R, i) \
+ (&(((union ixgbe_adv_rx_desc *)((R)->desc))[i]))
+#define IXGBEVF_TX_DESC(R, i) \
+ (&(((union ixgbe_adv_tx_desc *)((R)->desc))[i]))
+#define IXGBEVF_TX_CTXTDESC(R, i) \
+ (&(((struct ixgbe_adv_tx_context_desc *)((R)->desc))[i]))
#define IXGBE_MAX_JUMBO_FRAME_SIZE 16128
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 8e022c6..c98cdf7 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -195,7 +195,7 @@ static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector,
i = tx_ring->next_to_clean;
eop = tx_ring->tx_buffer_info[i].next_to_watch;
- eop_desc = IXGBE_TX_DESC_ADV(*tx_ring, eop);
+ eop_desc = IXGBEVF_TX_DESC(tx_ring, eop);
while ((eop_desc->wb.status & cpu_to_le32(IXGBE_TXD_STAT_DD)) &&
(count < tx_ring->count)) {
@@ -206,7 +206,7 @@ static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector,
goto cont_loop;
for ( ; !cleaned; count++) {
struct sk_buff *skb;
- tx_desc = IXGBE_TX_DESC_ADV(*tx_ring, i);
+ tx_desc = IXGBEVF_TX_DESC(tx_ring, i);
tx_buffer_info = &tx_ring->tx_buffer_info[i];
cleaned = (i == eop);
skb = tx_buffer_info->skb;
@@ -235,7 +235,7 @@ static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector,
cont_loop:
eop = tx_ring->tx_buffer_info[i].next_to_watch;
- eop_desc = IXGBE_TX_DESC_ADV(*tx_ring, eop);
+ eop_desc = IXGBEVF_TX_DESC(tx_ring, eop);
}
tx_ring->next_to_clean = i;
@@ -339,7 +339,7 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
bi = &rx_ring->rx_buffer_info[i];
while (cleaned_count--) {
- rx_desc = IXGBE_RX_DESC_ADV(*rx_ring, i);
+ rx_desc = IXGBEVF_RX_DESC(rx_ring, i);
skb = bi->skb;
if (!skb) {
skb = netdev_alloc_skb(adapter->netdev,
@@ -405,7 +405,7 @@ static bool ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector,
unsigned int total_rx_bytes = 0, total_rx_packets = 0;
i = rx_ring->next_to_clean;
- rx_desc = IXGBE_RX_DESC_ADV(*rx_ring, i);
+ rx_desc = IXGBEVF_RX_DESC(rx_ring, i);
staterr = le32_to_cpu(rx_desc->wb.upper.status_error);
rx_buffer_info = &rx_ring->rx_buffer_info[i];
@@ -432,7 +432,7 @@ static bool ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector,
if (i == rx_ring->count)
i = 0;
- next_rxd = IXGBE_RX_DESC_ADV(*rx_ring, i);
+ next_rxd = IXGBEVF_RX_DESC(rx_ring, i);
prefetch(next_rxd);
cleaned_count++;
@@ -2437,7 +2437,7 @@ static int ixgbevf_tso(struct ixgbevf_adapter *adapter,
i = tx_ring->next_to_use;
tx_buffer_info = &tx_ring->tx_buffer_info[i];
- context_desc = IXGBE_TX_CTXTDESC_ADV(*tx_ring, i);
+ context_desc = IXGBEVF_TX_CTXTDESC(tx_ring, i);
/* VLAN MACLEN IPLEN */
if (tx_flags & IXGBE_TX_FLAGS_VLAN)
@@ -2497,7 +2497,7 @@ static bool ixgbevf_tx_csum(struct ixgbevf_adapter *adapter,
(tx_flags & IXGBE_TX_FLAGS_VLAN)) {
i = tx_ring->next_to_use;
tx_buffer_info = &tx_ring->tx_buffer_info[i];
- context_desc = IXGBE_TX_CTXTDESC_ADV(*tx_ring, i);
+ context_desc = IXGBEVF_TX_CTXTDESC(tx_ring, i);
if (tx_flags & IXGBE_TX_FLAGS_VLAN)
vlan_macip_lens |= (tx_flags &
@@ -2700,7 +2700,7 @@ static void ixgbevf_tx_queue(struct ixgbevf_adapter *adapter,
i = tx_ring->next_to_use;
while (count--) {
tx_buffer_info = &tx_ring->tx_buffer_info[i];
- tx_desc = IXGBE_TX_DESC_ADV(*tx_ring, i);
+ tx_desc = IXGBEVF_TX_DESC(tx_ring, i);
tx_desc->read.buffer_addr = cpu_to_le64(tx_buffer_info->dma);
tx_desc->read.cmd_type_len =
cpu_to_le32(cmd_type_len | tx_buffer_info->length);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (5 preceding siblings ...)
2012-07-18 2:20 ` [net-next 6/6] ixgbevf: Update descriptor macros to accept pointers and drop _ADV suffix Jeff Kirsher
@ 2012-07-18 16:21 ` David Miller
6 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-07-18 16:21 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 17 Jul 2012 19:20:39 -0700
> This series contains updates to ixgbe & ixgbevf.
>
> The following are changes since commit 5abf7f7e0f6bdbfcac737f636497d7016d9507eb:
> ipv4: fix rcu splat
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2013-11-01 13:56 Jeff Kirsher
2013-11-02 5:17 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-11-01 13:56 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000, igb, ixgbe and ixgbevf.
Hong Zhiguo provides a fix for e1000 where tx_ring and adapter->tx_ring
are already of type "struct e1000_tx_ring" so no need to divide by
e1000_tx_ring size in the idx calculation.
Emil provides a fix for ixgbevf to remove a redundant workaround related
to header split and a fix for ixgbe to resolve an issue where the MTA table
can be cleared when the interface is reset while in promisc mode.
Todd provides a fix for igb to prevent ethtool from writing to the iNVM
in i210/i211 devices. This issue was reported by Marek Vasut <marex@denx.de>.
Anton Blanchard provides a fix for ixgbe to reduce memory consumption
with larger page sizes, seen on PPC.
Don provides a cleanup in ixgbe to replace the IXGBE_DESC_UNUSED macro with
the inline function ixgbevf_desc_unused() to make the logic a bit more
readable.
The following are changes since commit ba4865027c11d7ac8e5a33e0624dd415caab2027:
ipv6: remove the unnecessary statement in find_match()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anton Blanchard (1):
ixgbe: Reduce memory consumption with larger page sizes
Don Skidmore (1):
ixgbe: cleanup IXGBE_DESC_UNUSED
Emil Tantilov (2):
ixgbevf: remove redundant workaround
ixgbe: fix inconsistent clearing of the multicast table
Fujinaka, Todd (1):
igb: Don't let ethtool try to write to iNVM in i210/i211
Hong Zhiguo (1):
e1000: fix wrong queue idx calculation
drivers/net/ethernet/intel/e1000/e1000_main.c | 3 +--
drivers/net/ethernet/intel/igb/igb_ethtool.c | 4 +++-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 4 ++++
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 15 +++++++--------
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 10 +++++++---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 19 +++++--------------
6 files changed, 27 insertions(+), 28 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2013-11-01 13:56 Jeff Kirsher
@ 2013-11-02 5:17 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2013-11-02 5:17 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 1 Nov 2013 06:56:44 -0700
> This series contains updates to e1000, igb, ixgbe and ixgbevf.
>
> Hong Zhiguo provides a fix for e1000 where tx_ring and adapter->tx_ring
> are already of type "struct e1000_tx_ring" so no need to divide by
> e1000_tx_ring size in the idx calculation.
>
> Emil provides a fix for ixgbevf to remove a redundant workaround related
> to header split and a fix for ixgbe to resolve an issue where the MTA table
> can be cleared when the interface is reset while in promisc mode.
>
> Todd provides a fix for igb to prevent ethtool from writing to the iNVM
> in i210/i211 devices. This issue was reported by Marek Vasut <marex@denx.de>.
>
> Anton Blanchard provides a fix for ixgbe to reduce memory consumption
> with larger page sizes, seen on PPC.
>
> Don provides a cleanup in ixgbe to replace the IXGBE_DESC_UNUSED macro with
> the inline function ixgbevf_desc_unused() to make the logic a bit more
> readable.
Pulled, thanks a lot Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-11-01 10:44 Jeff Kirsher
2012-11-01 15:16 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-11-01 10:44 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb, ixgbe and e1000.
The following are changes since commit 810b6d7638a288216f99bd190470d67061c8bd88:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Carolyn Wyborny (3):
igb: Remove workaround for EEE configuration on i210/I211
igb: Add function to read i211's invm version
igb: Fix EEPROM writes via ethtool on i210
Emil Tantilov (1):
ixgbe: fix default setting of TXDCTL.WTHRESH
Jacob Keller (1):
ixgbe: fix uninitialized event.type in ixgbe_ptp_check_pps_event
Maxime Bizon (1):
e1000: fix concurrent accesses to PHY from watchdog and ethtool
drivers/net/ethernet/intel/e1000/e1000_hw.c | 17 ++++-
drivers/net/ethernet/intel/igb/e1000_82575.c | 20 +++---
drivers/net/ethernet/intel/igb/e1000_i210.c | 94 +++++++++++++++++++++++++++
drivers/net/ethernet/intel/igb/e1000_i210.h | 11 ++++
drivers/net/ethernet/intel/igb/e1000_mac.h | 1 +
drivers/net/ethernet/intel/igb/e1000_nvm.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 15 +++++
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 20 ------
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 9 +++
9 files changed, 155 insertions(+), 33 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-11-01 10:44 Jeff Kirsher
@ 2012-11-01 15:16 ` David Miller
2012-11-01 20:45 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2012-11-01 15:16 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 1 Nov 2012 03:44:21 -0700
> This series contains updates to igb, ixgbe and e1000.
>
> The following are changes since commit 810b6d7638a288216f99bd190470d67061c8bd88:
> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Nothing there:
[davem@tempietto net-next]$ git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>From git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
* branch master -> FETCH_HEAD
Already up-to-date.
[davem@tempietto net-next]$
Now is AN EXTREMELY bad period to waste my time like this.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-11-01 15:16 ` David Miller
@ 2012-11-01 20:45 ` Jeff Kirsher
2012-11-02 22:46 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-11-01 20:45 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 999 bytes --]
On Thu, 2012-11-01 at 11:16 -0400, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Thu, 1 Nov 2012 03:44:21 -0700
>
> > This series contains updates to igb, ixgbe and e1000.
> >
> > The following are changes since commit 810b6d7638a288216f99bd190470d67061c8bd88:
> > Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> > and are available in the git repository at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Nothing there:
>
> [davem@tempietto net-next]$ git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> From git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> * branch master -> FETCH_HEAD
> Already up-to-date.
> [davem@tempietto net-next]$
>
> Now is AN EXTREMELY bad period to waste my time like this.
REALLY Sorry, I forgot to push the patches up to kernel.org. I have
pushed them up now.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-09-24 9:00 Jeff Kirsher
2012-09-24 17:48 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-09-24 9:00 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe and ixgbevf (mainly ixgbevf).
The following are changes since commit c9d2ea96ca3bbc85264803ff6bd66eb3bbefdb77:
netlink: Rearrange netlink_kernel_cfg to save space on 64-bit.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (3):
ixgbevf: Fix code for handling timeout
ixgbevf: Add fix to VF to handle multi-descriptor buffers
ixgbevf: Return error on failure to enable VLAN
Greg Rose (2):
ixgbe: Do not read the spoofed packets counter when not in IOV mode
ixgbevf: Fix AIM (Adaptive Interrupt Moderation)
Narendra K (1):
ixgbevf - Remove unused parameter in ixgbevf_receive_skb
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 ++
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 89 +++++++++++------------
drivers/net/ethernet/intel/ixgbevf/mbx.c | 15 +++-
drivers/net/ethernet/intel/ixgbevf/vf.c | 69 ++++++++++++++----
5 files changed, 117 insertions(+), 66 deletions(-)
--
1.7.11.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-24 9:00 Jeff Kirsher
@ 2012-09-24 17:48 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-09-24 17:48 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 24 Sep 2012 02:00:01 -0700
> This series contains updates to ixgbe and ixgbevf (mainly ixgbevf).
>
> The following are changes since commit c9d2ea96ca3bbc85264803ff6bd66eb3bbefdb77:
> netlink: Rearrange netlink_kernel_cfg to save space on 64-bit.
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Alexander Duyck (3):
> ixgbevf: Fix code for handling timeout
> ixgbevf: Add fix to VF to handle multi-descriptor buffers
> ixgbevf: Return error on failure to enable VLAN
>
> Greg Rose (2):
> ixgbe: Do not read the spoofed packets counter when not in IOV mode
> ixgbevf: Fix AIM (Adaptive Interrupt Moderation)
>
> Narendra K (1):
> ixgbevf - Remove unused parameter in ixgbevf_receive_skb
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-09-17 9:21 Jeff Kirsher
2012-09-17 16:44 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-09-17 9:21 UTC (permalink / raw)
To: davem, matthew.vick; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb, specifically the PTP code.
There have been no changes since the last pull request other than
the update to the git tree to the latest net-next.
There was discussion on patch 4 of the series which resulted in
a suggested change to the PTP core. Once these get accepted,
Matthew Vick will continue on with the suggested changes made by
Richard Cochran, Ben Hutchings and Jacob Keller.
The following are changes since commit ba01dfe18241bf89b058fd8a60218b218ad2bb30:
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Matthew Vick (6):
igb: Tidy up wrapping for CONFIG_IGB_PTP.
igb: Update PTP function names/variables and locations.
igb: Correct PTP support query from ethtool.
igb: Store the MAC address in the name in the PTP struct.
igb: Prevent dropped Tx timestamps via work items and interrupts.
igb: Add 1588 support to I210/I211.
drivers/net/ethernet/intel/igb/e1000_defines.h | 8 +
drivers/net/ethernet/intel/igb/e1000_regs.h | 2 +
drivers/net/ethernet/intel/igb/igb.h | 29 +-
drivers/net/ethernet/intel/igb/igb_ethtool.c | 84 +--
drivers/net/ethernet/intel/igb/igb_main.c | 329 +++---------
drivers/net/ethernet/intel/igb/igb_ptp.c | 676 ++++++++++++++++++++-----
6 files changed, 708 insertions(+), 420 deletions(-)
--
1.7.11.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-17 9:21 Jeff Kirsher
@ 2012-09-17 16:44 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-09-17 16:44 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: matthew.vick, netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 17 Sep 2012 02:21:43 -0700
> The following are changes since commit ba01dfe18241bf89b058fd8a60218b218ad2bb30:
> Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Matthew Vick (6):
> igb: Tidy up wrapping for CONFIG_IGB_PTP.
> igb: Update PTP function names/variables and locations.
> igb: Correct PTP support query from ethtool.
> igb: Store the MAC address in the name in the PTP struct.
> igb: Prevent dropped Tx timestamps via work items and interrupts.
> igb: Add 1588 support to I210/I211.
Pulled, thanks for fixing this up.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-09-05 23:35 Jeff Kirsher
2012-09-06 8:13 ` Richard Cochran
2012-09-13 21:05 ` Jeff Kirsher
0 siblings, 2 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-09-05 23:35 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb (specifically PTP code).
The following are changes since commit f6fe569fe056388166575af1cfaed0bcbc688305:
Revert "usbnet: drop unneeded check for NULL"
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Matthew Vick (6):
igb: Tidy up wrapping for CONFIG_IGB_PTP.
igb: Update PTP function names/variables and locations.
igb: Correct PTP support query from ethtool.
igb: Store the MAC address in the name in the PTP struct.
igb: Prevent dropped Tx timestamps via work items and interrupts.
igb: Add 1588 support to I210/I211.
drivers/net/ethernet/intel/igb/e1000_defines.h | 8 +
drivers/net/ethernet/intel/igb/e1000_regs.h | 2 +
drivers/net/ethernet/intel/igb/igb.h | 29 +-
drivers/net/ethernet/intel/igb/igb_ethtool.c | 84 +--
drivers/net/ethernet/intel/igb/igb_main.c | 329 +++---------
drivers/net/ethernet/intel/igb/igb_ptp.c | 676 ++++++++++++++++++++-----
6 files changed, 708 insertions(+), 420 deletions(-)
--
1.7.11.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-05 23:35 Jeff Kirsher
@ 2012-09-06 8:13 ` Richard Cochran
2012-09-10 22:58 ` Vick, Matthew
2012-09-13 21:05 ` Jeff Kirsher
1 sibling, 1 reply; 36+ messages in thread
From: Richard Cochran @ 2012-09-06 8:13 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: davem, netdev, gospo, sassmann
On Wed, Sep 05, 2012 at 04:35:00PM -0700, Jeff Kirsher wrote:
>
> Matthew Vick (6):
> igb: Tidy up wrapping for CONFIG_IGB_PTP.
> igb: Update PTP function names/variables and locations.
> igb: Correct PTP support query from ethtool.
> igb: Store the MAC address in the name in the PTP struct.
These four still look like unnecessary churn to me, and possibly the
wrong direction WRT time stamping in the 82580.
> igb: Prevent dropped Tx timestamps via work items and interrupts.
> igb: Add 1588 support to I210/I211.
But these two look important, so I don't know what to say.
Sorry,
Richard
^ permalink raw reply [flat|nested] 36+ messages in thread
* RE: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-06 8:13 ` Richard Cochran
@ 2012-09-10 22:58 ` Vick, Matthew
0 siblings, 0 replies; 36+ messages in thread
From: Vick, Matthew @ 2012-09-10 22:58 UTC (permalink / raw)
To: Richard Cochran, Kirsher, Jeffrey T
Cc: davem@davemloft.net, netdev@vger.kernel.org, gospo@redhat.com,
sassmann@redhat.com
> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-
> owner@vger.kernel.org] On Behalf Of Richard Cochran
> Sent: Thursday, September 06, 2012 1:13 AM
> To: Kirsher, Jeffrey T
> Cc: davem@davemloft.net; netdev@vger.kernel.org; gospo@redhat.com;
> sassmann@redhat.com
> Subject: Re: [net-next 0/6][pull request] Intel Wired LAN Driver
> Updates
>
> On Wed, Sep 05, 2012 at 04:35:00PM -0700, Jeff Kirsher wrote:
> >
> > Matthew Vick (6):
> > igb: Tidy up wrapping for CONFIG_IGB_PTP.
> > igb: Update PTP function names/variables and locations.
> > igb: Correct PTP support query from ethtool.
> > igb: Store the MAC address in the name in the PTP struct.
>
> These four still look like unnecessary churn to me, and possibly the
> wrong direction WRT time stamping in the 82580.
(I apologize for the delayed response--I was out of the office. I've read through the discussions and will respond here in the interest of brevity.)
I still fail to see how they're churn. I'm making the code make sense for what is actually supported today. I understand that, theoretically, some of this work may be reverted if/when we pull out hardware timestamping as a separate feature from the PTP support in the driver, but I don't think we should leave it general because someone someday might get around to doing something with it. It's confusing and more difficult to maintain for no benefit. It should be part of the development effort to generalize and consolidate where possible when adding a feature.
> > igb: Prevent dropped Tx timestamps via work items and interrupts.
> > igb: Add 1588 support to I210/I211.
>
> But these two look important, so I don't know what to say.
>
> Sorry,
> Richard
Those two are definitely important. :)
Cheers,
Matthew
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-05 23:35 Jeff Kirsher
2012-09-06 8:13 ` Richard Cochran
@ 2012-09-13 21:05 ` Jeff Kirsher
2012-09-17 4:53 ` David Miller
1 sibling, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-09-13 21:05 UTC (permalink / raw)
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com,
Vick, Matthew, Ben Hutchings, Keller, Jacob E, Richard Cochran
[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]
On Wed, 2012-09-05 at 16:35 -0700, Kirsher, Jeffrey T wrote:
> This series contains updates to igb (specifically PTP code).
>
> The following are changes since commit f6fe569fe056388166575af1cfaed0bcbc688305:
> Revert "usbnet: drop unneeded check for NULL"
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Matthew Vick (6):
> igb: Tidy up wrapping for CONFIG_IGB_PTP.
> igb: Update PTP function names/variables and locations.
> igb: Correct PTP support query from ethtool.
> igb: Store the MAC address in the name in the PTP struct.
> igb: Prevent dropped Tx timestamps via work items and interrupts.
> igb: Add 1588 support to I210/I211.
>
> drivers/net/ethernet/intel/igb/e1000_defines.h | 8 +
> drivers/net/ethernet/intel/igb/e1000_regs.h | 2 +
> drivers/net/ethernet/intel/igb/igb.h | 29 +-
> drivers/net/ethernet/intel/igb/igb_ethtool.c | 84 +--
> drivers/net/ethernet/intel/igb/igb_main.c | 329 +++---------
> drivers/net/ethernet/intel/igb/igb_ptp.c | 676 ++++++++++++++++++++-----
> 6 files changed, 708 insertions(+), 420 deletions(-)
>
> --
Dave-
I see you have set this series to "Changes Requested" in patchworks, and
I am assuming that is from the discussion that occurred on patch 04 of
the series. That discussion came to the conclusion that changes should
happen in the PTP core, and that the patch is fine as is currently.
If there was something else you want changed, let me/Matthew know so
that we can make the necessary changes.
Cheers,
Jeff
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-09-13 21:05 ` Jeff Kirsher
@ 2012-09-17 4:53 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-09-17 4:53 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: netdev, gospo, sassmann, matthew.vick, bhutchings, jacob.e.keller,
richardcochran
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 13 Sep 2012 14:05:59 -0700
> On Wed, 2012-09-05 at 16:35 -0700, Kirsher, Jeffrey T wrote:
>> This series contains updates to igb (specifically PTP code).
>>
>> The following are changes since commit f6fe569fe056388166575af1cfaed0bcbc688305:
>> Revert "usbnet: drop unneeded check for NULL"
>> and are available in the git repository at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>>
>> Matthew Vick (6):
>> igb: Tidy up wrapping for CONFIG_IGB_PTP.
>> igb: Update PTP function names/variables and locations.
>> igb: Correct PTP support query from ethtool.
>> igb: Store the MAC address in the name in the PTP struct.
>> igb: Prevent dropped Tx timestamps via work items and interrupts.
>> igb: Add 1588 support to I210/I211.
...
> I see you have set this series to "Changes Requested" in patchworks, and
> I am assuming that is from the discussion that occurred on patch 04 of
> the series. That discussion came to the conclusion that changes should
> happen in the PTP core, and that the patch is fine as is currently.
>
> If there was something else you want changed, let me/Matthew know so
> that we can make the necessary changes.
Thanks for updating me on this, pulled and pushed out.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-08-21 8:37 Jeff Kirsher
2012-08-22 21:24 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-08-21 8:37 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ethtool.h, e1000, e1000e, and igb to
implement MDI/MDIx control.
The following are changes since commit 1d76efe1577b4323609b1bcbfafa8b731eda071a:
team: add support for non-ethernet devices
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce W Allan (1):
e1000e: implement 82577/579 MDI setting support
Jesse Brandeburg (5):
ethtool.h: MDI setting support
igb: implement 580 MDI setting support
e1000: configure and read MDI settings
e1000e: implement MDI/MDI-X control
igb: update to allow reading/setting MDI state
drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 39 ++++++++++++++++++++++
drivers/net/ethernet/intel/e1000/e1000_main.c | 4 +++
drivers/net/ethernet/intel/e1000e/ethtool.c | 41 +++++++++++++++++++++--
drivers/net/ethernet/intel/e1000e/phy.c | 31 +++++++++++++++--
drivers/net/ethernet/intel/igb/e1000_phy.c | 29 ++++++++++++++--
drivers/net/ethernet/intel/igb/e1000_phy.h | 5 +--
drivers/net/ethernet/intel/igb/igb_ethtool.c | 42 ++++++++++++++++++++++++
drivers/net/ethernet/intel/igb/igb_main.c | 4 +++
include/linux/ethtool.h | 17 ++++++----
9 files changed, 198 insertions(+), 14 deletions(-)
--
1.7.11.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-08-21 8:37 Jeff Kirsher
@ 2012-08-22 21:24 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-08-22 21:24 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 21 Aug 2012 01:37:49 -0700
> This series contains updates to ethtool.h, e1000, e1000e, and igb to
> implement MDI/MDIx control.
>
> The following are changes since commit 1d76efe1577b4323609b1bcbfafa8b731eda071a:
> team: add support for non-ethernet devices
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-07-20 21:43 Jeff Kirsher
2012-07-21 17:37 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-20 21:43 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ethtool, e1000, e1000e and igb with
regards to the new MDI ethtool support patches submitted earlier.
The following are changes since commit fa0afcd10951afad2022dda09777d2bf70cdab3d:
atl1c: fix issue of io access mode for AR8152 v2.1
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce W Allan (1):
e1000e: implement 82577/579 MDI setting support
Jesse Brandeburg (5):
ethtool.h: MDI setting support
igb: implement 580 MDI setting support
e1000: configure and read MDI settings
e1000e: implement MDI/MDI-X control
igb: update to allow reading/setting MDI state
drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 34 +++++++++++++++++++
drivers/net/ethernet/intel/e1000/e1000_main.c | 4 +++
drivers/net/ethernet/intel/e1000e/ethtool.c | 39 +++++++++++++++++++---
drivers/net/ethernet/intel/e1000e/phy.c | 31 +++++++++++++++--
drivers/net/ethernet/intel/igb/e1000_phy.c | 29 ++++++++++++++--
drivers/net/ethernet/intel/igb/e1000_phy.h | 5 +--
drivers/net/ethernet/intel/igb/igb_ethtool.c | 37 ++++++++++++++++++++
drivers/net/ethernet/intel/igb/igb_main.c | 4 +++
include/linux/ethtool.h | 17 ++++++----
9 files changed, 184 insertions(+), 16 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-07-20 21:43 Jeff Kirsher
@ 2012-07-21 17:37 ` Jeff Kirsher
0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2012-07-21 17:37 UTC (permalink / raw)
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com
[-- Attachment #1: Type: text/plain, Size: 1709 bytes --]
On Fri, 2012-07-20 at 14:43 -0700, Kirsher, Jeffrey T wrote:
> This series contains updates to ethtool, e1000, e1000e and igb with
> regards to the new MDI ethtool support patches submitted earlier.
>
> The following are changes since commit fa0afcd10951afad2022dda09777d2bf70cdab3d:
> atl1c: fix issue of io access mode for AR8152 v2.1
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Bruce W Allan (1):
> e1000e: implement 82577/579 MDI setting support
>
> Jesse Brandeburg (5):
> ethtool.h: MDI setting support
> igb: implement 580 MDI setting support
> e1000: configure and read MDI settings
> e1000e: implement MDI/MDI-X control
> igb: update to allow reading/setting MDI state
>
> drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 34 +++++++++++++++++++
> drivers/net/ethernet/intel/e1000/e1000_main.c | 4 +++
> drivers/net/ethernet/intel/e1000e/ethtool.c | 39 +++++++++++++++++++---
> drivers/net/ethernet/intel/e1000e/phy.c | 31 +++++++++++++++--
> drivers/net/ethernet/intel/igb/e1000_phy.c | 29 ++++++++++++++--
> drivers/net/ethernet/intel/igb/e1000_phy.h | 5 +--
> drivers/net/ethernet/intel/igb/igb_ethtool.c | 37 ++++++++++++++++++++
> drivers/net/ethernet/intel/igb/igb_main.c | 4 +++
> include/linux/ethtool.h | 17 ++++++----
> 9 files changed, 184 insertions(+), 16 deletions(-)
>
> --
> 1.7.10.4
>
Since there some changes that are needed in this patch set, I will drop
this series from my tree so that I can continue pushing additional
ixgbe/ixgbevf patches.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-06-14 10:18 Jeff Kirsher
2012-06-15 22:38 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-06-14 10:18 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000 and ixgbe.
The following are changes since commit 0450243096de90ff51c3a6c605410c5e28d79f8d:
bonding: drop_monitor aware
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (1):
e1000e: use more informative logging macros when netdev not yet
registered
Emil Tantilov (1):
ixgbe: do not compile ixgbe_sysfs.c when CONFIG_IXGBE_HWMON is not
set
Jacob Keller (3):
ixgbe: ptp code cleanup
ixgbe: PTP Fix hwtstamp mode settings
ixgbe: Check PTP Rx timestamps via BPF filter
John Fastabend (1):
ixgbe: align flow control DV macros with datasheet
drivers/net/ethernet/intel/e1000e/netdev.c | 11 +-
drivers/net/ethernet/intel/e1000e/param.c | 43 ++++---
drivers/net/ethernet/intel/ixgbe/Makefile | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 149 ++++++++++++++++++------
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c | 2 -
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 37 +++---
8 files changed, 180 insertions(+), 79 deletions(-)
--
1.7.10.2
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-06-14 10:18 Jeff Kirsher
@ 2012-06-15 22:38 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-06-15 22:38 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 14 Jun 2012 03:18:03 -0700
> This series contains updates to e1000 and ixgbe.
>
> The following are changes since commit 0450243096de90ff51c3a6c605410c5e28d79f8d:
> bonding: drop_monitor aware
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-04-27 9:36 Jeff Kirsher
2012-04-29 2:08 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-04-27 9:36 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series of patches contains updates for e1000e, igb and
ixgbe.
The following are changes since commit 82981930125abfd39d7c8378a9cfdf5e1be2002b:
net: cleanups in sock_setsockopt()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (2):
e1000e: 82579 packet drop workaround
e1000e: 82579 potential system hang on stress when ME enabled
Jacob Keller (1):
ixgbe: check for WoL support in single function
Matthew Vick (3):
e1000e: Disable Far-End LoopBack following reset on 80003ES2LAN.
e1000e: Enable DMA Burst Mode on 82574 by default.
igb: Force flow control off during reset when forcing speed.
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 8 ++
drivers/net/ethernet/intel/e1000e/82571.c | 3 +-
drivers/net/ethernet/intel/e1000e/e1000.h | 37 +++++++++
drivers/net/ethernet/intel/e1000e/hw.h | 10 ---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 11 +++
drivers/net/ethernet/intel/e1000e/netdev.c | 51 ++++---------
drivers/net/ethernet/intel/igb/igb_main.c | 7 ++
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 51 +-----------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 88 ++++++++++++++--------
10 files changed, 143 insertions(+), 125 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-04-27 9:36 Jeff Kirsher
@ 2012-04-29 2:08 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-04-29 2:08 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 27 Apr 2012 02:36:47 -0700
> This series of patches contains updates for e1000e, igb and
> ixgbe.
>
> The following are changes since commit 82981930125abfd39d7c8378a9cfdf5e1be2002b:
> net: cleanups in sock_setsockopt()
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled.
I super appreciate the descriptive commit messages, especialy
wrt. hardware workarounds.
Thanks.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2012-04-14 9:16 Jeff Kirsher
2012-04-14 19:18 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-04-14 9:16 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series of patches contains updates for e100, e1000e, igb and
ixgbe. The e100 patches from Richard Cochran complete the
time stamping support for e100.
The following are changes since commit 64d683c5825003ffb3b127057a165e6bfc26691e:
bonding: Fixup get_tx_queue() op second arg type.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (2):
e1000e: cleanup remaining strings split across multiple lines
e1000e: cleanup boolean logic
Carolyn Wyborny (1):
igb: Update version to 3.4.7.
Don Skidmore (1):
ixgbe: add I2C clock stretching
Richard Cochran (2):
e100: Support the get_ts_info ethtool method.
e100: enable transmit time stamping.
drivers/net/ethernet/intel/e100.c | 2 +
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 4 +--
drivers/net/ethernet/intel/e1000e/82571.c | 9 +++----
drivers/net/ethernet/intel/e1000e/ethtool.c | 19 +++++++---------
drivers/net/ethernet/intel/e1000e/ich8lan.c | 26 +++++++++++-----------
drivers/net/ethernet/intel/e1000e/mac.c | 2 +-
drivers/net/ethernet/intel/e1000e/manage.c | 2 +-
drivers/net/ethernet/intel/e1000e/param.c | 8 +++---
drivers/net/ethernet/intel/e1000e/phy.c | 23 +++++++++----------
drivers/net/ethernet/intel/igb/igb_main.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 20 ++++++++++++-----
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 +
12 files changed, 62 insertions(+), 58 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 0/6][pull request] Intel Wired LAN Driver Updates
2012-04-14 9:16 Jeff Kirsher
@ 2012-04-14 19:18 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-04-14 19:18 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 14 Apr 2012 02:16:25 -0700
> This series of patches contains updates for e100, e1000e, igb and
> ixgbe. The e100 patches from Richard Cochran complete the
> time stamping support for e100.
>
> The following are changes since commit 64d683c5825003ffb3b127057a165e6bfc26691e:
> bonding: Fixup get_tx_queue() op second arg type.
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Also pulled, thanks a lot.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2011-12-03 11:44 Jeff Kirsher
0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2011-12-03 11:44 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to e1000e, igb and ixgbe. 5 of
the patches are bug fixes and one patch is to cleanup a function
prototype of a non-existent function.
The following are changes since commit 340e8dc1fb4032b6c8334c9bff20b2aec42ecfd8:
atm: clip: Remove code commented out since eternity.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (1):
e1000e: hitting BUG_ON() from napi_enable
Greg Rose (1):
ixgbe: Remove function prototype for non-existent function
John Fastabend (2):
ixgbe: DCBnl set_all, order of operations fix
ixgbe: DCB: IEEE transitions may fail to reprogram hardware.
Matthew Vick (1):
igb: Update DMA Coalescing threshold calculation.
Michael Wang (1):
e1000e: Avoid wrong check on TX hang
drivers/net/ethernet/intel/e1000e/e1000.h | 1 +
drivers/net/ethernet/intel/e1000e/netdev.c | 27 +++++-
drivers/net/ethernet/intel/igb/igb_main.c | 26 +++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 96 +++++++++--------------
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 1 -
5 files changed, 80 insertions(+), 71 deletions(-)
--
1.7.6.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2011-10-17 11:32 Jeff Kirsher
0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2011-10-17 11:32 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to ixgbe, igbvf and igb.
This version of the series contains the following changes:
- igb fix/add check if subordinate VFs are assigned to VM's
- igbvf fix for trunk VLAN
- ixgbe 2 fixes for ethtool and 1 endianess fix
The following are changes since commit fd38f734cb8200529e281338514945fcbff2364b:
igbvf: convert to ndo_fix_features
and are available in the git repository at
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
Emil Tantilov (3):
ixgbe: fix endianess when writing driver version to firmware
ixgbe: allow eeprom writes via ethtool
ixgbe: change the eeprom version reported by ethtool
Greg Rose (2):
igbvf: Fix trunk vlan
igb: Check if subordinate VFs are assigned to virtual machines
Jacob Keller (1):
ixgbe: add hardware timestamping support
drivers/net/ethernet/intel/igb/igb.h | 3 +
drivers/net/ethernet/intel/igb/igb_main.c | 176 +++++++--
drivers/net/ethernet/intel/igbvf/netdev.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 24 ++-
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 16 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 84 ++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 452 +++++++++++++++++++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 32 ++
9 files changed, 742 insertions(+), 51 deletions(-)
--
1.7.6.4
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 0/6][pull request] Intel Wired LAN Driver Updates
@ 2011-10-14 6:21 Jeff Kirsher
0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2011-10-14 6:21 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to e1000e, if_link, ixgbe, igbvf
and igb. This version of the series contains the following changes:
- e1000e not sure what happened in the pull on Tuesday which has this fix
so re-posting this fix
- igb fix for timecompare_update and enable L4 timestamping
- igbvf final conversion to ndo_fix_features
- if_link/ixgbe add spoof checking feature
The following are changes since commit 7ae60b3f3b297b7f04025c93f1cb2275c3a1dfcd:
sky2: fix skb truesize underestimation
and are available in the git repository at
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
Bruce Allan (1):
e1000e: locking bug introduced by commit 67fd4fcb
Greg Rose (2):
if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
ixgbe: Add new netdev op to turn spoof checking on or off per VF
Jacob Keller (2):
igb: enable l4 timestamping for v2 event packets
igb: fix timecompare_upate race condition
Michał Mirosław (1):
igbvf: convert to ndo_fix_features
drivers/net/ethernet/intel/e1000e/e1000.h | 1 +
drivers/net/ethernet/intel/e1000e/ich8lan.c | 21 +++++---
drivers/net/ethernet/intel/igb/igb_main.c | 11 ++++-
drivers/net/ethernet/intel/igbvf/ethtool.c | 57 ------------------------
drivers/net/ethernet/intel/igbvf/netdev.c | 25 ++++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 +++-
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 48 +++++++++++++++++---
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 1 +
include/linux/if_link.h | 10 ++++
include/linux/netdevice.h | 3 +
net/core/rtnetlink.c | 33 ++++++++++++-
12 files changed, 139 insertions(+), 84 deletions(-)
--
1.7.6.4
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2013-11-02 5:17 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-18 2:20 [net-next 0/6][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-07-18 2:20 ` [net-next 1/6] ixgbe: Ping the VFs on link status change to trigger link change Jeff Kirsher
2012-07-18 2:20 ` [net-next 2/6] ixgbe: Handle failures in the ixgbe_setup_rx/tx_resources calls Jeff Kirsher
2012-07-18 2:20 ` [net-next 3/6] ixgbe: Move configuration of set_real_num_rx/tx_queues into open Jeff Kirsher
2012-07-18 2:20 ` [net-next 4/6] ixgbe: Update the logic for ixgbe_cache_ring_dcb and DCB RSS configuration Jeff Kirsher
2012-07-18 2:20 ` [net-next 5/6] ixgbe: Cleanup logic for MRQC and MTQC configuration Jeff Kirsher
2012-07-18 2:20 ` [net-next 6/6] ixgbevf: Update descriptor macros to accept pointers and drop _ADV suffix Jeff Kirsher
2012-07-18 16:21 ` [net-next 0/6][pull request] Intel Wired LAN Driver Updates David Miller
-- strict thread matches above, loose matches on Subject: below --
2013-11-01 13:56 Jeff Kirsher
2013-11-02 5:17 ` David Miller
2012-11-01 10:44 Jeff Kirsher
2012-11-01 15:16 ` David Miller
2012-11-01 20:45 ` Jeff Kirsher
2012-11-02 22:46 ` David Miller
2012-09-24 9:00 Jeff Kirsher
2012-09-24 17:48 ` David Miller
2012-09-17 9:21 Jeff Kirsher
2012-09-17 16:44 ` David Miller
2012-09-05 23:35 Jeff Kirsher
2012-09-06 8:13 ` Richard Cochran
2012-09-10 22:58 ` Vick, Matthew
2012-09-13 21:05 ` Jeff Kirsher
2012-09-17 4:53 ` David Miller
2012-08-21 8:37 Jeff Kirsher
2012-08-22 21:24 ` David Miller
2012-07-20 21:43 Jeff Kirsher
2012-07-21 17:37 ` Jeff Kirsher
2012-06-14 10:18 Jeff Kirsher
2012-06-15 22:38 ` David Miller
2012-04-27 9:36 Jeff Kirsher
2012-04-29 2:08 ` David Miller
2012-04-14 9:16 Jeff Kirsher
2012-04-14 19:18 ` David Miller
2011-12-03 11:44 Jeff Kirsher
2011-10-17 11:32 Jeff Kirsher
2011-10-14 6:21 Jeff Kirsher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).