mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
RDMA/hns: Don't modify rq next block addr in HIP09 QPC
The field 'rq next block addr' in QPC can be updated by driver only
on HIP08. On HIP09 HW updates this field while driver is not allowed.
Fixes: 926a01dc00
("RDMA/hns: Add QP operations support for hip08 SoC")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20240906093444.3571619-2-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
227f51743b
commit
6928d264e3
@ -4423,12 +4423,14 @@ static int config_qp_rq_buf(struct hns_roce_dev *hr_dev,
|
||||
upper_32_bits(to_hr_hw_page_addr(mtts[0])));
|
||||
hr_reg_clear(qpc_mask, QPC_RQ_CUR_BLK_ADDR_H);
|
||||
|
||||
context->rq_nxt_blk_addr = cpu_to_le32(to_hr_hw_page_addr(mtts[1]));
|
||||
qpc_mask->rq_nxt_blk_addr = 0;
|
||||
|
||||
hr_reg_write(context, QPC_RQ_NXT_BLK_ADDR_H,
|
||||
upper_32_bits(to_hr_hw_page_addr(mtts[1])));
|
||||
hr_reg_clear(qpc_mask, QPC_RQ_NXT_BLK_ADDR_H);
|
||||
if (hr_dev->pci_dev->revision == PCI_REVISION_ID_HIP08) {
|
||||
context->rq_nxt_blk_addr =
|
||||
cpu_to_le32(to_hr_hw_page_addr(mtts[1]));
|
||||
qpc_mask->rq_nxt_blk_addr = 0;
|
||||
hr_reg_write(context, QPC_RQ_NXT_BLK_ADDR_H,
|
||||
upper_32_bits(to_hr_hw_page_addr(mtts[1])));
|
||||
hr_reg_clear(qpc_mask, QPC_RQ_NXT_BLK_ADDR_H);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user