diff options
author | Luo bin <luobin9@huawei.com> | 2020-04-25 01:21:10 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-04-25 20:46:28 -0700 |
commit | 7dd29ee128654702bd493ecec0bb22c2c5f0f395 (patch) | |
tree | f26d5ca337be664ccbf5c4b222a3f39d6ae48fd6 /drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c | |
parent | a425b6e1c69ba907b72b737a4d44f8cfbc43ce3c (diff) | |
download | linux-7dd29ee128654702bd493ecec0bb22c2c5f0f395.tar.gz |
hinic: add sriov feature support
adds support of basic sriov feature including initialization and
tx/rx capabilities of virtual function
Signed-off-by: Luo bin <luobin9@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c')
-rw-r--r-- | drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c index be364b7a7019..20c5c8ea452e 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c @@ -108,7 +108,12 @@ void hinic_sq_prepare_ctxt(struct hinic_sq_ctxt *sq_ctxt, wq_page_pfn_hi = upper_32_bits(wq_page_pfn); wq_page_pfn_lo = lower_32_bits(wq_page_pfn); - wq_block_pfn = HINIC_WQ_BLOCK_PFN(wq->block_paddr); + /* If only one page, use 0-level CLA */ + if (wq->num_q_pages == 1) + wq_block_pfn = HINIC_WQ_BLOCK_PFN(wq_page_addr); + else + wq_block_pfn = HINIC_WQ_BLOCK_PFN(wq->block_paddr); + wq_block_pfn_hi = upper_32_bits(wq_block_pfn); wq_block_pfn_lo = lower_32_bits(wq_block_pfn); |