hs-test: adjust performace testing parameters
[vpp.git] / src / vlib / pci / pci.c
index 7e96e1f..249a26b 100644 (file)
@@ -61,6 +61,12 @@ vlib_pci_get_device_info (vlib_main_t * vm, vlib_pci_addr_t * addr,
   return 0;
 }
 
+clib_error_t *__attribute__ ((weak))
+vlib_pci_get_device_root_bus (vlib_pci_addr_t *addr, vlib_pci_addr_t *root_bus)
+{
+  return 0;
+}
+
 vlib_pci_addr_t * __attribute__ ((weak)) vlib_pci_get_all_dev_addrs ()
 {
   return 0;
@@ -88,7 +94,7 @@ show_pci_fn (vlib_main_t * vm,
                   "Product Name", "Vital Product Data");
 
   addrs = vlib_pci_get_all_dev_addrs ();
-  /* *INDENT-OFF* */
+
   vec_foreach (addr, addrs)
     {
       vlib_pci_device_info_t *d;
@@ -98,22 +104,19 @@ show_pci_fn (vlib_main_t * vm,
         continue;
 
       if (d->device_class != PCI_CLASS_NETWORK_ETHERNET && !show_all)
-        continue;
-
-        vec_reset_length (s);
-        if (d->numa_node >= 0)
-         s = format (s, "  %d", d->numa_node);
-
-        vlib_cli_output (vm, "%-13U%-5v%04x:%04x   %-14U%-16s%-32v%U",
-                        format_vlib_pci_addr, addr, s,
-                        d->vendor_id, d->device_id,
-                        format_vlib_pci_link_speed, d,
-                        d->driver_name ? (char *) d->driver_name : "",
-                        d->product_name,
-                        format_vlib_pci_vpd, d->vpd_r, (u8 *) 0);
-       vlib_pci_free_device_info (d);
+       continue;
+
+      vec_reset_length (s);
+      if (d->numa_node >= 0)
+       s = format (s, "  %d", d->numa_node);
+
+      vlib_cli_output (
+       vm, "%-13U%-5v%04x:%04x   %-14U%-16s%-32v%U", format_vlib_pci_addr,
+       addr, s, d->vendor_id, d->device_id, format_vlib_pci_link_speed, d,
+       d->driver_name ? (char *) d->driver_name : "", d->product_name,
+       format_vlib_pci_vpd, d->vpd_r, (u8 *) 0);
+      vlib_pci_free_device_info (d);
     }
-  /* *INDENT-ON* */
 
   vec_free (s);
   vec_free (addrs);
@@ -145,6 +148,19 @@ format_vlib_pci_addr (u8 * s, va_list * va)
                 addr->slot, addr->function);
 }
 
+u8 *
+format_vlib_pci_link_port (u8 *s, va_list *va)
+{
+  vlib_pci_device_info_t *d = va_arg (*va, vlib_pci_device_info_t *);
+  pcie_config_regs_t *r =
+    pci_config_find_capability (&d->config0, PCI_CAP_ID_PCIE);
+
+  if (!r)
+    return format (s, "unknown");
+
+  return format (s, "P%d", r->link_capabilities >> 24);
+}
+
 u8 *
 format_vlib_pci_link_speed (u8 * s, va_list * va)
 {