aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/irdma
Commit message (Collapse)AuthorAgeFilesLines
* irdma(4): update irdma to version 1.3.56-kBartosz Sobczak2026-03-1329-1005/+1923
| | | | | | | | | | | | | | | | Update Intel irdma driver to version 1.3.56-k Notable changes: - adding E830 support - adding E835 support Signed-off-by: Sobczak, Bartosz <bartosz.sobczak@intel.com> Reviewed by: Andrew Zhu <anzhu@netapp.com> Tested by: Mateusz Moga <mateusz.moga@intel.com> MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D55479
* irdma(4): fix potential memory leak on qhash cqp operationBartosz Sobczak2025-11-244-63/+114
| | | | | | | | | | | | | | | | It was found that in some circumstances when launching non-waiting create qhash cqp operation the refcount on the cqp_request may be not properly decremented leading to a memory leak. Signed-off-by: Bartosz Sobczak <bartosz.sobczak@intel.com> Reviewed by: anzhu_netapp.com Tested by: mateusz.moga_intel.com Approved by: kbowling (mentor) MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D53732
* LinuxKPI: rename from_timer() to timer_container_of()Bjoern A. Zeeb2025-09-052-3/+3
| | | | | | | | | | | | With Linux 6.16 from_timer() got renamed to timer_container_of(); add the LINUXKPI_VERSION check with a default to the current version. Update all in-tree consumers (apart from wireless drivers managed otherwise). Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52073
* tcp: extend the use of the th_flags accessor functionRichard Scheffenegger2024-11-291-16/+16
| | | | | | | | | | | Formally, there are 12 bits for TCP header flags. Use the accessor functions in more (kernel) places. No functional change. Reviewed By: cc, #transport, cy, glebius, #iflib, kbowling Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D47063
* irdma: Use round{up,down}_pow_of_twoDoug Moore2024-06-241-2/+2
| | | | | | | Use roundup_pow_of_two and rounddown_pow_of_two in place of expressions. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D45536
* powerof2: replace loops with fls or ilog2Doug Moore2024-06-121-11/+5
| | | | | | | | | In several places, a loop tests for powers of two, or iterates through powers of two. In those places, replace the loop with an invocation of fls or ilog2 without changing the meaning of the code. Reviewed by: alc, markj, kib, np, erj, avg (previous version) Differential Revision: https://reviews.freebsd.org/D45494
* sys/dev/irdma/irdma_cm: fix compile without INETLexi Winter2024-04-121-1/+4
| | | | | | | | | | irdma_get_vlan_ipv4() calls ip_ifp_find() even if INET isn't defined, in which case this function isn't available. Stub this out for the non-INET case to return an error (0xffff) instead. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1156
* irdma(4): Upgrade to 1.2.36-kBartosz Sobczak2024-02-1625-1318/+328
| | | | | | | | | | | | | | | | | | Update Intel irdma driver to version 1.2.36-k. Notable changes: - Start using ib_sge directly instead of irdma_sge - Turn off flush completion generator for libirdma - Minor formatting changes Signed-off-by: Bartosz Sobczak <bartosz.sobczak@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D43567
* LinuxKPI: Remove sys/rman.h include from LKPI headers.Vladimir Kondratyev2023-12-241-0/+1
| | | | | | | | | | | | | sys/rman.h defines `resource` structure which conflicts with the Linux structure of the same name. To fix that remove reference to sys/rman.h from linux/pci.h and move resource management code to linux_pci.c. Update consumers which were depending on linux/pci.h pollution. No functional changes intended. Sponsored by: Serenity Cyber Security, LLC MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42792
* irdma(4): use related vnet for searching netdevBartosz Sobczak2023-09-135-19/+45
| | | | | | | | | | | | | | | | | It was found through testing that when ULP uses individual vnet, the search for the correct vlan_id may failing because of no proper interface with given address. The solution is to use vnet associated to the connection whenever possible. Signed-off-by: Bartosz Sobczak <bartosz.sobczak@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ MFC after: 1 day Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D41592
* irdma(4): upgrade to 1.2.17-kBartosz Sobczak2023-08-1828-959/+1423
| | | | | | | | | | | | | | | | | | | | Update Intel irdma driver to version 1.2.17-k Notable changes: - pf-reset handling improvements, including fixes in communication with if_ice(4) - avoid racing when handling various events - adding sw stats sysctls - hand over pe_criterr handling from ice(4) to irdma(4) - debug prints adjustments - fix crash after changes in irdma_add_mqh_ifa_cb Signed-off-by: Bartosz Sobczak <bartosz.sobczak@intel.com> Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ MFC after: 1 month Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D41425
* sys: Remove $FreeBSD$: one-line .c comment patternWarner Losh2023-08-1634-34/+0
| | | | Remove /^/[*/]\s*\$FreeBSD\$.*\n/
* irdma: Silence an unused function warningMark Johnston2023-04-261-1/+1
| | | | | | Reviewed by: erj Fixes: 35105900c65b ("irdma(4): Upgrade the driver to 1.1.11-k") Differential Revision: https://reviews.freebsd.org/D39719
* irdma: Convert to IfAPIJustin Hibbits2023-04-257-260/+204
| | | | | | | | | | Mostly mechanical changes, with some reworking in irdma_cm for iterating over interfaces and addresses. Further rework by Bartosz Sobczak. Reviewed by: bartosz.sobczak_intel.com Tested by: mateusz.moga_intel.com Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38960
* irdma(4): Upgrade the driver to 1.1.11-kBartosz Sobczak2023-03-2827-612/+953
| | | | | | | | | | | | | | | | | | | | | | | Summary of changes: - postpone mtu size assignment during load to avoid race condition - refactor some of the debug prints - add request reset handler - refactor flush scheduler to increase efficiency and avoid racing - put correct vlan_tag for UD traffic with PFC - suspend QP before going to ERROR state to avoid CQP timout - fix arithmetic error on irdma_debug_bugf - allow debug flag to be settable during driver load - introduce meaningful default values for DCQCN algorithm - interrupt naming convention improvements - skip unsignaled completions in poll_cmpl Signed-off-by: Bartosz Sobczak bartosz.sobczak@intel.com Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: hselasky@ MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D39173
* irdma(4): Add code for compilation on stable/13 branchBartosz Sobczak2023-02-066-14/+890
| | | | | | | | | | | | | | | | | | Current content of the irdma(4) driver consists only of code that is compilable on current 14-CURRENT branch which makes it impossible to merge into stable/13 branch because of missing dependencies in the ofed tree. This patch adds missing code that allows for merging into stable branch. Once it is there, code relating only to version 14 or higher should be removed. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ MFC after: 1 day Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38170
* linuxkpi: Adds more `SZ_*` macrosJean-Sébastien Pédron2023-01-251-2/+0
| | | | | | | | | `SZ_2K` and `SZ_1G` were defined in irdma. They are removed from this driver. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38150
* irdma(4): Upgrade driver to 1.1.5-kBartosz Sobczak2022-12-2229-3434/+3172
| | | | | | | | | | | | | | | | | | | | | | | | | This is to upgrade current irdma driver version (in support of RDMA on Intel(R) Ethernet Controller E810) to 1.1.5-k change summary: - refactor defines for hardware registers - rereg_mr verb added in libirdma - fix print warning during compilation - rt_ros2priority macro fix - irdma.4 validated with mandoc - fixing nd6_resolve usage - added libirdma_query_device - sysctl for irdma version - aeq_alloc_db fix - dwork_flush protected with qp refcount - PFC fixes Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ Sponsored by: Intel Corporation MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D36944
* LinuxKPI: tasklet add (*callback) supportBjoern A. Zeeb2022-11-081-0/+2
| | | | | | | | | | | | | | | In addition to (*func) tasklet also seems to have a (*callback) with a different argument. Add support for this and add tasklet_setup() as well for support in more drivers. The from_tasklet() definition is duplicated in the tree; hide it there under #ifndef to avoid a re-definition. People should generally add LinuxKPI bits to linuxkpi rather than private files if they also rely on other LinuxKPI bits. X-MFC: DO NOT MFC, space allocated by drivers not us. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37216
* ibcore: The use of IN_LOOPBACK() now requires a valid VNET context.Hans Petter Selasky2022-09-234-8/+22
| | | | | | | | | Make sure the VNET is set before using this macro. Fixes: efe58855f3ea2cfc24cb705aabce3bc0fe1fb6d5 PR: 266054 MFC after: 1 week Sponsored by: NVIDIA Networking
* Adjust irdma_prep_for_unregister() definition to avoid clang 15 warningDimitry Andric2022-07-241-1/+1
| | | | | | | | | | | | | | | With clang 15, the following -Werror warning is produced: sys/dev/irdma/icrdma.c:621:26: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] irdma_prep_for_unregister() ^ void This is because irdma_prep_for_unregister() is declared with a (void) argument list, but defined with an empty argument list. Make the definition match the declaration. MFC after: 3 days
* irdma(4): Fix previous commit that broke build on amd64Eric Joyner2022-05-251-1/+1
| | | | | | | | | | | | | | | | | Changing the printf specifier to %p fixed the build on powerpc64, but it actually broke the amd64 build since the type of the value to be printed is uint64_t on amd64. Instead, keep the new %p specifier but cast the printed argument to a uintptr_t and then to a void * in order for it to be valid type for %p. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reported by: jrtc27@ MFC after: 5 days MFC-with: e602a30bb9fc7ee041a0e629d0fd2db7933ffa32 Sponsored by: Intel Corporation
* irdma(4): Fix compile error on powerpc64Eric Joyner2022-05-251-1/+1
| | | | | | | | | | | | Jenkins reports that the type used in a printf() specifier is incorrect, so fix it in order to use the appropriate type. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reported by: Jenkins CI MFC after: 6 days MFC-with: cdcd52d41e246ba1c0fcfad0769bd691487355ef Sponsored by: Intel Corporation
* irdma: Add RDMA driver for Intel(R) Ethernet Controller E810Bartosz Sobczak2022-05-2334-0/+35710
This is an initial commit for RDMA FreeBSD driver for Intel(R) Ethernet Controller E810, called irdma. Supporting both RoCEv2 and iWARP protocols in per-PF manner, RoCEv2 being the default. Testing has been done using krping tool, perftest, ucmatose, rping, ud_pingpong, rc_pingpong and others. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: #manpages (pauamma_gundo.com) [documentation] MFC after: 1 week Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34690