diff mbox series

lspci: Decode 10-Bit Tag Requester Enable

Message ID 1596266480-52789-1-git-send-email-liudongdong3@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Bjorn Helgaas
Headers show
Series lspci: Decode 10-Bit Tag Requester Enable | expand

Commit Message

Dongdong Liu Aug. 1, 2020, 7:21 a.m. UTC
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@huawei.com>
---
 lib/header.h | 1 +
 ls-caps.c    | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Dongdong Liu Aug. 28, 2020, 1:01 a.m. UTC | #1
ping...

On 2020/8/1 15:21, 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@huawei.com>
> ---
>  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 */
>  #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));
>
Bjorn Helgaas Aug. 28, 2020, 4:49 p.m. UTC | #2
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@huawei.com>
> ---
>  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
>
Martin Mareš Aug. 28, 2020, 8:56 p.m. UTC | #3
Hello!

> 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.

Yes, could you please clean it up?

Otherwise it's OK.

					Martin
Dongdong Liu Aug. 29, 2020, 2:03 a.m. UTC | #4
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@huawei.com>
>> ---
>>  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
>>
>
> .
>
Dongdong Liu Aug. 29, 2020, 2:05 a.m. UTC | #5
Hi Martin, Bjorn

On 2020/8/29 4:56, Martin Mareš wrote:
> Hello!
>
>> 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.
>
> Yes, could you please clean it up?
>
> Otherwise it's OK.
>
> 					Martin

Will do in next patch.

Thanks,
Dongdong.
>
> .
>
diff mbox series

Patch

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 */
 #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));