lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 423/717] RDMA/hns: Normalization the judgment of some features
    Date
    From: Wenpeng Liang <liangwenpeng@huawei.com>

    [ Upstream commit 4ddeacf68a3dd05f346b63f4507e1032a15cc3cc ]

    Whether to enable the these features should better depend on the enable
    flags, not the value of related fields.

    Fixes: 5c1f167af112 ("RDMA/hns: Init SRQ table for hip08")
    Fixes: 3cb2c996c9dc ("RDMA/hns: Add support for SCCC in size of 64 Bytes")
    Link: https://lore.kernel.org/r/1607650657-35992-3-git-send-email-liweihang@huawei.com
    Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
    Signed-off-by: Weihang Li <liweihang@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/hw/hns/hns_roce_hem.c | 4 ++--
    drivers/infiniband/hw/hns/hns_roce_main.c | 8 ++++----
    drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +-
    3 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c
    index 7487cf3d2c37a..66f9f036ef946 100644
    --- a/drivers/infiniband/hw/hns/hns_roce_hem.c
    +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c
    @@ -1017,7 +1017,7 @@ void hns_roce_cleanup_hem_table(struct hns_roce_dev *hr_dev,

    void hns_roce_cleanup_hem(struct hns_roce_dev *hr_dev)
    {
    - if (hr_dev->caps.srqc_entry_sz)
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ)
    hns_roce_cleanup_hem_table(hr_dev,
    &hr_dev->srq_table.table);
    hns_roce_cleanup_hem_table(hr_dev, &hr_dev->cq_table.table);
    @@ -1027,7 +1027,7 @@ void hns_roce_cleanup_hem(struct hns_roce_dev *hr_dev)
    if (hr_dev->caps.cqc_timer_entry_sz)
    hns_roce_cleanup_hem_table(hr_dev,
    &hr_dev->cqc_timer_table);
    - if (hr_dev->caps.sccc_sz)
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL)
    hns_roce_cleanup_hem_table(hr_dev,
    &hr_dev->qp_table.sccc_table);
    if (hr_dev->caps.trrl_entry_sz)
    diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
    index a6277d1c36ba9..ae721fa61e0e4 100644
    --- a/drivers/infiniband/hw/hns/hns_roce_main.c
    +++ b/drivers/infiniband/hw/hns/hns_roce_main.c
    @@ -632,7 +632,7 @@ static int hns_roce_init_hem(struct hns_roce_dev *hr_dev)
    goto err_unmap_trrl;
    }

    - if (hr_dev->caps.srqc_entry_sz) {
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) {
    ret = hns_roce_init_hem_table(hr_dev, &hr_dev->srq_table.table,
    HEM_TYPE_SRQC,
    hr_dev->caps.srqc_entry_sz,
    @@ -644,7 +644,7 @@ static int hns_roce_init_hem(struct hns_roce_dev *hr_dev)
    }
    }

    - if (hr_dev->caps.sccc_sz) {
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL) {
    ret = hns_roce_init_hem_table(hr_dev,
    &hr_dev->qp_table.sccc_table,
    HEM_TYPE_SCCC,
    @@ -688,11 +688,11 @@ err_unmap_qpc_timer:
    hns_roce_cleanup_hem_table(hr_dev, &hr_dev->qpc_timer_table);

    err_unmap_ctx:
    - if (hr_dev->caps.sccc_sz)
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL)
    hns_roce_cleanup_hem_table(hr_dev,
    &hr_dev->qp_table.sccc_table);
    err_unmap_srq:
    - if (hr_dev->caps.srqc_entry_sz)
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ)
    hns_roce_cleanup_hem_table(hr_dev, &hr_dev->srq_table.table);

    err_unmap_cq:
    diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
    index 800141ab643a3..ef1452215b17d 100644
    --- a/drivers/infiniband/hw/hns/hns_roce_qp.c
    +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
    @@ -286,7 +286,7 @@ static int alloc_qpc(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp)
    }
    }

    - if (hr_dev->caps.sccc_sz) {
    + if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL) {
    /* Alloc memory for SCC CTX */
    ret = hns_roce_table_get(hr_dev, &qp_table->sccc_table,
    hr_qp->qpn);
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 15:40    [W:2.672 / U:0.416 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site