Skip to content

RDMA/bnxt_re: driver update for RHEL 9.4

Sreekanth Reddy requested to merge sreeredd/centos-stream-9:roce_patches_v5 into main

JIRA: https://issues.redhat.com/browse/RHEL-3526 JIRA: https://issues.redhat.com/browse/RHEL-11009 Tested: Compiled and Tested locally Upstream Status: Accepted

update bnxt_re driver with upstream commits through 6.6

Sreekanth Reddy (82): rdma: fix INFINIBAND_USER_ACCESS dependency bnxt_en: Update HW interface headers bnxt_en: Share the bar0 address with the RoCE driver RDMA/bnxt_re: Initialize Doorbell pacing feature RDMA/bnxt_re: Enable pacing support for the user apps RDMA/bnxt_re: Update alloc_page uapi for pacing RDMA/bnxt_re: Implement doorbell pacing algorithm RDMA/bnxt_re: Add a new uapi for driver notification bnxt_re: Reorganize the resource stats bnxt_re: Update the hw counters for resource stats bnxt_re: Expose the missing hw counters bnxt_re: Update the debug counters for doorbell pacing RDMA/hns: Use the core code to manage the fixed mmap entries RDMA/bnxt_re: Fix spelling mistake "priviledged" -> "privileged" RDMA/bnxt_re: Fix an IS_ERR() vs NULL check RDMA/bnxt_re: use vmalloc_array and vcalloc RDMA/bnxt_re: Fix a possible memory leak RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx RDMA/bnxt_re: Do not enable congestion control on VFs RDMA/bnxt_re: Fix to remove unnecessary return labels RDMA/bnxt_re: Use unique names while registering interrupts RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid RDMA/bnxt_re: Fix to remove an unnecessary log RDMA/bnxt_re: Return directly without goto jumps RDMA/bnxt_re: Remove unnecessary checks RDMA/bnxt_re: Fix max_qp count for virtual functions RDMA/bnxt_re: Remove a redundant flag RDMA/bnxt_re: Cleanup bnxt_re_process_raw_qp_pkt_rx() function RDMA/bnxt_re: Avoid unnecessary memset RDMA/bnxt_re: Remove unnecessary variable initializations RDMA/bnxt_re: Fix error handling in probe failure path RDMA/bnxt_re: Fix reporting active_{speed,width} attributes RDMA/bnxt_re: wraparound mbox producer index RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel RDMA/bnxt_re: set fixed command queue depth RDMA/bnxt_re: Enhance the existing functions that wait for FW responses RDMA/bnxt_re: Avoid the command wait if firmware is inactive RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command RDMA/bnxt_re: Simplify the function that sends the FW commands RDMA/bnxt_re: add helper function __poll_for_resp RDMA/bnxt_re: handle command completions after driver detect a timedout RDMA/bnxt_re: Add firmware stall check detection RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation RDMA/bnxt_re: consider timeout of destroy ah as success. RDMA/bnxt_re: cancel all control path command waiters upon error RDMA/bnxt_re: use firmware provided max request timeout RDMA/bnxt_re: remove redundant cmdq_bitmap RDMA/bnxt_re: optimize the parameters passed to helper functions RDMA/bnxt_re: Remove incorrect return check from slow path RDMA/bnxt_re: Refactor code around bnxt_qplib_map_rc() RDMA/bnxt_re: Prevent handling any completions after qp destroy RDMA/bnxt_re: Initialize dpi_tbl_lock mutex RDMA/bnxt_re: Initialize mutex dbq_lock RDMA/bnxt_re: Initialize opcode while sending message RDMA/bnxt_re: Fix kernel doc errors RDMA/bnxt_re: Add support for dmabuf pinned memory regions RDMA/bnxt_re: Add resize_cq support RDMA/bnxt_re: Update HW interface headers RDMA/bnxt_re: Remove HW queue mapping from RoCE Driver RDMA/bnxt_re: Convert RCFW_CMD_PREP macro to static inline function RDMA/bnxt_re: Reduce number of argumets to control path command APIs RDMA/bnxt_re: RoCE slow path TLV support RDAM/bnxt_re: Use tlv apis while processing the slow path commands RDMA/bnxt_re: Enable congestion control by default RDMA/bnxt_re: Fix the page_size used during the MR creation RDMA/bnxt_re: Disable/kill tasklet only if it is enabled RDMA/bnxt_re: Use the common mmap helper functions RDMA/bnxt_re: Add disassociate ucontext support RDMA/bnxt_re: Optimize the bnxt_re_init_hwrm_hdr usage RDMA/bnxt_re: Query function capabilities from firmware RDMA/bnxt_re: Move the interface version to chip context structure RDMA/bnxt_re: Reorg the bar mapping RDMA/bnxt_re: Enable low latency push RDMA/bnxt_re: Fix hang during driver unload RDMA/bnxt_re: Fix the sideband buffer size handling for FW commands RDMA/bnxt_re: Properly order ib_device_unalloc() to avoid UAF RDMA/bnxt_re: Protect the PD table bitmap RDMA/bnxt_re: Fix the handling of control path response data RDMA/bnxt_re: Decrement resource stats correctly RDMA/bnxt_re: remove unused num_srqne_processed and num_cqne_processed variables RDMA/bnxt_re: Remove duplicated include in bnxt_re/main.c

drivers/infiniband/hw/bnxt_re/bnxt_re.h | 42 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 84 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 55 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 670 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 28 + drivers/infiniband/hw/bnxt_re/main.c | 575 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 384 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 8 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 773 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 118 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 228 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 57 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 436 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 75 +- drivers/infiniband/hw/bnxt_re/qplib_tlv.h | 162 + drivers/infiniband/hw/bnxt_re/roce_hsi.h | 7423 ++++++++++------- drivers/infiniband/hw/irdma/verbs.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 135 + drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 + include/rdma/ib_verbs.h | 9 + include/uapi/rdma/bnxt_re-abi.h | 38 + 22 files changed, 7309 insertions(+), 3996 deletions(-) create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_tlv.h

Signed-off-by: Sreekanth Reddy sreeredd@redhat.com

Edited by Sreekanth Reddy

Merge request reports