On 6/26/2018 2:25 PM, Alejandro Lucero wrote: > Getting the bar size is required for NFP CPP interface configuration. > However, this information can be obtained from the VFIO or UIO driver > instead of accessing the sysfs resource file. > > Signed-off-by: Alejandro Lucero <alejandro.luc...@netronome.com> > --- > drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 27 +++++---------------------- > 1 file changed, 5 insertions(+), 22 deletions(-) > > diff --git a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c > b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c > index 2a1ec96..b0beb8d 100644 > --- a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c > +++ b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c > @@ -762,33 +762,16 @@ struct nfp6000_area_priv { > } > > static int > -nfp6000_set_barsz(struct nfp_pcie_user *desc) > +nfp6000_set_barsz(struct rte_pci_device *dev, struct nfp_pcie_user *desc)
Need to update caller of this function. > { > - char tmp_str[80]; > - unsigned long start, end, flags, tmp; > - int i; > - FILE *fp; > - > - snprintf(tmp_str, sizeof(tmp_str), "%s/%s/resource", PCI_DEVICES, > - desc->busdev); > - > - fp = fopen(tmp_str, "r"); > - if (!fp) > - return -1; > + unsigned long tmp; > + int i = 0; > > - if (fscanf(fp, "0x%lx 0x%lx 0x%lx", &start, &end, &flags) == 0) { > - printf("error reading resource file for bar size\n"); > - fclose(fp); > - return -1; > - } > + tmp = dev->mem_resource[0].len; > > - if (fclose(fp) == -1) > - return -1; > - > - tmp = (end - start) + 1; > - i = 0; > while (tmp >>= 1) > i++; > + > desc->barsz = i; > return 0; > } >