mbox series

[rdma-next,0/9] RDMA/bnxt_re: Driver Debug Enhancements

Message ID 1740076496-14227-1-git-send-email-selvin.xavier@broadcom.com (mailing list archive)
Headers show
Series RDMA/bnxt_re: Driver Debug Enhancements | expand

Message

Selvin Xavier Feb. 20, 2025, 6:34 p.m. UTC
For debugging issues in the field, we need to track some of
the resources destroyed in the past. This is primarily required
for tracking certain QPs that encountered errors, leading to
application exits. A framework has been implemented to
save this information and retrieve it during coredump collection.

The Broadcom bnxt L2 driver supports collecting driver dumps
using the ethtool -w option. This feature now also supports
collecting coredump information from the bnxt_re auxiliary driver.
Two new callbacks have been implemented to exchange dump
information supported by the auxbus bnxt_re driver.

The bnxt_re driver caches certain hardware information before
resources are destroyed in the HW. Additionally,
some resource information from the host is necessary
for gathering meaningful debug information. Both types
of information are cached by the driver for a finite (1024 for now)
 number of resources. 

Please review and apply.

Thanks,
Selvin Xavier


Kashyap Desai (3):
  RDMA/bnxt_re : Initialize the HW context dump collection
  RDMA/bnxt_re: Get the resource contexts from the HW
  RDMA/bnxt_re: Dump the HW context information

Michael Chan (2):
  bnxt_en: Introduce ULP coredump callbacks
  RDMA/bnxt_re: Support the dump infrastructure

Saravanan Vajravel (3):
  RDMA/bnxt_re: Add support for collecting the Queue dumps
  RDMA/bnxt_re: Cache the QP information
  RDMA/bnxt_re: Dump the debug information in snapdump

Selvin Xavier (1):
  RDMA/bnxt_re: Add support for changing the snap dump level

 drivers/infiniband/hw/bnxt_re/bnxt_re.h            |  75 ++++++
 drivers/infiniband/hw/bnxt_re/debugfs.c            |  49 ++++
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           | 185 ++++++++++++-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |  42 +++
 drivers/infiniband/hw/bnxt_re/main.c               | 290 ++++++++++++++++++++-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |  47 +++-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |  16 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c         |   2 +
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h         |  12 +
 drivers/infiniband/hw/bnxt_re/qplib_res.h          |  14 +
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |  15 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |   3 +-
 drivers/infiniband/hw/bnxt_re/roce_hsi.h           |   2 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c |  12 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c      |  57 ++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h      |  22 ++
 16 files changed, 817 insertions(+), 26 deletions(-)