From 6efe025ce58c092e513e1f7f10556a3fa394438d Mon Sep 17 00:00:00 2001 From: Ray Kinsella Date: Tue, 2 Nov 2021 13:26:49 +0000 Subject: [PATCH] vlib: add format pci link port Added a function to nicely format pci link ports. Similar to the existing link_speed etc format functions. Type: improvement Signed-off-by: Ray Kinsella Change-Id: Ic1f104e0cb34dad274f6c959e776a32c0bab697d --- src/vlib/pci/pci.c | 13 +++++++++++++ src/vlib/pci/pci.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/vlib/pci/pci.c b/src/vlib/pci/pci.c index 1c1f4b636f5..18d93acbf08 100644 --- a/src/vlib/pci/pci.c +++ b/src/vlib/pci/pci.c @@ -142,6 +142,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_status >> 24); +} + u8 * format_vlib_pci_link_speed (u8 * s, va_list * va) { diff --git a/src/vlib/pci/pci.h b/src/vlib/pci/pci.h index 5aae597f825..01f7d5b9669 100644 --- a/src/vlib/pci/pci.h +++ b/src/vlib/pci/pci.h @@ -325,6 +325,7 @@ int vlib_pci_supports_virtual_addr_dma (vlib_main_t * vm, unformat_function_t unformat_vlib_pci_addr; format_function_t format_vlib_pci_addr; format_function_t format_vlib_pci_link_speed; +format_function_t format_vlib_pci_link_port; format_function_t format_vlib_pci_vpd; #endif /* included_vlib_pci_h */ -- 2.16.6