forked from luck/tmp_suning_uos_patched
nfp: pass ctrl_bar pointer to nfp_net_alloc
Move setting ctrl_bar pointer to the nfp_net_alloc function, to make sure we can parse capabilities early in the following patch. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: John Hurley <john.hurley@netronome.com> Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
47330f9bdf
commit
e38f5d11b9
|
@ -851,7 +851,7 @@ void nfp_net_get_fw_version(struct nfp_net_fw_version *fw_ver,
|
|||
void __iomem *ctrl_bar);
|
||||
|
||||
struct nfp_net *
|
||||
nfp_net_alloc(struct pci_dev *pdev, bool needs_netdev,
|
||||
nfp_net_alloc(struct pci_dev *pdev, void __iomem *ctrl_bar, bool needs_netdev,
|
||||
unsigned int max_tx_rings, unsigned int max_rx_rings);
|
||||
void nfp_net_free(struct nfp_net *nn);
|
||||
|
||||
|
|
|
@ -3560,6 +3560,7 @@ void nfp_net_info(struct nfp_net *nn)
|
|||
/**
|
||||
* nfp_net_alloc() - Allocate netdev and related structure
|
||||
* @pdev: PCI device
|
||||
* @ctrl_bar: PCI IOMEM with vNIC config memory
|
||||
* @needs_netdev: Whether to allocate a netdev for this vNIC
|
||||
* @max_tx_rings: Maximum number of TX rings supported by device
|
||||
* @max_rx_rings: Maximum number of RX rings supported by device
|
||||
|
@ -3570,9 +3571,9 @@ void nfp_net_info(struct nfp_net *nn)
|
|||
*
|
||||
* Return: NFP Net device structure, or ERR_PTR on error.
|
||||
*/
|
||||
struct nfp_net *nfp_net_alloc(struct pci_dev *pdev, bool needs_netdev,
|
||||
unsigned int max_tx_rings,
|
||||
unsigned int max_rx_rings)
|
||||
struct nfp_net *
|
||||
nfp_net_alloc(struct pci_dev *pdev, void __iomem *ctrl_bar, bool needs_netdev,
|
||||
unsigned int max_tx_rings, unsigned int max_rx_rings)
|
||||
{
|
||||
struct nfp_net *nn;
|
||||
|
||||
|
@ -3594,6 +3595,7 @@ struct nfp_net *nfp_net_alloc(struct pci_dev *pdev, bool needs_netdev,
|
|||
}
|
||||
|
||||
nn->dp.dev = &pdev->dev;
|
||||
nn->dp.ctrl_bar = ctrl_bar;
|
||||
nn->pdev = pdev;
|
||||
|
||||
nn->max_tx_rings = max_tx_rings;
|
||||
|
|
|
@ -116,13 +116,13 @@ nfp_net_pf_alloc_vnic(struct nfp_pf *pf, bool needs_netdev,
|
|||
n_rx_rings = readl(ctrl_bar + NFP_NET_CFG_MAX_RXRINGS);
|
||||
|
||||
/* Allocate and initialise the vNIC */
|
||||
nn = nfp_net_alloc(pf->pdev, needs_netdev, n_tx_rings, n_rx_rings);
|
||||
nn = nfp_net_alloc(pf->pdev, ctrl_bar, needs_netdev,
|
||||
n_tx_rings, n_rx_rings);
|
||||
if (IS_ERR(nn))
|
||||
return nn;
|
||||
|
||||
nn->app = pf->app;
|
||||
nfp_net_get_fw_version(&nn->fw_ver, ctrl_bar);
|
||||
nn->dp.ctrl_bar = ctrl_bar;
|
||||
nn->tx_bar = qc_bar + tx_base * NFP_QCP_QUEUE_ADDR_SZ;
|
||||
nn->rx_bar = qc_bar + rx_base * NFP_QCP_QUEUE_ADDR_SZ;
|
||||
nn->dp.is_vf = 0;
|
||||
|
|
|
@ -172,7 +172,7 @@ static int nfp_netvf_pci_probe(struct pci_dev *pdev,
|
|||
rx_bar_off = NFP_PCIE_QUEUE(startq);
|
||||
|
||||
/* Allocate and initialise the netdev */
|
||||
nn = nfp_net_alloc(pdev, true, max_tx_rings, max_rx_rings);
|
||||
nn = nfp_net_alloc(pdev, ctrl_bar, true, max_tx_rings, max_rx_rings);
|
||||
if (IS_ERR(nn)) {
|
||||
err = PTR_ERR(nn);
|
||||
goto err_ctrl_unmap;
|
||||
|
@ -180,7 +180,6 @@ static int nfp_netvf_pci_probe(struct pci_dev *pdev,
|
|||
vf->nn = nn;
|
||||
|
||||
nn->fw_ver = fw_ver;
|
||||
nn->dp.ctrl_bar = ctrl_bar;
|
||||
nn->dp.is_vf = 1;
|
||||
nn->stride_tx = stride;
|
||||
nn->stride_rx = stride;
|
||||
|
|
Loading…
Reference in New Issue
Block a user