OPNSense/src 51187easys/dev/ixgbe ixgbe_type.h

ixgbe: add reset count field to HW struct

DPDK commit message

net/ixgbe/base: add reset count field to HW struct
Add fw_rst_cnt to store the number of resets after fw update.
This value is required to detect if the EICR.MNG event occurred
after firmware update reset.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (9ab0e9c)

(cherry picked from commit 224f7ab8b4706653c7d3f78e624bc36c97679f30)
DeltaFile
+1-0sys/dev/ixgbe/ixgbe_type.h
+1-01 files

OPNSense/src 1f95000sys/dev/ixgbe ixgbe_type.h

ixgbe: increase VF reset timeout

DPDK commit meesage

When VF issues a reset to PF there is a 50 msec wait plus an additional
max of 1 msec (200 * 5us) for the PF to indicate the reset is complete
before timeout.

In some cases, it is seen that the reset is timing out, in which case
the reset does not complete and an error is returned.

In order to account for this, continue to wait an initial 50 msecs, but
then allow a max of an additional 50 msecs (10,000 * 5us) for the
command to complete.

Fixes: af75078 ("first public release")
Cc: stable at dpdk.org

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>

    [5 lines not shown]
DeltaFile
+1-1sys/dev/ixgbe/ixgbe_type.h
+1-11 files

OPNSense/src f33b545sys/dev/ixgbe ixgbe_type.h

ixgbe: add missing QV defines

DPDK commit message

net/ixgbe/base: add missing QV defines
This patch adds missing QV defines:
- offset of ANVM data
- Immediate Field module pointer offset
- 2.5GBASE-T and 5GBASE-T physical layer types for X550

Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Signed-off-by: Jan Sokolowski <jan.sokolowski at intel.com>

Obtained from:  DPDK (a730b83)

(cherry picked from commit bfa48c32bc4099cb58b9fe7efab7f376475539ef)
DeltaFile
+5-0sys/dev/ixgbe/ixgbe_type.h
+5-01 files

OPNSense/src 7673710sys/dev/ixgbe ixgbe_phy.c ixgbe_type.h

ixgbe: fix PHY ID for X550

DPDK commit message

net/ixgbe/base: fix PHY ID for X550
Function ixgbe_get_phy_type_from_id() for X550_PHY_ID2 and
X550_PHY_ID3 always return ixgbe_phy_unknown instead of ixgbe_phy_aq
because phy ID's last 4 bits are always masked, and should not be
taken into account when selecting phy type.

This patch adds default PHY ID for X550 devices with mask on last 4
bits (0xFFFFFFF0), and fixes the switch statement to use it.

Fixes: 58ddc80 ("ixgbe/base: add new X550 PHY ids")
Cc: stable at dpdk.org

Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

    [4 lines not shown]
DeltaFile
+1-2sys/dev/ixgbe/ixgbe_phy.c
+1-0sys/dev/ixgbe/ixgbe_type.h
+2-22 files

OPNSense/src 6cd77c9sys/dev/ixgbe ixgbe_phy.c

ixgbe: fix misleading indentation in ixgbe_phy

(cherry picked from commit e3a6e916dbbade2d4047e127c371ee0d0a25a294)
DeltaFile
+1-1sys/dev/ixgbe/ixgbe_phy.c
+1-11 files

OPNSense/src 4e9b87dsys/dev/ixgbe ixgbe_phy.c

ixgbe: update ixgbe_phy with ix-3.3.38 changes

(cherry picked from commit e06918b94ac44448272a9d6747dcdba142e18b58)
DeltaFile
+5-4sys/dev/ixgbe/ixgbe_phy.c
+5-41 files

OPNSense/src 1a6466asys/dev/ixgbe ixgbe_x550.c

ixgbe: improve Atom C3000 SWFW semaphore acq

DPDK commit message

