#
253a1fa1 |
| 31-Oct-2024 |
Ariel Ehrenberg <aehrenberg@nvidia.com> |
mlx5: Fix handling of port_module_event
Remove the array of port module status and instead save module status and module number.
At boot, for each PCI function driver get event from fw about module
mlx5: Fix handling of port_module_event
Remove the array of port module status and instead save module status and module number.
At boot, for each PCI function driver get event from fw about module status. The event contains module number and module status. Driver stores module number and module status.. When user (ifconfig) ask for modules information, for each pci function driver first queries fw to get module number of current pci function, then driver compares the module number to the module number it stored before and if it matches and module status is "plugged and enabled" then driver queries fw for the eprom information of that module number and return it to the caller.
In fact fw could have concluded that required module number of the current pci function, but fw is not implemented this way. current design of PRM/FW is that MCIA register handling is only aware of modules, not the pci function->module connections. FW is designed to take the module number written to MCIA and write/read the content to/from the associated module's EPROM.
So, based on current FW design, we must supply the module num so fw can find the corresponding I2C interface of the module to write/read.
Sponsored by: NVidia networking MFC after: 1 week
show more ...
|
Revision tags: release/13.4.0 |
|
#
e23731db |
| 22-Jul-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan working.
Sponsored by: NVIDIA networking
show more ...
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
834533b9 |
| 09-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
mlx5: Remove unused variables.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D34827
|
#
12c56d7d |
| 01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: idiomatic use of preprocessor, in particular paths
MFC after: 1 week Sponsored by: NVIDIA Networking
|
Revision tags: release/12.3.0 |
|
#
ee9d634b |
| 14-Jun-2021 |
Konstantin Belousov <konstantinb@nvidia.com> |
mlx5: normalize use of the opt_*.h files
MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
b633e08c |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
ibcore: Kernel space update based on Linux 5.7-rc1.
Overview:
This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1.
This patch is based on about f
ibcore: Kernel space update based on Linux 5.7-rc1.
Overview:
This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1.
This patch is based on about four main areas of work: - Update of the IB uobjects system: - The memory holding so-called AH, CQ, PD, SRQ and UCONTEXT objects is now managed by ibcore. This also require some changes in the kernel verbs API. The updated verbs changes are typically about initialize and deinitialize objects, and remove allocation and free of memory.
- Update of the uverbs IOCTL framework: - The parsing and handling of user-space commands has been completely refactored to integrate with the updated IB uobjects system.
- Various changes and updates to the generic uverbs interfaces in device drivers including the new uAPI surface.
- The mlx5_ib_devx.c in mlx5ib and related mlx5 core changes.
Dependencies:
- The mlx4ib driver code has been updated with the minimum changes needed.
- The mlx5ib driver code has been updated with the minimum changes needed including DV support.
Compatibility:
- All user-space facing APIs are backwards compatible after this change.
- All kernel-space facing RDMA APIs are backwards compatible after this change, with exception of ib_create_ah() and ib_destroy_ah() which takes a new flag.
- The "ib_device_ops" structure exist, but only contains the driver ID and some structure sizes.
Differences from Linux:
- Infiniband drivers must use the INIT_IB_DEVICE_OPS() macro to set the sizes needed for allocating various IB objects, when adding IB device instances.
Security:
- PRIV_NET_RAW is needed to use raw ethernet transmit features. - PRIV_DRIVER is needed to use other privileged operations.
Based on upstream Linux, Torvalds (5.7-rc1): 8632e9b5645bbc2331d21d892b0d6961c1a08429
MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31149 Sponsored by: NVIDIA Networking
show more ...
|
Revision tags: release/13.0.0 |
|
#
f8f5b459 |
| 08-Jan-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update user access region, UAR, APIs in the core in mlx5core.
This change include several changes as listed below all related to UAR. UAR is a special PCI memory area where the so-called doorbell re
Update user access region, UAR, APIs in the core in mlx5core.
This change include several changes as listed below all related to UAR. UAR is a special PCI memory area where the so-called doorbell register and blue flame register live. Blue flame is a feature for sending small packets more efficiently via a PCI memory page, instead of using PCI DMA.
- All structures and functions named xxx_uuars were renamed into xxx_bfreg. - Remove partially implemented Blueflame support from mlx5en(4) and mlx5ib. - Implement blue flame register allocator. - Use blue flame register allocator in mlx5ib. - A common UAR page is now allocated by the core to support doorbell register writes for all of mlx5en and mlx5ib, instead of allocating one UAR per sendqueue. - Add support for DEVX query UAR. - Add support for 4K UAR for libmlx5.
Linux commits: 7c043e908a74ae0a935037cdd984d0cb89b2b970 2f5ff26478adaff5ed9b7ad4079d6a710b5f27e7 0b80c14f009758cefeed0edff4f9141957964211 30aa60b3bd12bd79b5324b7b595bd3446ab24b52 5fe9dec0d045437e48f112b8fa705197bd7bc3c0 0118717583cda6f4f36092853ad0345e8150b286 a6d51b68611e98f05042ada662aed5dbe3279c1e
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
#
f34f0a65 |
| 16-Nov-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Report EQE data upon CQ completion in mlx5core.
Report EQE data upon CQ completion to let upper layers use this data.
Linux commit: 4e0e2ea1886afe8c001971ff767f6670312a9b04
MFC after: 1 week Spons
Report EQE data upon CQ completion in mlx5core.
Report EQE data upon CQ completion to let upper layers use this data.
Linux commit: 4e0e2ea1886afe8c001971ff767f6670312a9b04
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
Revision tags: release/12.2.0 |
|
#
92d8df2f |
| 02-Jul-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5_core: remove unneccessary LFENCE instruction.
Use fence instead of barrier, which is optimized to take advantage of the x86 TSO memory model.
Reviewed by: hselasky Sponsored by: Mellanox Techn
mlx5_core: remove unneccessary LFENCE instruction.
Use fence instead of barrier, which is optimized to take advantage of the x86 TSO memory model.
Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 1 week
show more ...
|
Revision tags: release/11.4.0 |
|
#
d0a40683 |
| 20-May-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5_core: add more port module event types to decode.
Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 3 days
|
#
6418350c |
| 20-May-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5_core: add "PMD type not enabled" port module event type.
Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 3 days
|
#
bbcb656a |
| 18-Mar-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5: Route NIC_VPORT_CHANGE events to eswitch code.
Reviewed by: hselasky Sponsored by: Mellanox Technologies MFC after: 2 weeks
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
f14d8498 |
| 12-Feb-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for disabling and polling MSIX interrupts in mlx5core.
MFC after: 1 week Sponsored by: Mellanox Technologies
|
Revision tags: release/12.1.0 |
|
#
8b3bc70a |
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
fedc7bd2 |
| 02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Print numeric error_type and module_status in mlx5core in case the strings are not available.
Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
a2f4f59c |
| 02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Unify prints in mlx5core.
All prints in mlx5core should use on of the macros: mlx5_core_err/dbg/warn
Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
95c05e05 |
| 02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing blank line at the end of the print in mlx5core.
Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
111b57c3 |
| 02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add port module event software counters in mlx5core. While at it, fixup PME based on latest PRM defines.
Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
6226306b |
| 02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Cleanup naming of IRQ vectors in mlx5en. Remove unused IRQ naming functions and arrays.
MFC after: 3 days Sponsored by: Mellanox Technologies
|
Revision tags: release/11.3.0 |
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
adb6fd50 |
| 08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement reading PCI power status in mlx5core.
Implement a watchdog as part of the healtcare subsystem which reads the PCI power status during startup and upon the PCI power status change event and
Implement reading PCI power status in mlx5core.
Implement a watchdog as part of the healtcare subsystem which reads the PCI power status during startup and upon the PCI power status change event and store it into the core device structure. This value is then exported to user-space via a read-only SYSCTL. A dmesg print has been added to inform the admin about the PCI power status.
MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
#
192fc18d |
| 08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Disable all MSIX interrupts before shutdown in mlx5.
Make sure the interrupt handlers don't race with the fast unload one code in the shutdown handler.
MFC after: 3 days Sponsored by: Mellanox Tech
Disable all MSIX interrupts before shutdown in mlx5.
Make sure the interrupt handlers don't race with the fast unload one code in the shutdown handler.
MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
#
983026ea |
| 08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add temperature warning event to log in mlx5core.
Temperature warning event is sent by FW to indicate high temperature as detected by one of the sensors on the board. Add handling of this event by w
Add temperature warning event to log in mlx5core.
Temperature warning event is sent by FW to indicate high temperature as detected by one of the sensors on the board. Add handling of this event by writing the numbers of the alert sensors to the kernel log.
Linux commit: 1865ea9adbfaf341c5cd5d8f7d384f19948b2fe9
Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|