mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-09 01:59:41 +00:00
IB/hns: The Ack timeout need a lower limit value
The Ack timeout of qpc need a lower limit value,otherwise the read performance will be very lower. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Dongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: Salil Mehta <salil.mehta@huawei.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
07182fa77b
commit
c6c3bfea82
1 changed files with 13 additions and 4 deletions
|
@ -2410,10 +2410,19 @@ static int hns_roce_v1_m_qp(struct ib_qp *ibqp, const struct ib_qp_attr *attr,
|
|||
QP_CONTEXT_QPC_BYTES_156_RETRY_COUNT_INIT_M,
|
||||
QP_CONTEXT_QPC_BYTES_156_RETRY_COUNT_INIT_S,
|
||||
attr->retry_cnt);
|
||||
roce_set_field(context->qpc_bytes_156,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_M,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_S,
|
||||
attr->timeout);
|
||||
if (attr->timeout < 0x12) {
|
||||
dev_info(dev, "ack timeout value(0x%x) must bigger than 0x12.\n",
|
||||
attr->timeout);
|
||||
roce_set_field(context->qpc_bytes_156,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_M,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_S,
|
||||
0x12);
|
||||
} else {
|
||||
roce_set_field(context->qpc_bytes_156,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_M,
|
||||
QP_CONTEXT_QPC_BYTES_156_ACK_TIMEOUT_S,
|
||||
attr->timeout);
|
||||
}
|
||||
roce_set_field(context->qpc_bytes_156,
|
||||
QP_CONTEXT_QPC_BYTES_156_RNR_RETRY_COUNT_INIT_M,
|
||||
QP_CONTEXT_QPC_BYTES_156_RNR_RETRY_COUNT_INIT_S,
|
||||
|
|
Loading…
Reference in a new issue