net/ixgbe/base: improve SWFW semaphore acquisition
HWSW semaphore acquisition in Atom C3000 NIC is a two stage process.
Each time two semaphore acquisitions are required. Each second semaphore
failure requires re-acquisition of first semaphore. This patch decouples
the two acquisitions preventing potentially hundreds of thousands
of unnecessary loop iterations.

Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>

Obtained from:  DPDK (99f960c)

(cherry picked from commit cc9944183187308a71489651b11342d293aac7d1)
DeltaFile
+22-19sys/dev/ixgbe/ixgbe_x550.c
+22-191 files

OPNSense/src 33d5bb2sys/dev/ixgbe ixgbe_mbx.h

ixgbe: remove circular dependency in ixgbe_mbx.h

DPDK commit message

net/ixgbe/base: remove circular header dependency
Including one header file in second header file should be avoided, so
fix it by forward declaring the struct instead.

Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>

Obtained from:  DPDK (0bc2af5)

(cherry picked from commit 3167854b9d2188c4039239f741870e044b7507ac)
DeltaFile
+1-1sys/dev/ixgbe/ixgbe_mbx.h
+1-11 files

OPNSense/src 654abbbsys/dev/ixgbe ixgbe_dcb.h

ixgbe: increase DCB BW calculation for MTU

Change max credit and credit refill to a maximum possible value, 9128.
Too small values cause the incorrect calculation of the bandwidth limits
to each traffic class for frames larger than 4088 bytes.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski at intel.com>

Obtained from:  DPDK (440823f)

(cherry picked from commit 1b80ac6fa64eaa575b99521cbd71a3780bf5139b)
DeltaFile
+2-2sys/dev/ixgbe/ixgbe_dcb.h
+2-21 files

OPNSense/src 81fe0f3sys/dev/ixgbe if_ix.c

ixgbe: fix fw_recovery_mode callout

Need to pass the softc in with the callout arg

(cherry picked from commit a924b5ee6a1b4456b5bde979bb9e15d18726de4f)
DeltaFile
+1-1sys/dev/ixgbe/if_ix.c
+1-11 files

OPNSense/src c087e7bsys/net iflib.c

iflib: Correct indentation according to style(9)

The indentation style for the SYSCTL_* macros used was not matching KNF.

Reported by:    jhb
Differential Revision:  https://reviews.freebsd.org/D44811

(cherry picked from commit e4a0c92e7aea50654290e3082668932cea16b64f)
DeltaFile
+135-142sys/net/iflib.c
+135-1421 files

OPNSense/src eeb0c0bsys/dev/ixgbe ixgbe_api.h ixgbe_x550.h

ixgbe: remove unused function prototypes

DPDK commit message

net/ixgbe/base: remove unused function prototypes
There are some function prototypes that were introduced at some point
but were never implemented, so remove them.

Signed-off-by: Chinh Cao <chinh.t.cao at intel.com>

Obtained from:  DPDK (e9cc1b4)

(cherry picked from commit 420c984470270e0f7200124d8015236584aef243)
DeltaFile
+0-1sys/dev/ixgbe/ixgbe_api.h
+0-1sys/dev/ixgbe/ixgbe_x550.h
+0-22 files

OPNSense/src 3e83bfbsys/dev/ixgbe ixgbe_x550.c ixgbe_x550.h

ixgbe: Remove Atom C3000 HIC FW access

DPDK commit message

net/ixgbe/base: replace HIC with direct register access
Unify FW access method to direct register read/writes across all
Atom(R) C3000 products.

Atom(R) C3000 fiber exhibited an issue with the Host Interface Command
execution being locked when another LAN function attempted to acquire
the SWFW sync on Manageability Host. This resulted in HIC atomicity
break and bogus data being read since the other LAN function cleared
all semaphores on timeout whereas HIC execution continued after
unlock.  Direct register IOSF access showed higher stability and
reliability.

