rdma: lowlatency rdma channel is overflow [1/1]

PD#SWPL-201312

Problem:
lowlatency rdma channel is overflow

Solution:
alloc EX_VSYNC_RDMA with rdma_table_size

Verify:
s7d

Change-Id: I3b1488b065fda17525481facc301e99a2eeeba95
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
(cherry picked from commit db496221952809cf2a707cc5471fd7003192a638)
This commit is contained in:
Pengcheng Chen
2025-02-10 12:43:54 +08:00
committed by gerrit autosubmit
parent 40604303e3
commit adb6bfa9b8
+12 -1
View File
@@ -820,6 +820,17 @@ void part_table_combine_to_reg_buf(int handle)
if (info->rdma_part_ins[vpp_index][i].flag) {
if (!info->rdma_part_ins[vpp_index][i].rdma_item_count)
continue;
if ((ins->rdma_item_count +
info->rdma_part_ins[vpp_index][i].rdma_item_count) * 2 >=
ins->rdma_table_size / sizeof(u32)) {
pr_info("err:%s, line=%d, vpp_index=%d, i=%d, temp_combine_item=%p, rdma_item_count=%d, %d\n",
__func__, __LINE__,
vpp_index, i,
temp_combine_item,
ins->rdma_item_count,
info->rdma_part_ins[vpp_index][i].rdma_item_count);
break;
}
memcpy(temp_combine_item,
info->rdma_part_ins[vpp_index][i].rdma_item,
info->rdma_part_ins[vpp_index][i].rdma_item_count *
@@ -3062,7 +3073,7 @@ static int __init rdma_probe(struct platform_device *pdev)
/* T7 lack rdma channel. So do not alloc EX_VSYNC_RDMA channel for 3 vppout */
if (rdma_meson_dev.rdma_ver != RDMA_VER_3) {
handle = rdma_register(get_rdma_ops(EX_VSYNC_RDMA),
NULL, RDMA_TABLE_SIZE);
NULL, rdma_table_size);
set_rdma_handle(EX_VSYNC_RDMA, handle);
}