summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/erdma/erdma_verbs.h
diff options
context:
space:
mode:
authorBoshi Yu <boshiyu@linux.alibaba.com>2024-03-11 12:38:19 +0100
committerLeon Romanovsky <leon@kernel.org>2024-04-01 13:46:01 +0200
commitf0697bf078368d765b9e9ceef1dac0d5eb69b4b6 (patch)
treee923a3825d174bacb0198698d093026703fd6f3d /drivers/infiniband/hw/erdma/erdma_verbs.h
parentLinux 6.9-rc2 (diff)
downloadlinux-f0697bf078368d765b9e9ceef1dac0d5eb69b4b6.tar.xz
linux-f0697bf078368d765b9e9ceef1dac0d5eb69b4b6.zip
RDMA/erdma: Allocate doorbell records from dma pool
Currently, the 8 byte doorbell record is allocated along with the queue buffer, which may result in waste of dma space when the queue buffer is page aligned. To address this issue, we introduce a dma pool named db_pool and allocate doorbell record from it. Reviewed-by: Cheng Xu <chengyou@linux.alibaba.com> Signed-off-by: Boshi Yu <boshiyu@linux.alibaba.com> Link: https://lore.kernel.org/r/20240311113821.22482-2-boshiyu@alibaba-inc.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to '')
-rw-r--r--drivers/infiniband/hw/erdma/erdma_verbs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.h b/drivers/infiniband/hw/erdma/erdma_verbs.h
index db6018529ccc..b02ffdc8c811 100644
--- a/drivers/infiniband/hw/erdma/erdma_verbs.h
+++ b/drivers/infiniband/hw/erdma/erdma_verbs.h
@@ -170,6 +170,9 @@ struct erdma_kqp {
void *sq_db_info;
void *rq_db_info;
+ dma_addr_t sq_db_info_dma_addr;
+ dma_addr_t rq_db_info_dma_addr;
+
u8 sig_all;
};
@@ -247,6 +250,7 @@ struct erdma_kcq_info {
spinlock_t lock;
u8 __iomem *db;
u64 *db_record;
+ dma_addr_t db_record_dma_addr;
};
struct erdma_ucq_info {