nfp: move rtsym helpers to pf code
[sfrench/cifs-2.6.git] / drivers / net / ethernet / netronome / nfp / nfp_net_main.c
index 45cd2092e498a3a07d94c8103455abffc7041993..f8abb4cd9cef35574da5c8e88663684437ae4dd6 100644 (file)
@@ -101,48 +101,15 @@ nfp_net_find_port(struct nfp_eth_table *eth_tbl, unsigned int index)
        return NULL;
 }
 
-static int
-nfp_net_pf_rtsym_read_optional(struct nfp_pf *pf, const char *format,
-                              unsigned int default_val)
-{
-       char name[256];
-       int err = 0;
-       u64 val;
-
-       snprintf(name, sizeof(name), format, nfp_cppcore_pcie_unit(pf->cpp));
-
-       val = nfp_rtsym_read_le(pf->rtbl, name, &err);
-       if (err) {
-               if (err == -ENOENT)
-                       return default_val;
-               nfp_err(pf->cpp, "Unable to read symbol %s\n", name);
-               return err;
-       }
-
-       return val;
-}
-
 static int nfp_net_pf_get_num_ports(struct nfp_pf *pf)
 {
-       return nfp_net_pf_rtsym_read_optional(pf, "nfd_cfg_pf%u_num_ports", 1);
+       return nfp_pf_rtsym_read_optional(pf, "nfd_cfg_pf%u_num_ports", 1);
 }
 
 static int nfp_net_pf_get_app_id(struct nfp_pf *pf)
 {
-       return nfp_net_pf_rtsym_read_optional(pf, "_pf%u_net_app_id",
-                                             NFP_APP_CORE_NIC);
-}
-
-static u8 __iomem *
-nfp_net_pf_map_rtsym(struct nfp_pf *pf, const char *name, const char *sym_fmt,
-                    unsigned int min_size, struct nfp_cpp_area **area)
-{
-       char pf_symbol[256];
-
-       snprintf(pf_symbol, sizeof(pf_symbol), sym_fmt,
-                nfp_cppcore_pcie_unit(pf->cpp));
-
-       return nfp_rtsym_map(pf->rtbl, pf_symbol, name, min_size, area);
+       return nfp_pf_rtsym_read_optional(pf, "_pf%u_net_app_id",
+                                         NFP_APP_CORE_NIC);
 }
 
 static void nfp_net_pf_free_vnic(struct nfp_pf *pf, struct nfp_net *nn)
@@ -379,9 +346,8 @@ nfp_net_pf_app_init(struct nfp_pf *pf, u8 __iomem *qc_bar, unsigned int stride)
        if (!nfp_app_needs_ctrl_vnic(pf->app))
                return 0;
 
-       ctrl_bar = nfp_net_pf_map_rtsym(pf, "net.ctrl", "_pf%u_net_ctrl_bar",
-                                       NFP_PF_CSR_SLICE_SIZE,
-                                       &pf->ctrl_vnic_bar);
+       ctrl_bar = nfp_pf_map_rtsym(pf, "net.ctrl", "_pf%u_net_ctrl_bar",
+                                   NFP_PF_CSR_SLICE_SIZE, &pf->ctrl_vnic_bar);
        if (IS_ERR(ctrl_bar)) {
                nfp_err(pf->cpp, "Failed to find ctrl vNIC memory symbol\n");
                err = PTR_ERR(ctrl_bar);
@@ -507,8 +473,8 @@ static int nfp_net_pci_map_mem(struct nfp_pf *pf)
        int err;
 
        min_size = pf->max_data_vnics * NFP_PF_CSR_SLICE_SIZE;
-       mem = nfp_net_pf_map_rtsym(pf, "net.bar0", "_pf%d_net_bar0",
-                                  min_size, &pf->data_vnic_bar);
+       mem = nfp_pf_map_rtsym(pf, "net.bar0", "_pf%d_net_bar0",
+                              min_size, &pf->data_vnic_bar);
        if (IS_ERR(mem)) {
                nfp_err(pf->cpp, "Failed to find data vNIC memory symbol\n");
                return PTR_ERR(mem);
@@ -528,10 +494,9 @@ static int nfp_net_pci_map_mem(struct nfp_pf *pf)
                }
        }
 
-       pf->vf_cfg_mem = nfp_net_pf_map_rtsym(pf, "net.vfcfg",
-                                             "_pf%d_net_vf_bar",
-                                             NFP_NET_CFG_BAR_SZ *
-                                             pf->limit_vfs, &pf->vf_cfg_bar);
+       pf->vf_cfg_mem = nfp_pf_map_rtsym(pf, "net.vfcfg", "_pf%d_net_vf_bar",
+                                         NFP_NET_CFG_BAR_SZ * pf->limit_vfs,
+                                         &pf->vf_cfg_bar);
        if (IS_ERR(pf->vf_cfg_mem)) {
                if (PTR_ERR(pf->vf_cfg_mem) != -ENOENT) {
                        err = PTR_ERR(pf->vf_cfg_mem);
@@ -541,9 +506,9 @@ static int nfp_net_pci_map_mem(struct nfp_pf *pf)
        }
 
        min_size = NFP_NET_VF_CFG_SZ * pf->limit_vfs + NFP_NET_VF_CFG_MB_SZ;
-       pf->vfcfg_tbl2 = nfp_net_pf_map_rtsym(pf, "net.vfcfg_tbl2",
-                                             "_pf%d_net_vf_cfg2",
-                                             min_size, &pf->vfcfg_tbl2_area);
+       pf->vfcfg_tbl2 = nfp_pf_map_rtsym(pf, "net.vfcfg_tbl2",
+                                         "_pf%d_net_vf_cfg2",
+                                         min_size, &pf->vfcfg_tbl2_area);
        if (IS_ERR(pf->vfcfg_tbl2)) {
                if (PTR_ERR(pf->vfcfg_tbl2) != -ENOENT) {
                        err = PTR_ERR(pf->vfcfg_tbl2);