Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-8]: src/sys/dev/pci/ixgbe Pull up following revision(s) (requeste...
details: https://anonhg.NetBSD.org/src/rev/c610edeecd70
branches: netbsd-8
changeset: 851640:c610edeecd70
user: martin <martin%NetBSD.org@localhost>
date: Sat Apr 14 10:25:11 2018 +0000
description:
Pull up following revision(s) (requested by msaitoh in ticket #750):
sys/dev/pci/ixgbe/ixgbe_x540.h: revision 1.8
sys/dev/pci/ixgbe/ixgbe_82598.c: revision 1.11
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c: revision 1.6
sys/dev/pci/ixgbe/ixgbe_82598.c: revision 1.12
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c: revision 1.7
sys/dev/pci/ixgbe/ixgbe_dcb_82598.h: revision 1.6
sys/dev/pci/ixgbe/ixgbe_fdir.h: revision 1.2
sys/dev/pci/ixgbe/ixgbe_dcb_82599.h: revision 1.6
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c: revision 1.6
sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.18
sys/dev/pci/ixgbe/if_sriov.c: revision 1.3
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c: revision 1.7
sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.19
sys/dev/pci/ixgbe/ixgbe_mbx.h: revision 1.13
sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.7
sys/dev/pci/ixgbe/ixgbe_api.c: revision 1.19
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.16
sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.8
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.17
sys/dev/pci/ixgbe/ixgbe_dcb.h: revision 1.6
sys/dev/pci/ixgbe/if_bypass.c: revision 1.4
sys/dev/pci/ixgbe/ixv.c: revision 1.91
sys/dev/pci/ixgbe/ixgbe_rss.h: revision 1.4
sys/dev/pci/ixgbe/ixv.c: revision 1.92
sys/dev/pci/ixgbe/ixv.c: revision 1.93
sys/dev/pci/ixgbe/ixgbe_osdep.c: revision 1.4
sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.12
sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.13
sys/dev/pci/ixgbe/ixgbe_api.h: revision 1.13
sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.12
sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.33
sys/dev/pci/ixgbe/if_fdir.c: revision 1.2
sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.34
sys/dev/pci/ixgbe/ix_txrx.c: revision 1.39
sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.13
sys/dev/pci/ixgbe/ixgbe_api.c: revision 1.20
sys/dev/pci/ixgbe/ixgbe_sriov.h: revision 1.3
sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.21
sys/dev/pci/ixgbe/ixgbe_osdep.h: revision 1.21
sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.22
sys/dev/pci/ixgbe/ixgbe_82599.h: revision 1.7
sys/dev/pci/ixgbe/ixgbe.c: revision 1.144
sys/dev/pci/ixgbe/ixgbe.c: revision 1.145
sys/dev/pci/ixgbe/ixgbe_phy.c: revision 1.16
sys/dev/pci/ixgbe/ixgbe.c: revision 1.146
sys/dev/pci/ixgbe/ixgbe_phy.c: revision 1.17
sys/dev/pci/ixgbe/ixgbe_82598.h: revision 1.8
sys/dev/pci/ixgbe/ixgbe.h: revision 1.41
sys/dev/pci/ixgbe/ixgbe_mbx.c: revision 1.10
sys/dev/pci/ixgbe/ixgbe_x540.c: revision 1.14
sys/dev/pci/ixgbe/ixgbe_x540.c: revision 1.15
sys/dev/pci/ixgbe/ixgbe_phy.h: revision 1.11
Sync with the remaining part of FreeBSD r328265 except sfp_reinit stuff:
- Always schedule module intterrupt in ixgbe_config_link() when a device is
SFP+ based.
- Use not loop index but txr->me in ixv_initialize_{transmit,receive}_units().
It's required for VMDQ but NetBSD doesn't use it, so it's not a bug in
NetBSD.
- Simplify ixgbe_bp_wd_set(). No functional change.
- Whitespace.
Sync with FreeBSD r331224 except ixv_if_update_admin_status()'s change:
- Fix length of reading buffer when the command is Read Flash in
ixgbe_host_interface_command().
- Add missing start_hw() call in ixv_init_locked(). This is not a real bug
because start_hw just set hw->adapter_stopped to false and anyone refer it.
- Style change.
- Update comment.
Read sc_if_flags after taking core lock. Same as if_wm.c rev. 1.418.
diffstat:
sys/dev/pci/ixgbe/if_bypass.c | 51 ++++++++++---------------
sys/dev/pci/ixgbe/if_fdir.c | 2 +-
sys/dev/pci/ixgbe/if_sriov.c | 14 +++---
sys/dev/pci/ixgbe/ix_txrx.c | 4 +-
sys/dev/pci/ixgbe/ixgbe.c | 74 ++++++++++++++++++-------------------
sys/dev/pci/ixgbe/ixgbe.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_82598.c | 7 ++-
sys/dev/pci/ixgbe/ixgbe_82598.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_82599.c | 18 ++++++--
sys/dev/pci/ixgbe/ixgbe_82599.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_api.c | 20 ++++++++-
sys/dev/pci/ixgbe/ixgbe_api.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_common.c | 38 +++++++++++++++---
sys/dev/pci/ixgbe/ixgbe_common.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_dcb.c | 12 ++++-
sys/dev/pci/ixgbe/ixgbe_dcb.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c | 24 +++++++++---
sys/dev/pci/ixgbe/ixgbe_dcb_82598.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c | 27 +++++++++++--
sys/dev/pci/ixgbe/ixgbe_dcb_82599.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_fdir.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_mbx.c | 4 +-
sys/dev/pci/ixgbe/ixgbe_mbx.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_osdep.c | 4 +-
sys/dev/pci/ixgbe/ixgbe_osdep.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_phy.c | 23 +++++++++--
sys/dev/pci/ixgbe/ixgbe_phy.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_rss.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_sriov.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_type.h | 11 +----
sys/dev/pci/ixgbe/ixgbe_vf.c | 11 +++--
sys/dev/pci/ixgbe/ixgbe_vf.h | 4 +-
sys/dev/pci/ixgbe/ixgbe_x540.c | 2 +-
sys/dev/pci/ixgbe/ixgbe_x540.h | 2 +-
sys/dev/pci/ixgbe/ixgbe_x550.c | 14 ++++++-
sys/dev/pci/ixgbe/ixv.c | 69 ++++++++++++++++++----------------
36 files changed, 286 insertions(+), 195 deletions(-)
diffs (truncated from 1863 to 300 lines):
diff -r c981b65530cc -r c610edeecd70 sys/dev/pci/ixgbe/if_bypass.c
--- a/sys/dev/pci/ixgbe/if_bypass.c Sat Apr 14 10:16:19 2018 +0000
+++ b/sys/dev/pci/ixgbe/if_bypass.c Sat Apr 14 10:25:11 2018 +0000
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: head/sys/dev/ixgbe/if_bypass.c 320688 2017-07-05 17:27:03Z erj $*/
+/*$FreeBSD: head/sys/dev/ixgbe/if_bypass.c 327031 2017-12-20 18:15:06Z erj $*/
#include "ixgbe.h"
@@ -168,13 +168,13 @@
error = hw->mac.ops.bypass_rw(hw,
BYPASS_PAGE_CTL0, &state);
ixgbe_bypass_mutex_clear(adapter);
- if (error)
+ if (error != 0)
return (error);
state = (state >> BYPASS_STATUS_OFF_SHIFT) & 0x3;
node.sysctl_data = &state;
error = sysctl_lookup(SYSCTLFN_CALL(&node));
- if ((error) || (newp == NULL))
+ if ((error != 0) || (newp == NULL))
return (error);
/* Sanity check new state */
@@ -452,7 +452,7 @@
struct ixgbe_hw *hw = &adapter->hw;
int error, tmp;
static int timeout = 0;
- u32 mask, arg = BYPASS_PAGE_CTL0;
+ u32 mask, arg;
/* Get the current hardware value */
ixgbe_bypass_mutex_enter(adapter);
@@ -472,48 +472,38 @@
if ((error) || (newp == NULL))
return (error);
- mask = BYPASS_WDT_ENABLE_M;
+ arg = 0x1 << BYPASS_WDT_ENABLE_SHIFT;
+ mask = BYPASS_WDT_ENABLE_M | BYPASS_WDT_VALUE_M;
switch (timeout) {
case 0: /* disables the timer */
+ arg = BYPASS_PAGE_CTL0;
+ mask = BYPASS_WDT_ENABLE_M;
break;
case 1:
- arg = BYPASS_WDT_1_5 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_1_5 << BYPASS_WDT_TIME_SHIFT;
break;
case 2:
- arg = BYPASS_WDT_2 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_2 << BYPASS_WDT_TIME_SHIFT;
break;
case 3:
- arg = BYPASS_WDT_3 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_3 << BYPASS_WDT_TIME_SHIFT;
break;
case 4:
- arg = BYPASS_WDT_4 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_4 << BYPASS_WDT_TIME_SHIFT;
break;
case 8:
- arg = BYPASS_WDT_8 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_8 << BYPASS_WDT_TIME_SHIFT;
break;
case 16:
- arg = BYPASS_WDT_16 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_16 << BYPASS_WDT_TIME_SHIFT;
break;
case 32:
- arg = BYPASS_WDT_32 << BYPASS_WDT_TIME_SHIFT;
- arg |= 0x1 << BYPASS_WDT_ENABLE_SHIFT;
- mask |= BYPASS_WDT_VALUE_M;
+ arg |= BYPASS_WDT_32 << BYPASS_WDT_TIME_SHIFT;
break;
default:
return (EINVAL);
}
+
/* Set the new watchdog */
ixgbe_bypass_mutex_enter(adapter);
error = hw->mac.ops.bypass_set(hw, BYPASS_PAGE_CTL0, mask, arg);
@@ -559,7 +549,8 @@
error = IXGBE_BYPASS_FW_WRITE_FAILURE;
break;
}
- if (hw->mac.ops.bypass_rw(hw, BYPASS_PAGE_CTL1, &reset_wd)) {
+ error = hw->mac.ops.bypass_rw(hw, BYPASS_PAGE_CTL1, &reset_wd);
+ if (error != 0) {
error = IXGBE_ERR_INVALID_ARGUMENT;
break;
}
@@ -724,7 +715,7 @@
/* Another log command can now run */
while (atomic_cas_uint(&adapter->bypass.log, 1, 0) == 0)
usec_delay(3000);
- return(error);
+ return (error);
unlock_err:
ixgbe_bypass_mutex_clear(adapter);
@@ -745,9 +736,9 @@
{
struct ixgbe_hw *hw = &adapter->hw;
device_t dev = adapter->dev;
- u32 mask, value, sec, year;
struct sysctllog **log;
const struct sysctlnode *rnode, *cnode;
+ u32 mask, value, sec, year;
if (!(adapter->feat_cap & IXGBE_FEATURE_BYPASS))
return;
@@ -825,7 +816,5 @@
ixgbe_bp_wd_reset, 0, (void *)adapter, 0, CTL_CREATE, CTL_EOL);
adapter->feat_en |= IXGBE_FEATURE_BYPASS;
-
- return;
} /* ixgbe_bypass_init */
diff -r c981b65530cc -r c610edeecd70 sys/dev/pci/ixgbe/if_fdir.c
--- a/sys/dev/pci/ixgbe/if_fdir.c Sat Apr 14 10:16:19 2018 +0000
+++ b/sys/dev/pci/ixgbe/if_fdir.c Sat Apr 14 10:25:11 2018 +0000
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: head/sys/dev/ixgbe/if_fdir.c 320688 2017-07-05 17:27:03Z erj $*/
+/*$FreeBSD: head/sys/dev/ixgbe/if_fdir.c 327031 2017-12-20 18:15:06Z erj $*/
#include "ixgbe.h"
diff -r c981b65530cc -r c610edeecd70 sys/dev/pci/ixgbe/if_sriov.c
--- a/sys/dev/pci/ixgbe/if_sriov.c Sat Apr 14 10:16:19 2018 +0000
+++ b/sys/dev/pci/ixgbe/if_sriov.c Sat Apr 14 10:25:11 2018 +0000
@@ -30,7 +30,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: head/sys/dev/ixgbe/if_sriov.c 320688 2017-07-05 17:27:03Z erj $*/
+/*$FreeBSD: head/sys/dev/ixgbe/if_sriov.c 327031 2017-12-20 18:15:06Z erj $*/
#include "ixgbe.h"
#include "ixgbe_sriov.h"
@@ -90,26 +90,26 @@
/* Support functions for SR-IOV/VF management */
static inline void
-ixgbe_send_vf_msg(struct ixgbe_hw *hw, struct ixgbe_vf *vf, u32 msg)
+ixgbe_send_vf_msg(struct adapter *adapter, struct ixgbe_vf *vf, u32 msg)
{
if (vf->flags & IXGBE_VF_CTS)
msg |= IXGBE_VT_MSGTYPE_CTS;
- hw->mbx.ops.write(hw, &msg, 1, vf->pool);
+ adapter->hw.mbx.ops.write(&adapter->hw, &msg, 1, vf->pool);
}
static inline void
ixgbe_send_vf_ack(struct adapter *adapter, struct ixgbe_vf *vf, u32 msg)
{
msg &= IXGBE_VT_MSG_MASK;
- ixgbe_send_vf_msg(&adapter->hw, vf, msg | IXGBE_VT_MSGTYPE_ACK);
+ ixgbe_send_vf_msg(adapter, vf, msg | IXGBE_VT_MSGTYPE_ACK);
}
static inline void
ixgbe_send_vf_nack(struct adapter *adapter, struct ixgbe_vf *vf, u32 msg)
{
msg &= IXGBE_VT_MSG_MASK;
- ixgbe_send_vf_msg(&adapter->hw, vf, msg | IXGBE_VT_MSGTYPE_NACK);
+ ixgbe_send_vf_msg(adapter, vf, msg | IXGBE_VT_MSGTYPE_NACK);
}
static inline void
@@ -205,7 +205,7 @@
for (int i = 0; i < adapter->num_vfs; i++) {
vf = &adapter->vfs[i];
if (vf->flags & IXGBE_VF_ACTIVE)
- ixgbe_send_vf_msg(&adapter->hw, vf, IXGBE_PF_CONTROL_MSG);
+ ixgbe_send_vf_msg(adapter, vf, IXGBE_PF_CONTROL_MSG);
}
} /* ixgbe_ping_all_vfs */
@@ -775,7 +775,7 @@
ixgbe_vf_enable_transmit(adapter, vf);
ixgbe_vf_enable_receive(adapter, vf);
- ixgbe_send_vf_msg(&adapter->hw, vf, IXGBE_PF_CONTROL_MSG);
+ ixgbe_send_vf_msg(adapter, vf, IXGBE_PF_CONTROL_MSG);
} /* ixgbe_init_vf */
void
diff -r c981b65530cc -r c610edeecd70 sys/dev/pci/ixgbe/ix_txrx.c
--- a/sys/dev/pci/ixgbe/ix_txrx.c Sat Apr 14 10:16:19 2018 +0000
+++ b/sys/dev/pci/ixgbe/ix_txrx.c Sat Apr 14 10:25:11 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ix_txrx.c,v 1.24.2.9 2018/04/04 16:18:49 martin Exp $ */
+/* $NetBSD: ix_txrx.c,v 1.24.2.10 2018/04/14 10:25:11 martin Exp $ */
/******************************************************************************
@@ -32,7 +32,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: head/sys/dev/ixgbe/ix_txrx.c 321476 2017-07-25 14:38:30Z sbruno $*/
+/*$FreeBSD: head/sys/dev/ixgbe/ix_txrx.c 327031 2017-12-20 18:15:06Z erj $*/
/*
* Copyright (c) 2011 The NetBSD Foundation, Inc.
diff -r c981b65530cc -r c610edeecd70 sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Sat Apr 14 10:16:19 2018 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Sat Apr 14 10:25:11 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.88.2.16 2018/04/04 16:18:49 martin Exp $ */
+/* $NetBSD: ixgbe.c,v 1.88.2.17 2018/04/14 10:25:11 martin Exp $ */
/******************************************************************************
@@ -32,7 +32,7 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-/*$FreeBSD: head/sys/dev/ixgbe/if_ix.c 320916 2017-07-12 17:35:32Z sbruno $*/
+/*$FreeBSD: head/sys/dev/ixgbe/if_ix.c 331224 2018-03-19 20:55:05Z erj $*/
/*
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -80,7 +80,7 @@
/************************************************************************
* Driver version
************************************************************************/
-char ixgbe_driver_version[] = "3.2.12-k";
+char ixgbe_driver_version[] = "4.0.1-k";
/************************************************************************
@@ -669,7 +669,6 @@
IXGBE_WRITE_REG(hw, IXGBE_RXCSUM, rxcsum);
- return;
} /* ixgbe_initialize_receive_units */
/************************************************************************
@@ -680,9 +679,10 @@
{
struct tx_ring *txr = adapter->tx_rings;
struct ixgbe_hw *hw = &adapter->hw;
+ int i;
/* Setup the Base and Length of the Tx Descriptor Ring */
- for (int i = 0; i < adapter->num_queues; i++, txr++) {
+ for (i = 0; i < adapter->num_queues; i++, txr++) {
u64 tdba = txr->txdma.dma_paddr;
u32 txctrl = 0;
int j = txr->me;
@@ -827,7 +827,7 @@
/*
* Initialize the shared code
*/
- if (ixgbe_init_shared_code(hw)) {
+ if (ixgbe_init_shared_code(hw) != 0) {
aprint_error_dev(dev, "Unable to initialize the shared code\n");
error = ENXIO;
goto err_out;
@@ -1466,23 +1466,23 @@
switch (hw->mac.type) {
case ixgbe_mac_82598EB:
if (hw->phy.type == ixgbe_phy_nl)
- return TRUE;
- return FALSE;
+ return (TRUE);
+ return (FALSE);
case ixgbe_mac_82599EB:
switch (hw->mac.ops.get_media_type(hw)) {
case ixgbe_media_type_fiber:
case ixgbe_media_type_fiber_qsfp:
- return TRUE;
+ return (TRUE);
default:
- return FALSE;
+ return (FALSE);
Home |
Main Index |
Thread Index |
Old Index