ACK: [PATCH] pci: maxreadreq: skip Intel video devices

ivanhu ivan.hu at canonical.com
Mon Dec 7 03:48:06 UTC 2020



On 12/1/20 2:37 AM, Alex Hung wrote:
> Intel usually, if not always, makes this register read-only.
> 
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
>  src/lib/include/fwts_pci.h      | 2 ++
>  src/pci/maxreadreq/maxreadreq.c | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/src/lib/include/fwts_pci.h b/src/lib/include/fwts_pci.h
> index 8aaa2b66..799c150a 100644
> --- a/src/lib/include/fwts_pci.h
> +++ b/src/lib/include/fwts_pci.h
> @@ -151,6 +151,8 @@
>  #define FWTS_PCI_SUBCLASS_CODE_OTHER_SYSTEM_PERIPHERAL	(0x80)
>  #define FWTS_PCI_SUBCLASS_CODE_AUDIO_DEVICE		(0x03)
>  
> +/* PCI Vendor IDs */
> +#define FWTS_PCI_INTEL_VENDOR_ID			(0x8086)
>  
>  /*
>   * PCI Express Capability Structure is defined in Section 7.8
> diff --git a/src/pci/maxreadreq/maxreadreq.c b/src/pci/maxreadreq/maxreadreq.c
> index a54a343f..9115c947 100644
> --- a/src/pci/maxreadreq/maxreadreq.c
> +++ b/src/pci/maxreadreq/maxreadreq.c
> @@ -63,6 +63,7 @@ static int maxreadreq_test1(fwts_framework *fw)
>  		int fd;
>  		ssize_t n;
>  		uint8_t offset = 0;
> +		uint16_t vendor_id;
>  
>  		if (entry->d_name[0] == '.')
>  			continue;
> @@ -97,6 +98,12 @@ static int maxreadreq_test1(fwts_framework *fw)
>  		    (config[FWTS_PCI_CONFIG_SUBCLASS] == FWTS_PCI_SUBCLASS_CODE_AUDIO_DEVICE))
>  			continue;
>  
> +		/* Ignore Intel's Video Device */
> +		vendor_id = config[FWTS_PCI_CONFIG_VENDOR_ID] + ((config[FWTS_PCI_CONFIG_VENDOR_ID  + 1]) << 8);
> +		if ((config[FWTS_PCI_CONFIG_CLASS_CODE] == FWTS_PCI_CLASS_CODE_DISPLAY_CONTROLLER) &&
> +		    (vendor_id == FWTS_PCI_INTEL_VENDOR_ID))
> +			continue;
> +
>  		/* config region too small, do next */
>  		if (n < FWTS_PCI_CONFIG_TYPE0_CAPABILITIES_POINTER)
>  			continue;
> 

Acked-by: Ivan Hu <ivan.hu at canonical.com>



More information about the fwts-devel mailing list