Signed-off-by: Marek Mical <marekx.mical at intel.com>
Reviewed-by: Krzysztof Galazka <krzysztof.galazka at intel.com>
Reviewed-by: Eryk Rybak <eryk.roch.rybak at intel.com>

    [6 lines not shown]
DeltaFile
+2-74sys/dev/ixgbe/ixgbe_x550.c
+0-4sys/dev/ixgbe/ixgbe_x550.h
+2-782 files

OPNSense/src 1c2f9ecsys/dev/ixgbe ixgbe_common.c ixgbe_type.h

ixgbe: use primary and block terminology

DPDK commit message

net/ixgbe/base: replace non-inclusive language
This patch removes non-inclusive language from code, user interface
and comments.

Signed-off-by: Marcin Jurczak <marcin.jurczak at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (f12a4bd)

(cherry picked from commit 4530d49e68d331e9168d3a216d8a4b8e0d547578)
DeltaFile
+17-17sys/dev/ixgbe/ixgbe_common.c
+5-5sys/dev/ixgbe/ixgbe_type.h
+1-1sys/dev/ixgbe/ixgbe_common.h
+23-233 files

OPNSense/src 43c6e9csys/net iflib.c

iflib: Prefer C99's __func__ over GCC's __FUNCTION__

MFC after:      3 days

(cherry picked from commit b90ba458dcaecc4041e008b99fde003bc9867a0d)
DeltaFile
+2-2sys/net/iflib.c
+2-21 files

OPNSense/src 3e0e7b6sys/net iflib.c

iflib: Many style fixes

MFC after:      3 days

(cherry picked from commit fa7045f99cdb2b699205653f42f3fe78597880a7)
DeltaFile
+148-148sys/net/iflib.c
+148-1481 files

OPNSense/src 64d62bbsys/dev/ixgbe ixgbe_x550.c ixgbe_common.c

ixgbe: replace implicit fall-through comments

DPDK commit message

Convert all "fall-through" comments to actual code. This aligns the code
with the kernel which no longer allows implicit fallthrough.

Signed-off-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (ae8211f)

(cherry picked from commit 50455f73c28114c665551cba267ec964491ccf21)
DeltaFile
+7-4sys/dev/ixgbe/ixgbe_x550.c
+6-4sys/dev/ixgbe/ixgbe_common.c
+6-2sys/dev/ixgbe/ixgbe_82599.c
+19-103 files

OPNSense/src 6885c77sys/dev/ixgbe ixgbe_x550.c ixgbe_common.c

ixgbe: improve function comments

Some function comments have mismatches between actual function names and
function name in comments, which causes warnings with kernel-doc. Fix
comments to match function names.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (7b5bc85)

(cherry picked from commit edef2769483b29457f028a508ea96fc1099a0a21)
DeltaFile
+6-6sys/dev/ixgbe/ixgbe_x550.c
+6-5sys/dev/ixgbe/ixgbe_common.c
+1-1sys/dev/ixgbe/ixgbe_82599.c
+1-1sys/dev/ixgbe/ixgbe_api.c
+1-1sys/dev/ixgbe/ixgbe_dcb.c
+1-1sys/dev/ixgbe/ixgbe_phy.c
+16-156 files

OPNSense/src 00e3c3esys/dev/ixgbe if_sriov.c

ixgbe: update if_sriov with ix-3.3.38 changes

There are some critical fixes here. The PF must communicate with each VF
slot (vf->pool), only VFs shall use 0 for everything.

IXGBE_FEATURE_SRIOV needs to be set before calling ixgbe_if_init().

With these changes, ixv(4) now attaches to VFs, but after bringing up
VFs, the PF and VF still are not correctly passing traffic.

(cherry picked from commit b6cd053e6da9bb8f77d2c6069260e52bbd53fa4a)
DeltaFile
+28-12sys/dev/ixgbe/if_sriov.c
+28-121 files

OPNSense/src 47574d6sys/dev/ixgbe ixgbe_common.c

ixgbe: prevent PBA read over eeprom word size

