This small patchset introduces the support of hardware statistics. Statistics counters can not be put in CQEs due to limited CQE size. To address this, we provide an extra dma buffer to hardware when posting statistics query request, and then hardware writes back the response to this dma buffer. Based on this, we add the hardware statistics support of erdma. - #1 introduces dma pool used for hardware responses of CMDQ requests. - #2 adds hardware statistics support. Changes in v2: - Remove extra layer of erdma_dma_pools_init and erdma_dma_pools_destroy - Move ERDMA_HW_RESP_SIZE from patch #2 to #1 because it's used in #1 - Remove unrelated change in patch #2 - Remove "hw_" prefix and add "tx_" prefix to some items in erdma_descs - Use dma_pool_zalloc instead of dma_pool_alloc with __GFP_ZERO flag - Remove port index check logic in erdma_get_hw_stats Cheng Xu (2): RDMA/erdma: Introduce dma pool for hardware responses of CMDQ requests RDMA/erdma: Add hardware statistics support drivers/infiniband/hw/erdma/erdma.h | 2 + drivers/infiniband/hw/erdma/erdma_hw.h | 39 ++++++++++ drivers/infiniband/hw/erdma/erdma_main.c | 26 ++++++- drivers/infiniband/hw/erdma/erdma_verbs.c | 89 +++++++++++++++++++++++ drivers/infiniband/hw/erdma/erdma_verbs.h | 4 + 5 files changed, 158 insertions(+), 2 deletions(-) -- 2.31.1