Home | History | Annotate | Download | only in ixgbe
History log of /src/sys/dev/pci/ixgbe/ixgbe_vf.h
RevisionDateAuthorComments
 1.18  06-Oct-2023  msaitoh ixv(4): Add new IXGBE_VF_GET_LINK_STATE message support.

PF can control vf's link state by this change. Note that Linux's PF driver
can't control the link to force up (i.e. ip link set XXX vf Y state enable).
From FreeBSD ixv-1.5.30.
 1.17  24-Jan-2022  msaitoh branches: 1.17.4;
Use 32bit for 32bit counter.
 1.16  19-Jan-2022  msaitoh Improve ixv(4)'s some event counters.

- The virtual function's packet counter registers are not cleared on read.
To solve this problem, <REGNAME>, base_<REGNAME>, last_<REGNAME> and
saved_reset_<REGNAME> are in the struct ixgbevf_hw_stats and some
functions use them. However, saved_reset_<REGNAME> is set but never
referenced. base_<REGNAME> is set and it's only used for
saved_reset_<REGNAME>, so it's also unused in reality. THERE ARE A LOT
OF GARBAGE. Remove them.
- Call ixv_init_stats() in ixv_clear_evcnt() to make ifconfig -z ixvN
work correctly.
 1.15  24-Dec-2021  msaitoh Update copyright to 2020.

FreeBSD: 8455e365f77f5b66ac9521dbcd690f79345ce147
 1.14  12-Sep-2019  msaitoh - Make SIOCADDMULTI returns ENOSPC when the Ethenet multicast address list
exceeds the limit.
- State "Ethernet" multicast address.
- Use macro.
 1.13  04-Apr-2018  msaitoh branches: 1.13.2; 1.13.8;
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.
 1.12  15-Mar-2018  msaitoh Add some changes from ix-3.2.17.tar.gz and r328265. Not fully synchronized.
Some others (e.g. sfp cage interrupt and bypass adapter stuff) will be merged
later:
- Initialize firmware command buffer correctly in ixgbe_read_ee_hostif_X550()
and ixgbe_read_ee_hostif_buffer_X550(). These functions are used when reading
NVM.
- Fix a bug that ixgbe_mng_present() misunderstand management capability on
X550 and newer on some environment. X550 changed FWSM bit definition.
See X540 document and X550's document and compare them.
- Fix checksum calculation in ixgbe_set_fw_drv_ver_generic(). This function is
not used in NetBSD.
- Add some unused funtions.
- Whitespace fix.
 1.11  06-Dec-2017  msaitoh branches: 1.11.2;
Sync with FreeBSD's r326022. All of the following changes have no influence
to netbsd:
- Check ETHERCAP_VLAN_HWTAGGING in ixgbe_setup_vlan_hw_support(). This change
has no influence to netbsd because it's enabled by default and NetBSD has
no API to disable it.
- Fix for netmap module.
- Remove never defined UDP_IPV4_EX
- Add SPDX-License-Identifier
 1.10  14-Sep-2017  msaitoh Quick hack to fix ixv(4)'s hardware counter. ixgbe_rx_checksum() passes
"struct ixgbe_hw_stats *" even if its a virtual function. The layout between
ixgbe_hw_stats and ixgbevf_hw_stats are different, so ixgbe_rx_checksum()
wrote wrong area if a device is a virtual function. To fix this problem with
small change, move the location of ipcs, ipcs_bad, l4cs and l4cs_bad of
struct ixgbe(vf)_hw_stats to the same location at the biggining of the struct.
 1.9  30-Aug-2017  msaitoh - Sync with FreeBSD r320688 (and up to r322865):
- Add C3000(Denvertion(-NS)) support.
- Add bypass function support for bypass adapters. Sysctls are provided.
Not tested because I have no any bypass adapter.
- ixv(4): set RSS mapping.
- Change EEE sysctl.
- ixv(4): Add TSOv6.
- ixv(4): Mailbox API 1.2 and more are implemented and comment says it
negotiate with 1.2 but it really does 1.1...
- Remove thermal test sysctl.
- Fix unknown bugs.
- Print driver feature capabilities and enable bits when verbose boot.
 1.8  10-Feb-2017  msaitoh branches: 1.8.6;
- Both mbuf_defrag_failed and m_defrag_failed existed. Remove m_defrag_failed.
- rx_irq, dropped_pkts, morerx, moretx and txloops counters are uncounted, so
remove them.
- Count handleq in ixv_handle_que().
- Detach event counters correctly.
- Set some per-queue event names correctly.
 1.7  01-Dec-2016  msaitoh branches: 1.7.2;
Update ixg(4) and ixv(4) up to FreeBSD r282299:
- Add support for X55x.
- ADD EEE support (not tested).
- Add WOL support (not tested).
- Add suspend/resume support (not testd).
- Add LPLU support (not tested).
- Add DMA Coalescing (note verified).
- Not tested well for sysctls.
- Fix ixgbe_set_advertise() a bit. At least, FreeBSD r294578 is required
to work hw.ixg0.advertise_speed sysctl correctly.
 1.6  01-Dec-2016  msaitoh Update ixg(4) and ixv(4) up to FreeBSD r280197:
- Add support for 82599_QSFP_SF_QP and X540T1.
- Add partial support for X55x. It's required to sync with FreeBSD r282299
to support X55x.
- Bugfixes.
 1.5  24-Apr-2015  msaitoh branches: 1.5.2;
