]> git.ipfire.org Git - thirdparty/pciutils.git/commitdiff
lspci: Decode VF 10-Bit Tag Requester
authorDongdong Liu <liudongdong3@huawei.com>
Tue, 9 Mar 2021 13:35:18 +0000 (21:35 +0800)
committerMartin Mares <mj@ucw.cz>
Fri, 21 Jan 2022 13:03:03 +0000 (14:03 +0100)
Decode VF 10-Bit Tag Requester Supported and Enable bit
in SR-IOV Capabilities Register.

Sample output:
  IOVCap: Migration- 10BitTagReq- Interrupt Message Number: 000
  IOVCtl: Enable+ Migration- Interrupt- MSE+ ARIHierarchy- 10BitTagReq-

Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
lib/header.h
ls-ecaps.c

index d4b40aad72f5e969d24a43725179fc1578be99dc..ec1bb63d1178438b1b2022c6269a3695baf23ec9 100644 (file)
 /* Single Root I/O Virtualization */
 #define PCI_IOV_CAP            0x04    /* SR-IOV Capability Register */
 #define  PCI_IOV_CAP_VFM       0x00000001 /* VF Migration Capable */
+#define  PCI_IOV_CAP_VF_10BIT_TAG_REQ 0x00000004 /* VF 10-Bit Tag Requester Supported */
 #define  PCI_IOV_CAP_IMN(x)    ((x) >> 21) /* VF Migration Interrupt Message Number */
 #define PCI_IOV_CTRL           0x08    /* SR-IOV Control Register */
 #define  PCI_IOV_CTRL_VFE      0x0001  /* VF Enable */
 #define  PCI_IOV_CTRL_VFMIE    0x0004  /* VF Migration Interrupt Enable */
 #define  PCI_IOV_CTRL_MSE      0x0008  /* VF MSE */
 #define  PCI_IOV_CTRL_ARI      0x0010  /* ARI Capable Hierarchy */
+#define  PCI_IOV_CTRL_VF_10BIT_TAG_REQ_EN 0x0020 /* VF 10-Bit Tag Requester Enable */
 #define PCI_IOV_STATUS         0x0a    /* SR-IOV Status Register */
 #define  PCI_IOV_STATUS_MS     0x0001  /* VF Migration Status */
 #define PCI_IOV_INITIALVF      0x0c    /* Number of VFs that are initially associated */
index 99c55ff7092c8041795547cda262d576ba762084..1cea3153cdd9a4e40bc638c53ce34ee4b1497048 100644 (file)
@@ -369,13 +369,13 @@ cap_sriov(struct device *d, int where)
     return;
 
   l = get_conf_long(d, where + PCI_IOV_CAP);
-  printf("\t\tIOVCap:\tMigration%c, Interrupt Message Number: %03x\n",
-       FLAG(l, PCI_IOV_CAP_VFM), PCI_IOV_CAP_IMN(l));
+  printf("\t\tIOVCap:\tMigration%c 10BitTagReq%c Interrupt Message Number: %03x\n",
+       FLAG(l, PCI_IOV_CAP_VFM), FLAG(l, PCI_IOV_CAP_VF_10BIT_TAG_REQ), PCI_IOV_CAP_IMN(l));
   w = get_conf_word(d, where + PCI_IOV_CTRL);
-  printf("\t\tIOVCtl:\tEnable%c Migration%c Interrupt%c MSE%c ARIHierarchy%c\n",
+  printf("\t\tIOVCtl:\tEnable%c Migration%c Interrupt%c MSE%c ARIHierarchy%c 10BitTagReq%c\n",
        FLAG(w, PCI_IOV_CTRL_VFE), FLAG(w, PCI_IOV_CTRL_VFME),
        FLAG(w, PCI_IOV_CTRL_VFMIE), FLAG(w, PCI_IOV_CTRL_MSE),
-       FLAG(w, PCI_IOV_CTRL_ARI));
+       FLAG(w, PCI_IOV_CTRL_ARI), FLAG(w, PCI_IOV_CTRL_VF_10BIT_TAG_REQ_EN));
   w = get_conf_word(d, where + PCI_IOV_STATUS);
   printf("\t\tIOVSta:\tMigration%c\n", FLAG(w, PCI_IOV_STATUS_MS));
   w = get_conf_word(d, where + PCI_IOV_INITIALVF);