DPDK commit message

net/ixgbe/base: prevent untrusted loop bound
Added length check against EEPROM size in words to prevent untrusted
loop bound reported by static code analysis.

Signed-off-by: Dawid Zielinski <dawid.zielinski at intel.com>

Obtained from:  DPDK (6b58617)

(cherry picked from commit 25771c8c1ae606436823854de01fc2b23178e353)
DeltaFile
+1-1sys/dev/ixgbe/ixgbe_common.c
+1-11 files

OPNSense/src 1f5c314sys/dev/ixgbe if_sriov.c

ixgbe: Switch if_sriov read/write back to ixgbe_mbx APIs

These are more succinct than jumping through the function pointers
directly and add some additional error handling.

(cherry picked from commit 1e3b1870ad2a426de6e3f5445211b698f20f7f1f)
DeltaFile
+2-3sys/dev/ixgbe/if_sriov.c
+2-31 files

OPNSense/src ff29eb0sys/net iflib.c

iflib: Fix compiler warnings

Some of the QUAD sysctls are actually for unsigned quad values.
Switch to using UQUAD instead, as that is meant for unsigned.

Reviewed by:    erj, jhb
Obtained from:  Juniper Networks, Inc.
Differential Revision:  https://reviews.freebsd.org/D44620

(cherry picked from commit 303dea74c2cb3a41fba455fce8577993e637c3da)
DeltaFile
+15-15sys/net/iflib.c
+15-151 files

OPNSense/src aef03easys/dev/ixgbe ixgbe_mbx.c ixgbe_mbx.h

ixgbe: introduce new mailbox API

DPDK commit message

Current mailbox API does not work as described in documentation and
is prone to errors (for example, it is doing locks on read). Introduce
new mailbox API and provide compatibility functions with old API.

New error codes have been introduced:
- IXGBE_ERR_CONFIG - ixgbe_mbx_operations is not correctly set
- IXGBE_ERR_TIMEOUT - mailbox operation, e.g. poll for message, timedout
- IXGBE_ERR_MBX_NOMSG - no message available on read

In addition, some refactoring has been done: mailbox structures were
defined twice: in ixgbe_type.h and ixgbe_vf.h. Move them into
ixgbe_mbx.h as this header is dedicated for mailbox.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

    [11 lines not shown]
DeltaFile
+614-229sys/dev/ixgbe/ixgbe_mbx.c
+48-11sys/dev/ixgbe/ixgbe_mbx.h
+24-18sys/dev/ixgbe/ixgbe_vf.c
+3-29sys/dev/ixgbe/ixgbe_type.h
+6-2sys/dev/ixgbe/if_ix.c
+3-1sys/dev/ixgbe/ixgbe_82599.c
+698-2901 files not shown
+701-2917 files

OPNSense/src be5e1c8sys/dev/ixgbe ixgbe_mbx.c ixgbe_type.h

ixgbe: correct register names to match datasheet

DPDK commit message

net/ixgbe/base: correct registers names to match datasheet
Some of mailbox-related registers have different names than it is
specified in datasheet. Correct these names to correspond to their
datasheet counterparts. Additionally, several calculations are changed
to no longer use magic numbers but dedicated macros instead.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski at intel.com>
Reviewed-by: Marek Zalfresso-jundzillo <marekx.zalfresso-jundzillo at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Tested-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (10fd55e)

    [2 lines not shown]
DeltaFile
+15-15sys/dev/ixgbe/ixgbe_mbx.c
+6-5sys/dev/ixgbe/ixgbe_type.h
+4-4sys/dev/ixgbe/ixgbe_mbx.h
+25-243 files

OPNSense/src 73405b8sys/dev/ixgbe ixgbe_vf.c

ixv: fix x550 VF link speed reported

DPDK commit message