Sync ixg(4) up to FreeBSD r250108:
- Cleanup some unused counters and some unused code.
- Improve performance.
- Fix flow control - don't override user value on re-init
- Fix to make 1G optics work correctly
- Change to interrupt enabling - some bits were incorrect
for certain hardware.
- Certain stats fixes, remove a duplicate increment of
ierror, thanks to Scott Long for pointing these out.
- Fix the setting of RX which related to multicast.
- Some netmap related fixes.
 1.4  02-Apr-2015  msaitoh Update our ixg(4) driver up to FreeBSD r238149:
- Add TSO6 support.
- The max size in dma tag is changed from 65535 to 262140 (IXGBE_TSO_SIZE).
The value is the same as other *BSDs. The change might cause a address
space shortage (ixgbe_dmamap_create() might fail) on some machines.
- Fix a lot of bugs.
- Improve performance.
 1.3  27-Mar-2015  msaitoh Synchronize our ixg(4) driver up to FreeBSD r230775:
- Add X540 support.
- Add 100BaseTX support.
- Fix a lot of bugs.
- Improve performance.
 1.2  10-Mar-2015  msaitoh Modify to make Intel Intel 10G Ethernet (ixg(4)) virtual function ixv(4)
compilable. Not completed yet. It's required to use MSI-X.
 1.1  12-Aug-2011  dyoung branches: 1.1.12; 1.1.28; 1.1.30;
