On Sat, Aug 01, 2020 at 03:21:20PM +0800, Dongdong Liu wrote: > Decode 10-Bit Tag Requester Enable bit in Device Control 2 Register. > > Sample output changes: > > - DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd- > + DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled, ARIFwd- > > Signed-off-by: Dongdong Liu <liudongdong3@xxxxxxxxxx> > --- > lib/header.h | 1 + > ls-caps.c | 3 ++- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/lib/header.h b/lib/header.h > index 472816e..eaf6517 100644 > --- a/lib/header.h > +++ b/lib/header.h > @@ -898,6 +898,7 @@ > #define PCI_EXP_DEVCAP2_64BIT_ATOMICOP_COMP 0x0100 /* 64bit AtomicOp Completer Supported */ > #define PCI_EXP_DEVCAP2_128BIT_CAS_COMP 0x0200 /* 128bit CAS Completer Supported */ > #define PCI_EXP_DEV2_LTR 0x0400 /* LTR enabled */ > +#define PCI_EXP_DEV2_10BIT_TAG_REQ 0x1000 /* 10 Bit Tag Requester enabled */ Looks OK to me (but I don't maintain lspci, of course). And we have a bit of a mess in the names here. There are a bunch of "PCI_EXP_DEV2_*" names that would be "PCI_EXP_DEVCTL2_*" if they followed the convention. You didn't start that trend, so I'm just pointing it out in case you or Martin want to clean it up. When I add names I try to use the same name between the Linux kernel source [1] and lspci. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/pci_regs.h#n651 > #define PCI_EXP_DEV2_OBFF(x) (((x) >> 13) & 3) /* OBFF enabled */ > #define PCI_EXP_DEVSTA2 0x2a /* Device Status */ > #define PCI_EXP_LNKCAP2 0x2c /* Link Capabilities */ > diff --git a/ls-caps.c b/ls-caps.c > index a09b0cf..d17cbad 100644 > --- a/ls-caps.c > +++ b/ls-caps.c > @@ -1134,10 +1134,11 @@ static void cap_express_dev2(struct device *d, int where, int type) > } > > w = get_conf_word(d, where + PCI_EXP_DEVCTL2); > - printf("\t\tDevCtl2: Completion Timeout: %s, TimeoutDis%c LTR%c OBFF %s,", > + printf("\t\tDevCtl2: Completion Timeout: %s, TimeoutDis%c LTR%c 10BitTagReq%c OBFF %s,", > cap_express_dev2_timeout_value(PCI_EXP_DEV2_TIMEOUT_VALUE(w)), > FLAG(w, PCI_EXP_DEV2_TIMEOUT_DIS), > FLAG(w, PCI_EXP_DEV2_LTR), > + FLAG(w, PCI_EXP_DEV2_10BIT_TAG_REQ), > cap_express_devctl2_obff(PCI_EXP_DEV2_OBFF(w))); > if (type == PCI_EXP_TYPE_ROOT_PORT || type == PCI_EXP_TYPE_DOWNSTREAM) > printf(" ARIFwd%c\n", FLAG(w, PCI_EXP_DEV2_ARI)); > -- > 1.9.1 >