aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/irdma
Commit message (Collapse)AuthorAgeFilesLines
* OFED: Add generic function to extract IB speed from netdevJohn Baldwin2026-07-292-103/+0
| | | | | | | Reviewed by: kib Obtained from: Linux commit d41861942fc55c14b6280d9568a0d0112037f065 Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D57952
* OFED: Various changes from Linux 4.19John Baldwin2026-06-242-39/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of these changes deal with shifting from fetcing SGID attributes via an index in drivers to including references to SGID attributes in other structures passed to driver callbacks which can be used directly avoiding the need for fetching attributes via lookup functions. I had to fixup the ROCE GID management code directly as the version in FreeBSD is very different from Linux. I also tweaked the change from commit 475c8de7bf2dc86d9806709a04e9c8f524d4ec32 to use a goto to reduce diffs with upstream to minimize conflicts when merging upstream changes. This contains changes from the following Linux commits: a1a4caeebac9 IB/core: Do not set the gid type when reserving default entries 1c36cf912ad1 IB/core: Store default GID property per-table instead of per-entry 1dfce2945771 IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid 83f6f8d29dd3 IB/core: Make rdma_find_gid_by_filter support all protocols c3d71b69a75c IB/core: Provide rdma_ versions of the gid cache API 77e786fcbe2e IB/core: Replace ib_query_gid with rdma_get_gid_attr bf399c2cadfa IB/core: Introduce GID attribute get, put and hold APIs f4df9a7c34d8 RDMA: Use GID from the ib_gid_attr during the add_gid() callback b150c3862d21 IB/core: Introduce GID entry reference counts 47ec38666210 RDMA: Convert drivers to use sgid_attr instead of sgid_index d97099fe53ed IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs 947c99ecfcb4 IB/core: Tidy ib_resolve_eth_dmac 8d9ec9addd6c IB/core: Add a sgid_attr pointer to struct rdma_ah_attr 89af969a6653 RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths 1a1f460ff151 RDMA: Hold the sgid_attr inside the struct ib_ah/qp 7492052a186b IB/mlx4: Use GID attribute from ah attribute 59d40813328f IB/core: Free GID table entry during GID deletion 881456789248 RDMA/cma: Consider net namespace while leaving multicast group 4ed13a5f2d60 IB/cm: Keep track of the sgid_attr that created the cm id aa74f4878d61 IB: Make init_ah_attr_grh_fields set sgid_attr f685c19529f0 IB: Make ib_init_ah_from_mcmember set sgid_attr b7403217656d IB: Make ib_init_ah_attr_from_wc set sgid_attr ea8c2d8f6014 RDMA/core: Remove unused ib cache functions a8872d53e9b7 IB/cm: Use sgid_attr from the AV 398391071f25 IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' 815d456ef21a IB/cm: Pass the sgid_attr through various events 4eefd62c17a9 include/rdma/opa_addr.h: Fix an endianness issue f8c2d2280cf6 RDMA/core: Remove set-but-not-used variables 28e39894ed4f RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() 07e7056aff6c IB/core: Simplify check for RoCE route resolve 40ddacf2dda9 RDMA/umem: Don't hold mmap_sem for too long 1215cb7c88ec RDMA/umem: Refactor exit paths in ib_umem_get c012691508f5 IB/cm: Remove cma_multicast->igmp_joined 4b4671a0f269 IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls 1fec77bf8fcd RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls bb039a870c05 IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument 643d213a9a03 RDMA/cma: Do not ignore net namespace for unbound cm_id d274e45ce1ed RDMA/cma: Consider netdevice for RoCE ports cee104334c98 IB/core: Introduce and use sgid_attr in CM requests 7150c3d5544b RDMA/core: Remove {create,destroy}_ah from mandatory verbs 854633165164 RDMA/core: Prefix _ib to IB/RoCE specific functions 7582df826734 RDMA/core: Avoid holding lock while initializing fields on stack 79d684f02647 RDMA/core: Simplify gid type check in cma_acquire_dev() ca3a8ace2b12 RDMA/core: Return bool instead of int 05e0b86c413d RDMA/cma: Get rid of 1 bit boolean e7ff98aefc9e RDMA/cma: Constify path record, ib_cm_event, listen_id pointers 2df7dba855e1 RDMA/core: Constify dst_addr argument 219d2e9dfda9 RDMA/cma: Simplify rdma_resolve_addr() error flow 26e551c5aec5 RDMA: Fix return code check in rdma_set_cq_moderation 58796e67d5d5 IB/ucm: Initialize sgid request GID attribute pointer dd81b2c8a333 IB/core: Change filter function return type from int to bool 93065ac753e4 mm, oom: distinguish blockable mode for mmu notifiers 0d23ba6034b9 RDMA/ucma: check fd type in ucma_migrate_id() Part of cee104334c98 was previously merged into FreeBSD. Namely, SGID index fields had been added to the two param structures instead and roce_get_net_dev_by_cm_event was implemented using SGID indices. Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
* OFED: Various changes from Linux 4.17John Baldwin2026-06-243-34/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This contains changes from the following Linux commits: a3b641af72ba RDMA/CM: move rdma_id_private to cma_priv.h 6612b4983f7e IB/core: Fix comments of GID query functions b26c4a1138df IB/{core, ipoib}: Simplify ib_find_gid() for unused ndev 5ac08a341303 IB/cma: Use rdma_protocol_roce() and remove cma_protocol_roce_dev_port() a9c06aeba997 IB/core: Remove rdma_resolve_ip_route() as exported symbol a22af59ea9a5 IB/cm: Add and use a helper function to add cm_id's to the port list cb12a8e2fa5f IB/cm: Introduce and use helper function to get cm_port from path 0a5141593567 IB/core: Refactor ib_init_ah_attr_from_path() for RoCE e41a7c41947d IB/core: Move rdma_addr_find_l2_eth_by_grh to core_priv.h 98f1f4e0ed26 IB/core: Refer to RoCE port property instead of GID table property 114cc9c4b182 IB/cma: Resolve route only while receiving CM requests 9137108cc3d6 RDMA/rdma_cm: Fix use after free race with process_one_req 190fb9c4d130 IB/core: Refer to RoCE port property to decide building cache 22d24f75a193 IB/core: Search GID only for IB link layer 4ab7cb4bf362 IB/core: Refer to RoCE port property instead of GID table property 3401857ea347 IB/core: Generate GID change event regardless of RoCE GID table property 218b9e3eb8b5 RDMA/cma: Move rdma_cm_state to cma_priv.h 8435168d50e6 RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device 72e1ff0fb7e0 RDMA/core: Update query_gid documentation for HCA drivers 0e1f9b924471 RDMA/providers: Simplify query_gid callback of RoCE providers 598ff6bae689 IB/core: Refactor GID modify code for RoCE f35faa4ba956 IB/core: Simplify ib_query_gid to always refer to cache 14169e333e71 IB/providers: Avoid zero GID check for RoCE 414448d249d8 RDMA: Use ib_gid_attr during GID modification ee6548d1d98d RDMA/rdma_cm: Delete rdma_addr_client 44e75052bc2a RDMA/rdma_cm: Make rdma_addr_cancel into a fence e19c0d237873 RDMA/rdma_cm: Remove process_req and timer sorting a66ed149b0da IB/core: Don't allow default GID addition at non reseved slots dc5640f294e4 IB/core: Fix deleting default GIDs when changing mac adddress 22c01ee4b8a8 IB/core: Fix to avoid deleting IPv6 look alike default GIDs 9aa169213d11 RDMA/cma: Do not query GID during QP state transition to RTR aec05afe641b IB/core: Remove redundant return Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
* OFED: Various changes from Linux 4.12John Baldwin2026-06-245-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes involve renaming InfiBand address handles (AH) to RDMA address handles including renaming various types and functions. Address handles now also include type-specific fields and a set of wrapper accessor functions for getting and setting fields. For some of the type and function renames, drivers in sys/dev had to be updated directly (typically via sed). This contains changes from the following Linux commits: f039f44fc331 IB/core: Add support for draining IB_POLL_DIRECT completion queues fedd9e1f7582 IB/cq: Don't process more than the given budget 403cd12e2cf7 IB/umem: Add contiguous ODP support 0008b84ea9af IB/umem: Add support to huge ODP 3e7e1193e28a IB: Replace ib_umem page_size by page_shift cb8637660ae8 IB/SA: Move functions update_sm_ah() and ib_sa_event() 680562b56939 IB/SA: Remove unwanted braces dbb6c91fd8e0 IB/SA: Add braces when using sizeof f96a31871449 IB/SA: Fix lines longer than 80 columns 94d595c56077 IB/core: Add rdma_cap_opa_ah to expose opa address handles ee1c60b1bff8 IB/SA: Modify SA to implicitly cache Class Port info aa4656d9a429 IB/core: Move opa_class_port_info definition to header file 2196f2716292 IB/SA: Add support to query opa classport info. 64b4646eaf3d IB/core: Define 'opa' rdma_ah_attr type 44c58487d51a IB/core: Define 'ib' and 'roce' rdma_ah_attr types d8966fcd4c25 IB/core: Use rdma_ah_attr accessor functions 2224c47ace23 IB/core: Add accessor functions for rdma_ah_attr fields 365231593409 IB/core: Rename ib_destroy_ah to rdma_destroy_ah bfbfd661c9ea IB/core: Rename ib_query_ah to rdma_query_ah 67b985b6c755 IB/core: Rename ib_modify_ah to rdma_modify_ah 0a18cfe4f6d7 IB/core: Rename ib_create_ah to rdma_create_ah 766b7f6cf0c0 IB/mthca: Rename to_ib_ah_attr to to_rdma_ah_attr 38349389fece IB/mlx5: Rename to_ib_ah_attr to to_rdma_ah_attr 71d53ab47ee6 IB/mlx4: Rename to_ib_ah_attr to to_rdma_ah_attr 90898850ec4e IB/core: Rename struct ib_ah_attr to rdma_ah_attr 4ba66093bdc6 IB/core: Check for global flag when using ah_attr cf0b9395d084 IB/core: Add braces when using sizeof cfd519358f50 IB/IPoIB: Remove 'else' when the 'if' has a return. 82ffc226483c IB/CM: Add braces when using sizeof dfa834e1d97e IB/SA: Introduce path record specific types c2f8fc4ec440 IB/SA: Rename ib_sa_path_rec to sa_path_rec 9fdca4da4d8c IB/SA: Split struct sa_path_rec based on IB and ROCE specific fields 4c33bd1926cc IB/SA: Add support to query OPA path records 57520751445b IB/SA: Add OPA path record type 87f0faadc685 IB/SA: Add OPA addr header eed7624552ca RDMA/mlx4: Fix MAD tunneling when SRIOV is enabled f937d93a9122 RDMA/uverbs: Declare local function static and add brackets to sizeof d3957b86a406 RDMA/SA: Fix kernel panic in CMA request handler flow The IPoIB portions of ee1c60b1bff8 were already present in FreeBSD from an earlier sync with OFED. Likewise, the ib_uverbs_cmd.c changes from 4ba66093bdc6 were also already present. Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
* OFED: Various changes from Linux 4.10John Baldwin2026-06-241-15/+0
| | | | | | | | | | | | | | | | | | This contains changes from the following Linux commits: 850d8fd76507 IB/mlx4: Handle IPv4 header when demultiplexing MAD a0b3455fcb2d IB/core: Remove debug prints after allocation failure 74226649f42d IB/ipoib: Remove and fix debug prints after allocation failure 870b28524552 IB/mthca: Remove debug prints after allocation failure aa6aae38f7fb IB/core: Release allocated memory in cache setup failure f73a1dbc45a5 infiniband: remove WARN that is not kernel bug 5f24410408fd rdma_cm: add rdma_consumer_reject_data helper function 5042a73d3e9d rdma_cm: add rdma_is_consumer_reject() helper function d3f4aadd614c RDMA/core: Add the function ib_mtu_int_to_enum Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
* RDMA: Fix link active_speed sizeSlava Shwartsman2026-06-171-1/+1
| | | | | | | | | | | | | | According to the IB spec active_speed size should be u16 and not u8 as before. Changing it to allow further extensions in offered speeds. Linux commit: 376ceb31ff87 RDMA: Fix link active_speed size Reviewed by: kib Tested by: Wafa Hamzah <wafah@nvidia.com> MFC after: 1 week Sponsored by: NVIDIA Networking Differential revision: https://reviews.freebsd.org/D57084
* 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