Add sources for ixgbe(4), a Intel 82599 10-gigabit ethernet driver
ported from FreeBSD.
 1.1.30.4  28-Aug-2017  skrll Sync with HEAD
 1.1.30.3  05-Dec-2016  skrll Sync with HEAD
 1.1.30.2  06-Jun-2015  skrll Sync with HEAD
 1.1.30.1  06-Apr-2015  skrll Sync with HEAD
 1.1.28.3  06-May-2015  riz Pull up following revisions (requested by msaitoh in ticket #734):
sys/dev/pci/ixgbe/LICENSE 1.2
sys/dev/pci/ixgbe/ixgbe.c 1.28-1.29
sys/dev/pci/ixgbe/ixgbe.h 1.7
sys/dev/pci/ixgbe/ixgbe_82598.c 1.4
sys/dev/pci/ixgbe/ixgbe_82598.h 1.3
sys/dev/pci/ixgbe/ixgbe_82599.c 1.9
sys/dev/pci/ixgbe/ixgbe_82599.h 1.2
sys/dev/pci/ixgbe/ixgbe_api.c 1.7
sys/dev/pci/ixgbe/ixgbe_api.h 1.4
sys/dev/pci/ixgbe/ixgbe_common.c 1.5
sys/dev/pci/ixgbe/ixgbe_common.h 1.4
sys/dev/pci/ixgbe/ixgbe_mbx.h 1.4
sys/dev/pci/ixgbe/ixgbe_netbsd.h 1.3
sys/dev/pci/ixgbe/ixgbe_osdep.h 1.7
sys/dev/pci/ixgbe/ixgbe_phy.c 1.5
sys/dev/pci/ixgbe/ixgbe_phy.h 1.4
sys/dev/pci/ixgbe/ixgbe_type.h 1.10
sys/dev/pci/ixgbe/ixgbe_vf.c 1.4
sys/dev/pci/ixgbe/ixgbe_vf.h 1.5
sys/dev/pci/ixgbe/ixgbe_x540.c 1.3
sys/dev/pci/ixgbe/ixgbe_x540.h 1.2
sys/dev/pci/ixgbe/ixv.c 1.8

- Sync ixg(4) up to FreeBSD r250108:
- Cleanup some unused counters and some unused code.
- Improve performance.
- Fix flow control - don't override user value on re-init
- Fix to make 1G optics work correctly
- Change to interrupt enabling - some bits were incorrect
for certain hardware.
- Certain stats fixes, remove a duplicate increment of
ierror, thanks to Scott Long for pointing these out.
- Fix the setting of RX which related to multicast.
- Some netmap related fixes.
- Fixes link error without vlan. PR#49879 reported by Hauke Fath.
[msaitoh, ticket #734]
 1.1.28.2  19-Apr-2015  riz Apply patch (requested by msaitoh in ticket #697):
sys/dev/pci/files.pci 1.375 via patch
sys/dev/pci/ixgbe/ixgbe.c 1.24-1.27 via patch
sys/dev/pci/ixgbe/ixgbe.h 1.4-1.6 via patch
sys/dev/pci/ixgbe/ixgbe_82598.c 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_82598.h 1.1-1.2 via patch
sys/dev/pci/ixgbe/ixgbe_82599.c 1.6-1.8 via patch
sys/dev/pci/ixgbe/ixgbe_82599.h 1.1 via patch
sys/dev/pci/ixgbe/ixgbe_api.c 1.5-1.6 via patch
sys/dev/pci/ixgbe/ixgbe_api.h 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_common.c 1.3-1.4 via patch
sys/dev/pci/ixgbe/ixgbe_common.h 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_mbx.c 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_mbx.h 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_osdep.h 1.4-1.6 via patch
sys/dev/pci/ixgbe/ixgbe_phy.c 1.3-1.4 via patch
sys/dev/pci/ixgbe/ixgbe_phy.h 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_type.h 1.8-1.9 via patch
sys/dev/pci/ixgbe/ixgbe_vf.c 1.2-1.3 via patch
sys/dev/pci/ixgbe/ixgbe_vf.h 1.3-1.4 via patch
sys/dev/pci/ixgbe/ixgbe_x540.c 1.1-1.2 via patch
sys/dev/pci/ixgbe/ixgbe_x540.h 1.1 via patch
sys/dev/pci/ixgbe/ixv.c 1.5-1.7 via patch
sys/dev/pci/ixgbe/ixv.h 1.4-1.5 via patch

Synchronize our ixg(4) driver up to FreeBSD r243716:
- Add X540 support.
- Add TSO6 support.
- Add 100BaseTX support.
- The max size in dma tag is changed from 65535 to 262140 (IXGBE_TSO_SIZE).
The value is the same as other *BSDs. The change might cause a address
space shortage (ixgbe_dmamap_create() might fail) on some machines.
- Show 1000Base-SX correctly.
- Fix if_baudrate from 1G to 10G.
- Fix a bug that ifconfig -z (SOICZIFDATA) doesn't work.
- Fix a lot of bugs.
- Improve performance.
[msaitoh, ticket #697]
 1.1.28.1  26-Mar-2015  martin Pull up the following revisions (via patch), requested by msaitoh in #641:

sys/dev/pci/files.pci 1.374
sys/dev/pci/ixgbe/ixgbe.h 1.3
sys/dev/pci/ixgbe/ixgbe.c 1.20-1.23
sys/dev/pci/ixgbe/ixgbe_type.h 1.3-1.7
sys/dev/pci/ixgbe/ixgbe_82599.c 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_api.c 1.3-1.4
sys/dev/pci/ixgbe/ixgbe_vf.h 1.2
sys/dev/pci/ixgbe/ixv.c 1.3-1.4
sys/dev/pci/ixgbe/ixv.h 1.3

- Sync ixg(4) up to FreeBSD r230572.
- Fix in the interrupt handler to make sure the stack TX queue is processed.
(FreeBSD r222588)
- The maximum read size of incoming packets is done in 1024-byte increments.
The current code was rounding down the maximum frame size instead of
routing up, resulting in a read size of 1024 bytes, in the non-jumbo
frame case, and splitting the packets across multiple mbufs.
(FreeBSD r225045)
- Consequently the above problem exposed another issue, which is when
packets were splitted across multiple mbufs, and all of the mbufs in the
chain have the M_PKTHDR flag set. (FreeBSD r225045)
- Use the correct constant for conversion between interrupt rate
and EITR values (the previous values were off by a factor of 2)
(FreeBSD r230572)
- Make dev.ix.N.queueM.interrupt_rate a RW sysctl variable. Changing
individual values affects the queue immediately, and propagates to all
interfaces at the next reinit. (FreeBSD r230572)
- Add dev.ix.N.queueM.irqs rdonly sysctl, to export the actual interrupt
counts. (FreeBSD r230572)
- Some netmap related changes.
- Fix a bug that vlan setting may not apply to the parent interface correctly.
- Add 82599EN_SFP and 82599_SFP_SF_QP.
- Modify to make Intel Intel 10G Ethernet (ixg(4)) virtual function ixv(4)
compilable. Not completed yet. It's required to use MSI-X.
- Change comments, tabs and spaces to make difference among *BSDs small.
- Enclose macro argument correctly. Same as *BSDs. No binary change.
- Add missing parenthesis in IXGBE_CORE_LOCK_ASSERT() macro. No binary change.
 1.1.12.1  03-Dec-2017  jdolecek update from HEAD
 1.5.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.8.6.7  08-Oct-2023  martin Pull up following revision(s) (requested by msaitoh in ticket #1745):

sys/dev/pci/ixgbe/ixgbe.c 1.327-1.332 via patch
sys/dev/pci/ixgbe/ixgbe.h 1.87-1.88
sys/dev/pci/ixgbe/ixv.c 1.184-1.185
sys/dev/pci/ixgbe/ix_txrx.c 1.101
sys/dev/pci/ixgbe/ixgbe_82599.c 1.30
sys/dev/pci/ixgbe/ixgbe_vf.c 1.32-1.33
sys/dev/pci/ixgbe/ixgbe_vf.h 1.18
sys/dev/pci/ixgbe/ixgbe_mbx.h 1.20
sys/dev/pci/ixgbe/ixgbe_type.h 1.57

- Reorder some event counters for readability.
- Rename some descriptions of event counters.
- Count Queue Bytes {Transmit, Receive} counter.
- Improve error check in ixgbe_check_mac_link_vf().
- Add new IXGBE_VF_GET_LINK_STATE message support.
The VF's link state can be forced to down by PF.
- Update FCTRL after writing multicast filter.
- Update comments.
 1.8.6.6  30-Jan-2022  martin Pull up the following, requested by msaitoh in ticket #1729:

sys/dev/pci/ixgbe/if_sriov.c 1.12-1.16
sys/dev/pci/ixgbe/ixgbe.c 1.295-1.297,1.300,1.304 via patch
sys/dev/pci/ixgbe/ixgbe.h 1.84
sys/dev/pci/ixgbe/ixgbe_82598.c 1.17-1.18
sys/dev/pci/ixgbe/ixgbe_82598.h 1.9
sys/dev/pci/ixgbe/ixgbe_82599.c 1.24-1.28
sys/dev/pci/ixgbe/ixgbe_82599.h 1.8
sys/dev/pci/ixgbe/ixgbe_api.c 1.26-1.27
sys/dev/pci/ixgbe/ixgbe_api.h 1.16
sys/dev/pci/ixgbe/ixgbe_bypass.h 1.3
sys/dev/pci/ixgbe/ixgbe_common.c 1.34-1.42
sys/dev/pci/ixgbe/ixgbe_common.h 1.15-1.16
sys/dev/pci/ixgbe/ixgbe_dcb.c 1.12-1.13
sys/dev/pci/ixgbe/ixgbe_dcb.h 1.8-1.9
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c 1.10-1.12
sys/dev/pci/ixgbe/ixgbe_dcb_82598.h 1.8
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c 1.10-1.11
sys/dev/pci/ixgbe/ixgbe_dcb_82599.h 1.8
sys/dev/pci/ixgbe/ixgbe_fdir.h 1.4
sys/dev/pci/ixgbe/ixgbe_features.h 1.4
sys/dev/pci/ixgbe/ixgbe_mbx.c 1.13-1.15
sys/dev/pci/ixgbe/ixgbe_mbx.h 1.15-1.18
sys/dev/pci/ixgbe/ixgbe_netmap.c 1.5
sys/dev/pci/ixgbe/ixgbe_osdep.c 1.8
sys/dev/pci/ixgbe/ixgbe_osdep.h 1.31
sys/dev/pci/ixgbe/ixgbe_phy.c 1.25-1.29
sys/dev/pci/ixgbe/ixgbe_phy.h 1.13
sys/dev/pci/ixgbe/ixgbe_rss.h 1.6
sys/dev/pci/ixgbe/ixgbe_sriov.h 1.5
sys/dev/pci/ixgbe/ixgbe_type.h 1.51-1.54
sys/dev/pci/ixgbe/ixgbe_vf.c 1.28-1.29
sys/dev/pci/ixgbe/ixgbe_vf.h 1.15
sys/dev/pci/ixgbe/ixgbe_x540.c 1.20-1.22
sys/dev/pci/ixgbe/ixgbe_x540.h 1.10
sys/dev/pci/ixgbe/ixgbe_x550.c 1.21-1.25
sys/dev/pci/ixgbe/ixgbe_x550.h 1.7
sys/dev/pci/ixgbe/ixv.c 1.170, 1.174-1.175 via patch

- Add typecast for type mismatch.
- Fix retry count calculation of I2C read/write.
- Wait longer for link after fiber MAC setup.
- ixv(4): Use adapter->mta for the multicast array memory instead of
the on-stack array.
- Match X550_PHY_ID correctly on X550.
- Print NVM image version on 82598.
- Use 64bit for lxon + lxoff.
- Don't expose garbage data of hw.ixvN.debug.
- Some NetBSD unrelated changes:
- Fix infinite recursion on PCIe link down if VMDQ is used.
- Move PF mailbox initialization from ixgbe_attach() to
ixgbe_init_iov().
- Add IPv6 mask for flow director.
- Change error level in ixgbe_fc_autoneg().
- Check host interface return status when writing NVM.
- Change DCB credit parameters.
- Restore some mailbox related functions. Revert part of ixgbe_mbx.c
rev. 1.7 and ixgbe_mbx.h rev. 1.11. No functional change.
- Rename IXGBE_VT_MSGTYPE_{ACK,NACK} to
IXGBE_VT_MSGTYPE_{SUCCESS,FAILURE}. No functional change.
- Remove unused argument. Change argument.
- Remove unnecessary return value check.
- Remove debug error message.
- Remove dead code.
- Add some unused macros.
- Fix typo in comment.
- Rename some functions.
- Sort lines, modify comment.
- Whitespace fix.
 1.8.6.5  29-Jan-2022  martin Pull up the following revisions (all via patch), requested by msaitoh
in ticket #1725:

sys/dev/pci/ixgbe/ixgbe_vf.h 1.16-1.17
sys/dev/pci/ixgbe/ixv.c 1.176-1.177

Make ifconfig -z ixvN clear event counter.
 1.8.6.4  26-Sep-2019  martin Pull up the following revisions, requested by msaitoh in ticket #1389:

sys/dev/pci/ixgbe/ixgbe_type.h 1.42-1.43
sys/dev/pci/ixgbe/ixgbe.c 1.209-1.213 via patch
sys/dev/pci/ixgbe/ixv.c 1.131-1.138 via patch
sys/dev/pci/ixgbe/ixgbe_vf.c 1.19-1.22
sys/dev/pci/ixgbe/ixgbe_vf.h 1.14
sys/dev/pci/ixgbe/ixgbe.h 1.57-1.58 via patch
share/man/man4/ixv.4 1.5 via patch

- Fix a bug that MBSDC (Bad SFD Count) isn't counted on X550EM_X and
X550EM_A. The register is for X550 and newer.
- ixv(4): Make SIOCADDMULTI returns ENOSPC and print error message
when the Ethernet multicast address list exceeds the limit(30) and
can't be ALLMULTI.
- ixv(4): SIOCZIFDATA clear the event counters as ixgbe.c.
- Reduce ixv(4)'s multicast table array size in ixv_set_multi from
MAX_NUM_MULTICAST_ADDRESSES(128) to IXGBE_MAX_VF_MC(30).
- ixv(4): Add support ALLMULTI and PROMISC.
- if_flags is neither int nor short. It's unsigned short.
- Fix a bug that the multicast filter isn't correctly initialized when
the total number of the Ethernet multicast addresses is just 128.
- Make ixv_set_multi() work correctly (especially for PROMISC) when the
function is called from if_init().
- Remove *_set_promisc() and use *_set_multi(). And then, rename
*_set_multi() to *_set_rxfilter().
- ixv(4): If a multicast entry has range, use ALLMULTI like others.
 1.8.6.3  14-Apr-2018  martin 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.
 1.8.6.2  30-Mar-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #673):

sys/dev/pci/ixgbe/if_sriov.c: revision 1.2
sys/dev/pci/ixgbe/ixgbe.c: revision 1.135
sys/dev/pci/ixgbe/ixgbe.c: revision 1.136
sys/dev/pci/ixgbe/ixgbe.c: revision 1.137
sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.17
sys/dev/pci/ixgbe/if_bypass.c: revision 1.3
sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.18
sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.10
sys/dev/pci/ixgbe/ixgbe.h: revision 1.36
sys/dev/pci/ixgbe/ixgbe_osdep.c: revision 1.3
sys/dev/pci/ixgbe/ixgbe.h: revision 1.37
sys/dev/pci/ixgbe/ix_txrx.c: revision 1.36
sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.32
sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.12
sys/dev/pci/ixgbe/ixgbe_sriov.h: revision 1.2
sys/dev/pci/ixgbe/ixgbe_osdep.h: revision 1.20
sys/dev/pci/ixgbe/ixv.c: revision 1.88
sys/dev/pci/ixgbe/ixgbe_phy.c: revision 1.15
sys/dev/pci/ixgbe/ixv.c: revision 1.89
sys/dev/pci/ixgbe/ixgbe_x540.c: revision 1.13
sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.8
sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.9

Add some changes from ix-3.2.17.tar.gz and r328265. Not fully synchronized.

Some others (e.g. sfp cage interrupt and bypass adapter stuff) will be merged
later:

- Initialize firmware command buffer correctly in ixgbe_read_ee_hostif_X550()
and ixgbe_read_ee_hostif_buffer_X550(). These functions are used when reading
NVM.
- Fix a bug that ixgbe_mng_present() misunderstand management capability on
X550 and newer on some environment. X550 changed FWSM bit definition.
See X540 document and X550's document and compare them.
- Fix checksum calculation in ixgbe_set_fw_drv_ver_generic(). This function is
not used in NetBSD.
- Add some unused funtions.
- Whitespace fix.
- Check offset correctly in ixgbe_get_oem_prod_version(). Note that this
function is not used.
- Set PHY correctly in ixgbe_setup_mac_link_sfp_x550a() if a device is a
C3000 KR SFP+.

Fix race about writing adapter->link_active for ixg(4).
adapter->link_active is updated by ixgbe_update_link_status() only.

The function is called from the following four functions.
- ixgbe_media_status()
- ixgbe_local_timer1()
- ixgbe_stop()
- ixgbe_handle_link()

The functions other than ixgbe_handle_link() call ixgbe_update_link_status()
with holding IXGBE_CORE_LOCK, however ixgbe_handle_link() calls it without
holding IXGBE_CORE_LOCK. That can cause race. So, add IXGBE_CORE_LOCK to
ixgbe_handle_link().

Tested by msaitoh@n.o and me.

Fix race about writing adapter->link_active for ixv(4).
adapter->link_active is updated by ixv_update_link_status() only.

The function is called from the following two functions.
- ixv_media_status()
- ixv_handle_link()

ixv_media_status() calls ixv_update_link_status() with holding
IXGBE_CORE_LOCK, however ixv_handle_link() calls it without
holding IXGBE_CORE_LOCK, the same as ixg(4).

ok by msaitoh@n.o.

- Add link related softint's counter.
- Fix indent.
 1.8.6.1  21-Dec-2017  snj Pull up following revision(s) (requested by msaitoh in ticket #441):
sys/dev/pci/files.pci: 1.390
sys/dev/pci/ixgbe/if_bypass.c: new
sys/dev/pci/ixgbe/if_fdir.c: new
sys/dev/pci/ixgbe/if_sriov.c: new
sys/dev/pci/ixgbe/ixgbe_bypass.h: new
sys/dev/pci/ixgbe/ixgbe_fdir.h: new
sys/dev/pci/ixgbe/ixgbe_features.h: new
sys/dev/pci/ixgbe/ixgbe_netmap.c: new
sys/dev/pci/ixgbe/ixgbe_netmap.h: new
sys/dev/pci/ixgbe/ixgbe_rss.h: new
sys/dev/pci/ixgbe/ixgbe_sriov.h: new
sys/dev/pci/ixgbe/ix_txrx.c: 1.28, 1.30 via patch
sys/dev/pci/ixgbe/ixgbe.c: 1.97-1.105, 1.107-1.111, 1.113-1.115
sys/dev/pci/ixgbe/ixgbe.h: 1.26-1.29 via patch
sys/dev/pci/ixgbe/ixv.c: 1.57-1.58, 1.60-1.61, 1.63-1.64, 1.66-1.72, 1.75 via patch
sys/dev/pci/ixgbe/ixgbe_api.c: 1.17-1.18 via patch
sys/dev/pci/ixgbe/ixgbe_type.h: 1.26-1.30 via patch
sys/dev/pci/ixgbe/ixgbe_82598.c: 1.9-1.10 via patch
sys/dev/pci/ixgbe/ixgbe_82598.h: 1.6-1.7
sys/dev/pci/ixgbe/ixgbe_82599.c: 1.15-1.16 via patch
sys/dev/pci/ixgbe/ixgbe_82599.h: 1.5-1.6
sys/dev/pci/ixgbe/ixgbe_api.h: 1.10-1.11 via patch
sys/dev/pci/ixgbe/ixgbe_common.c: 1.14-1.16 via patch
sys/dev/pci/ixgbe/ixgbe_common.h: 1.8-1.9 via patch
sys/dev/pci/ixgbe/ixgbe_dcb.c: 1.5-1.6
sys/dev/pci/ixgbe/ixgbe_dcb.h: 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c: 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_dcb_82598.h: 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c: 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_dcb_82599.h: 1.4-1.5
sys/dev/pci/ixgbe/ixgbe_mbx.c: 1.7-1.9 via patch
sys/dev/pci/ixgbe/ixgbe_mbx.h: 1.11-1.12 via patch
sys/dev/pci/ixgbe/ixgbe_osdep.c: 1.2
sys/dev/pci/ixgbe/ixgbe_osdep.h: 1.18-1.19 via patch
sys/dev/pci/ixgbe/ixgbe_phy.c: 1.12-1.14 via patch
sys/dev/pci/ixgbe/ixgbe_phy.h: 1.9-1.10 via patch
sys/dev/pci/ixgbe/ixgbe_vf.c: 1.13-1.15 via patch
sys/dev/pci/ixgbe/ixgbe_vf.h: 1.9-1.11 via patch
sys/dev/pci/ixgbe/ixgbe_x540.c: 1.10-1.12
sys/dev/pci/ixgbe/ixgbe_x540.h: 1.6-1.7
sys/dev/pci/ixgbe/ixgbe_x550.c: 1.6-1.7
sys/dev/pci/ixgbe/ixgbe_x550.h: 1.3
Sync with FreeBSD's up to r326022, fix bugs and some improvements:
- Don't limit number of queue pair to 8. Take chip's max TX queues and
max RX queues into account.
- Add C3000 (Denverton) support.
- Add bypass function support for bypass adapters.
- Change EEE sysctl.
- Remove thermal test sysctl.
- ixv(4): set RSS mapping.
- ixv(4): Add TSOv6.
- ixv(4): Fix hardware counter.
- ixv(4): Make TX/RX descriptors size the same as ixg(4).
- ixv(4): Print device name in ixv_attach().
- ixv(4): Make mailbox statistic counters evcnt(9).
- ixv(4): Fix a problem that mailbox interrupt never occurred.
- ixv(4): Don't check neither VTEICR nor VTEICS same as Linux. It
seems that both registers can't be used to check which MSI-X vector
is triggered.
- ixv(4): Print Mailbox API version.
- Print driver feature capabilities and enable bits when verbose boot.
- Fix a bug that X550EM_A (Denverton) can't force 10BaseT.
- Remove all half-duplex setting because of the chip specification.
- Add 2.5GBASE-T and 5GBASE-T support.
- Set ifm_baudrate correctly.
- Protect ec_multi* with mutex like other MP safe Ethernet drivers.
- On X550 and newer, print NVM Image Version with %u.%02x.
- On X540, print PHY FW Revision with %u.%x. 0x4030 will be printed
as "Revision 4.3 ID 0x0"
- Fix value check of OEM_NVM_IMAGE_VER.
- Print PHY ID only for copper PHY.
- Fix a bug that X550 and newer didn't linkup if it forces
100BaseTX-FDX or 10BaseT-FDX.
- Fix a bug that RX may accesses freed area. It also fixes a problem
that if_init() takes long time on many core machine.
- Check ETHERCAP_VLAN_HWTAGGING in ixgbe_setup_vlan_hw_support(). This
change has no influence to netbsd because it's enabled by default
and NetBSD has no API to disable it.
- Whitespace fix.
 1.11.2.2  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.11.2.1  15-Mar-2018  pgoyette Synch with HEAD
 1.13.8.4  08-Oct-2023  martin Pull up following revision(s) (requested by msaitoh in ticket #1745):

sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.30
sys/dev/pci/ixgbe/ixv.c: revision 1.184
sys/dev/pci/ixgbe/ixv.c: revision 1.185
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.32
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.33
sys/dev/pci/ixgbe/ixgbe.h: revision 1.87
sys/dev/pci/ixgbe/ixgbe.h: revision 1.88
sys/dev/pci/ixgbe/ixgbe.c: revision 1.330
sys/dev/pci/ixgbe/ixgbe.c: revision 1.331
sys/dev/pci/ixgbe/ixgbe.c: revision 1.332
sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.18
sys/dev/pci/ixgbe/ix_txrx.c: revision 1.101
sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.57
sys/dev/pci/ixgbe/ixgbe_mbx.h: revision 1.20
sys/dev/pci/ixgbe/ixgbe.c: revision 1.327
sys/dev/pci/ixgbe/ixgbe.c: revision 1.328
sys/dev/pci/ixgbe/ixgbe.c: revision 1.329

ixgbe: Reorder some event counters for readability.

ixg(4): Rename some descriptions of event counters.
- Rename some descriptions from register name to the meaning.
- For the same meaning's counters, add "(soft)" or "(reg)".
The former is for a software level counter and the latter is for a
statistics counter register based.

ixg(4): Count Queue Bytes {Transmit, Receive} counter.

ixg(4): Reorder some flow control related event counters for readability.

ixg(4): Rename some descriptions of flow control related event conters.
Remove obsolete comment.

ixgbe: Fix typo in comment. No functional change.

ixv(4): Improve error check.
ixgbe_vf.c rev. 1.31 changed the behavior of the ixgbe_check_mac_link_vf()
function. It was from FreeBSD's ixv-1.5.25 to resolve mailbox collision
problem. The change had a problem that error checks have not done at all if
the API version >= 1.5. Fix it. From FreeBSD ixv-1.5.27.

ixv(4): Add new IXGBE_VF_GET_LINK_STATE message support.
PF can control vf's link state by this change. Note that Linux's PF driver
can't control the link to force up (i.e. ip link set XXX vf Y state enable).
From FreeBSD ixv-1.5.30.

ixg(4): Update FCTRL after writing multicast filter. Same as other OSes.
From FreeBSD 395cc55d896654b8f75071e71e856b22aed87da5.
 1.13.8.3  30-Jan-2022  martin Pull up the following revisions, requested by msaitoh in ticket #1414:

sys/dev/pci/ixgbe/if_sriov.c 1.12-1.16
sys/dev/pci/ixgbe/ixgbe.c 1.295-1.297,1.300,1.304 via patch
sys/dev/pci/ixgbe/ixgbe.h 1.84
sys/dev/pci/ixgbe/ixgbe_82598.c 1.17-1.18
sys/dev/pci/ixgbe/ixgbe_82598.h 1.9
sys/dev/pci/ixgbe/ixgbe_82599.c 1.24-1.28
sys/dev/pci/ixgbe/ixgbe_82599.h 1.8
sys/dev/pci/ixgbe/ixgbe_api.c 1.26-1.27
sys/dev/pci/ixgbe/ixgbe_api.h 1.16
sys/dev/pci/ixgbe/ixgbe_bypass.h 1.3
sys/dev/pci/ixgbe/ixgbe_common.c 1.34-1.42
sys/dev/pci/ixgbe/ixgbe_common.h 1.15-1.16
sys/dev/pci/ixgbe/ixgbe_dcb.c 1.12-1.13
sys/dev/pci/ixgbe/ixgbe_dcb.h 1.8-1.9
sys/dev/pci/ixgbe/ixgbe_dcb_82598.c 1.10-1.12
sys/dev/pci/ixgbe/ixgbe_dcb_82598.h 1.8
sys/dev/pci/ixgbe/ixgbe_dcb_82599.c 1.10-1.11
sys/dev/pci/ixgbe/ixgbe_dcb_82599.h 1.8
sys/dev/pci/ixgbe/ixgbe_fdir.h 1.4
sys/dev/pci/ixgbe/ixgbe_features.h 1.4
sys/dev/pci/ixgbe/ixgbe_mbx.c 1.13-1.15
sys/dev/pci/ixgbe/ixgbe_mbx.h 1.15-1.18
sys/dev/pci/ixgbe/ixgbe_netmap.c 1.5
sys/dev/pci/ixgbe/ixgbe_osdep.c 1.8
sys/dev/pci/ixgbe/ixgbe_osdep.h 1.31
sys/dev/pci/ixgbe/ixgbe_phy.c 1.25-1.29
sys/dev/pci/ixgbe/ixgbe_phy.h 1.13
sys/dev/pci/ixgbe/ixgbe_rss.h 1.6
sys/dev/pci/ixgbe/ixgbe_sriov.h 1.5
sys/dev/pci/ixgbe/ixgbe_type.h 1.51-1.54
sys/dev/pci/ixgbe/ixgbe_vf.c 1.28-1.29
sys/dev/pci/ixgbe/ixgbe_vf.h 1.15
sys/dev/pci/ixgbe/ixgbe_x540.c 1.20-1.22
sys/dev/pci/ixgbe/ixgbe_x540.h 1.10
sys/dev/pci/ixgbe/ixgbe_x550.c 1.21-1.25
sys/dev/pci/ixgbe/ixgbe_x550.h 1.7
sys/dev/pci/ixgbe/ixv.c 1.170, 1.174-1.175 via patch

- Add typecast for type mismatch.
- Fix retry count calculation of I2C read/write.
- Wait longer for link after fiber MAC setup.
- ixv(4): Use adapter->mta for the multicast array memory instead of
the on-stack array.
- Match X550_PHY_ID correctly on X550.
- Print NVM image version on 82598.
- Use 64bit for lxon + lxoff.
- Don't expose garbage data of hw.ixvN.debug.
- Some NetBSD unrelated changes:
- Fix infinite recursion on PCIe link down if VMDQ is used.
- Move PF mailbox initialization from ixgbe_attach() to
ixgbe_init_iov().
- Add IPv6 mask for flow director.
- Change error level in ixgbe_fc_autoneg().
- Check host interface return status when writing NVM.
- Change DCB credit parameters.
- Restore some mailbox related functions. Revert part of ixgbe_mbx.c
rev. 1.7 and ixgbe_mbx.h rev. 1.11. No functional change.
- Rename IXGBE_VT_MSGTYPE_{ACK,NACK} to
IXGBE_VT_MSGTYPE_{SUCCESS,FAILURE}. No functional change.
- Remove unused argument. Change argument.
- Remove unnecessary return value check.
- Remove debug error message.
- Remove dead code.
- Add some unused macros.
- Fix typo in comment.
- Rename some functions.
- Sort lines, modify comment.
- Whitespace fix.
 1.13.8.2  29-Jan-2022  martin Pull up the following revisions (all via patch), requested by msaitoh
in ticket #1408:

sys/dev/pci/ixgbe/ixgbe_vf.h 1.16-1.17
sys/dev/pci/ixgbe/ixv.c 1.176-1.177

Make ifconfig -z ixvN clear event counter.
 1.13.8.1  26-Sep-2019  martin Pull up the following revisions, requested by msaitoh in ticket #246:

sys/dev/pci/ixgbe/ixgbe_type.h 1.42-1.43
sys/dev/pci/ixgbe/ixgbe.c 1.209-1.213
sys/dev/pci/ixgbe/ixgbe_x550.c 1.16
sys/dev/pci/ixgbe/ixv.c 1.131-1.138
sys/dev/pci/ixgbe/ixgbe_vf.c 1.19-1.22
sys/dev/pci/ixgbe/ixgbe_vf.h 1.14
sys/dev/pci/ixgbe/ixgbe.h 1.57-1.58
share/man/man4/ixv.4 1.5

- Fix a bug that MBSDC (Bad SFD Count) isn't counted on X550EM_X and
X550EM_A. The register is for X550 and newer.
- ixv(4): Make SIOCADDMULTI returns ENOSPC and print error message
when the Ethernet multicast address list exceeds the limit(30) and
can't be ALLMULTI.
- ixv(4): SIOCZIFDATA clear the event counters as ixgbe.c.
- Reduce ixv(4)'s multicast table array size in ixv_set_multi from
MAX_NUM_MULTICAST_ADDRESSES(128) to IXGBE_MAX_VF_MC(30).
- ixv(4): Add support ALLMULTI and PROMISC.
- if_flags is neither int nor short. It's unsigned short.
- ixg(4): Fix a bug that the multicast filter isn't correctly
initialized when the total number of the Ethernet multicast
addresses is just 128.
- Make ixv_set_multi() work correctly (especially for PROMISC) when the
function is called from if_init().
- Remove *_set_promisc() and use *_set_multi(). And then, rename
*_set_multi() to *_set_rxfilter().
- ixv(4): If a multicast entry has range, use ALLMULTI like others.
- Fix typo in comment. Found by Wataru Ashihara.
 1.13.2.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.17.4.1  08-Oct-2023  martin Pull up following revision(s) (requested by msaitoh in ticket #395):

sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.30
sys/dev/pci/ixgbe/ixv.c: revision 1.184
sys/dev/pci/ixgbe/ixv.c: revision 1.185
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.32
sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.33
sys/dev/pci/ixgbe/ixgbe.h: revision 1.87
sys/dev/pci/ixgbe/ixgbe.h: revision 1.88
sys/dev/pci/ixgbe/ixgbe.c: revision 1.330
sys/dev/pci/ixgbe/ixgbe.c: revision 1.331
sys/dev/pci/ixgbe/ixgbe.c: revision 1.332
sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.18
sys/dev/pci/ixgbe/ix_txrx.c: revision 1.101
sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.57
sys/dev/pci/ixgbe/ixgbe_mbx.h: revision 1.20
sys/dev/pci/ixgbe/ixgbe.c: revision 1.327
sys/dev/pci/ixgbe/ixgbe.c: revision 1.328
sys/dev/pci/ixgbe/ixgbe.c: revision 1.329

ixgbe: Reorder some event counters for readability.

ixg(4): Rename some descriptions of event counters.
- Rename some descriptions from register name to the meaning.
- For the same meaning's counters, add "(soft)" or "(reg)".
The former is for a software level counter and the latter is for a
statistics counter register based.

ixg(4): Count Queue Bytes {Transmit, Receive} counter.

ixg(4): Reorder some flow control related event counters for readability.

ixg(4): Rename some descriptions of flow control related event conters.
Remove obsolete comment.

ixgbe: Fix typo in comment. No functional change.

ixv(4): Improve error check.
ixgbe_vf.c rev. 1.31 changed the behavior of the ixgbe_check_mac_link_vf()
function. It was from FreeBSD's ixv-1.5.25 to resolve mailbox collision
problem. The change had a problem that error checks have not done at all if
the API version >= 1.5. Fix it. From FreeBSD ixv-1.5.27.

ixv(4): Add new IXGBE_VF_GET_LINK_STATE message support.
PF can control vf's link state by this change. Note that Linux's PF driver
can't control the link to force up (i.e. ip link set XXX vf Y state enable).
From FreeBSD ixv-1.5.30.

ixg(4): Update FCTRL after writing multicast filter. Same as other OSes.
From FreeBSD 395cc55d896654b8f75071e71e856b22aed87da5.

RSS XML Feed