Hi Bjorn
Many thanks for your review.
On 2020/8/29 0:49, Bjorn Helgaas wrote:
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.
Will do in next patch.
Thanks,
Dongdong
[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
.