net/ixgbe/base: fix 5G link speed reported on VF
When 5000 Base-T was set on PF the VF reported 100 Base-T. This patch
changes ixgbe_check_mac_link_vf function where there was an incorrect
conditional which checks using PF mac types, now it is correctly
using VF mac types.

Fixes: 12e2090 ("net/ixgbe/base: include new speeds in VFLINK interpretation")
Cc: stable at dpdk.org

Signed-off-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (9eb7fdb)

    [2 lines not shown]
DeltaFile
+3-3sys/dev/ixgbe/ixgbe_vf.c
+3-31 files

OPNSense/src 5e3a969sys/dev/ixgbe if_sriov.c

ixgbe: update if_sriov to use the new mailbox apis

This fixes a page fault when creating VFs and updates to the new mailbox
API and naming conventions.

The functionality works to the same level that it did before my recent
changes. In particular on my 82599 it creates both passthru and ixv
interfaces. In either case, the PF seems to lose the ability to pass
traffic. The ixv driver fails to attach. These issues are present with
or without my updates.

If you use SR-IOV on ixgbe I would be interested in hearing what does
or does not work for you.

(cherry picked from commit 36c516b31136f645472c12d8597534656272acd6)
DeltaFile
+23-23sys/dev/ixgbe/if_sriov.c
+23-231 files

OPNSense/src 7ab90afsys/dev/ixgbe if_sriov.c

ixgbe: fix compilation for VF

The mailbox API changed in version 15 and these array ops were left out
of the recent code import as applicable to FreeBSD.

Reported by:    vishwin, yasu
Differential Revision:  https://reviews.freebsd.org/D46708

(cherry picked from commit 267f223f622fdbf779cc43b5a564bb02e2b59ecd)
DeltaFile
+7-7sys/dev/ixgbe/if_sriov.c
+7-71 files

OPNSense/src 792d5e0sys/dev/ixgbe ixgbe_vf.c ixgbe_mbx.h

ixgbe: rename VF message type macros

DPDK commit message

There is name similarity within IXGBE_VT_MSGTYPE_ACK and
PFMAILBOX.ACK / VFMAILBOX.ACK which may cause confusion. Rename MSGTYPE
macros to SUCCESS and FAILURE as they are not specified in datasheet and
now will be easily distinguishable.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski at intel.com>
Reviewed-by: Marek Zalfresso-jundzillo <marekx.zalfresso-jundzillo at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Tested-by: Alice Michael <alice.michael at intel.com>

Obtained from:  DPDK (4f675c9)

(cherry picked from commit 10746040820ee5186caf4d4d61cf88196ec213ba)
DeltaFile
+18-16sys/dev/ixgbe/ixgbe_vf.c
+7-7sys/dev/ixgbe/ixgbe_mbx.h
+5-5sys/dev/ixgbe/if_sriov.c
+30-283 files

OPNSense/src 8ae4b93sys/dev/ixgbe ixgbe_mbx.c ixgbe_mbx.h

ixgbe: update ixgbe_mbx with ix-3.3.38 changes

(cherry picked from commit 0acea458f82d95b75193bf6ce6321906032abf40)
DeltaFile
+44-0sys/dev/ixgbe/ixgbe_mbx.c
+1-0sys/dev/ixgbe/ixgbe_mbx.h
+45-02 files

OPNSense/src 1b4494esys/dev/ixgbe if_ix.c ixgbe_common.c

ixgbe: update if_ix and ixgbe api with ix-3.3.38 changes

(cherry picked from commit f72de14ea13259db78b06c50da6c864dea698668)
DeltaFile
+143-29sys/dev/ixgbe/if_ix.c
+157-4sys/dev/ixgbe/ixgbe_common.c
+52-0sys/dev/ixgbe/ixgbe_type.h
+16-3sys/dev/ixgbe/ixgbe_api.c
+4-0sys/dev/ixgbe/ixgbe.h
+3-0sys/dev/ixgbe/ixgbe_common.h
+375-363 files not shown
+378-369 files