mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-04 13:21:45 +00:00
IB/hfi1: Limit VNIC use of SDMA engines to the available count
VNIC assumes that all SDMA engines have been configured for use. This is not necessarily true (i.e. if the count was constrained by the module parameter). Update VNICs usage to use the configured count, rather than the hardware count. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: Gary Leshner <gary.s.leshner@intel.com> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
fe4dd42392
commit
dd6c6a5a2e
1 changed files with 2 additions and 2 deletions
|
@ -816,14 +816,14 @@ struct net_device *hfi1_vnic_alloc_rn(struct ib_device *device,
|
||||||
|
|
||||||
size = sizeof(struct opa_vnic_rdma_netdev) + sizeof(*vinfo);
|
size = sizeof(struct opa_vnic_rdma_netdev) + sizeof(*vinfo);
|
||||||
netdev = alloc_netdev_mqs(size, name, name_assign_type, setup,
|
netdev = alloc_netdev_mqs(size, name, name_assign_type, setup,
|
||||||
chip_sdma_engines(dd), dd->num_vnic_contexts);
|
dd->num_sdma, dd->num_vnic_contexts);
|
||||||
if (!netdev)
|
if (!netdev)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
rn = netdev_priv(netdev);
|
rn = netdev_priv(netdev);
|
||||||
vinfo = opa_vnic_dev_priv(netdev);
|
vinfo = opa_vnic_dev_priv(netdev);
|
||||||
vinfo->dd = dd;
|
vinfo->dd = dd;
|
||||||
vinfo->num_tx_q = chip_sdma_engines(dd);
|
vinfo->num_tx_q = dd->num_sdma;
|
||||||
vinfo->num_rx_q = dd->num_vnic_contexts;
|
vinfo->num_rx_q = dd->num_vnic_contexts;
|
||||||
vinfo->netdev = netdev;
|
vinfo->netdev = netdev;
|
||||||
rn->free_rdma_netdev = hfi1_vnic_free_rn;
|
rn->free_rdma_netdev = hfi1_vnic_free_rn;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue