Skip to content

Commit

Permalink
RDMA/hns: Query the number of functions supported by the PF
Browse files Browse the repository at this point in the history
Query how many functions are supported by the PF from the FW and store it
in the hns_roce_dev structure which will be used to support the
configuration of virtual functions.

Link: https://lore.kernel.org/r/1617715514-29039-3-git-send-email-liweihang@huawei.com
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Shengming Shu <shushengming1@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
  • Loading branch information
Wei Xu authored and Jason Gunthorpe committed Apr 13, 2021
1 parent 0fb46da commit 5b03a42
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
1 change: 1 addition & 0 deletions drivers/infiniband/hw/hns/hns_roce_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,7 @@ struct hns_roce_dev {
void *priv;
struct workqueue_struct *irq_workq;
const struct hns_roce_dfx_hw *dfx;
u32 func_num;
u32 cong_algo_tmpl_id;
};

Expand Down
9 changes: 7 additions & 2 deletions drivers/infiniband/hw/hns/hns_roce_hw_v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1612,15 +1612,20 @@ static int hns_roce_query_func_info(struct hns_roce_dev *hr_dev)
struct hns_roce_cmq_desc desc;
int ret;

if (hr_dev->pci_dev->revision < PCI_REVISION_ID_HIP09)
if (hr_dev->pci_dev->revision < PCI_REVISION_ID_HIP09) {
hr_dev->func_num = 1;
return 0;
}

hns_roce_cmq_setup_basic_desc(&desc, HNS_ROCE_OPC_QUERY_FUNC_INFO,
true);
ret = hns_roce_cmq_send(hr_dev, &desc, 1);
if (ret)
if (ret) {
hr_dev->func_num = 1;
return ret;
}

hr_dev->func_num = le32_to_cpu(desc.func_info.own_func_num);
hr_dev->cong_algo_tmpl_id = le32_to_cpu(desc.func_info.own_mac_id);

return 0;
Expand Down
4 changes: 2 additions & 2 deletions drivers/infiniband/hw/hns/hns_roce_hw_v2.h
Original file line number Diff line number Diff line change
Expand Up @@ -1710,9 +1710,9 @@ struct hns_roce_cmq_desc {
union {
__le32 data[6];
struct {
__le32 rsv1;
__le32 own_func_num;
__le32 own_mac_id;
__le32 rsv2[4];
__le32 rsv[4];
} func_info;
};

Expand Down

0 comments on commit 5b03a42

Please sign in to comment.