Re: [PATCH v2 1/2] PCI: Add HXT vendor ID and ACS quirk

From: Yang, Shunyong
Date: Sun Feb 10 2019 - 19:53:05 EST


Hi, Bjorn,

Thank you for reminding me. I will check with our IC team for these
design issues.
Sorry for the delay as I was taking Chinese New Year holiday.

Shunyong.

On 2019/2/2 7:19, Bjorn Helgaas wrote:
> On Wed, Nov 07, 2018 at 03:24:12PM +0800, Shunyong Yang wrote:
>> Add the HXT vendor ID to pci_ids.h and use it in quirks. As the
>> design of HXT SD4800 ACS feature is the same as QCOM QDF2xxx,
>> pci_quirk_qcom_rp_acs() is reused for SD4800 quirk.
>>
>> cc: Joey Zheng <yu.zheng@xxxxxxxxxxxxxxxx>
>> Reviewed-by: Sinan Kaya <okaya@xxxxxxxxxx>
>> Signed-off-by: Shunyong Yang <shunyong.yang@xxxxxxxxxxxxxxxx>
>
> I applied both of these to pci/misc for v5.1, thanks!
>
> As I'm sure you know, both the ACS and the pciehp issues are cases where
> the part does not conform to the PCIe spec. Hopefully future parts will
> change the design so they *do* conform to the spec so we don't have to add
> quirks for every new part. Adding quirks works around the problem, but
> it's a hassle for customers (and developers and distributors) because they
> need kernel updates when they wouldn't otherwise.
>
> Bjorn
>
>> ---
>> v2:
>> Add Reviewed-by: Sinan Kaya.
>>
>> v1:
>> Initial version.
>> ---
>>
>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>> index 4700d24e5d55..1e00ef6a88f4 100644
>> --- a/drivers/pci/quirks.c
>> +++ b/drivers/pci/quirks.c
>> @@ -4495,6 +4495,8 @@ static int pci_quirk_mf_endpoint_acs(struct pci_dev *dev, u16 acs_flags)
>> /* QCOM QDF2xxx root ports */
>> { PCI_VENDOR_ID_QCOM, 0x0400, pci_quirk_qcom_rp_acs },
>> { PCI_VENDOR_ID_QCOM, 0x0401, pci_quirk_qcom_rp_acs },
>> + /* HXT SD4800 root ports. The ACS design is same as QCOM QDF2xxx */
>> + { PCI_VENDOR_ID_HXT, 0x0401, pci_quirk_qcom_rp_acs },
>> /* Intel PCH root ports */
>> { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_intel_pch_acs },
>> { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_intel_spt_pch_acs },
>> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>> index 69f0abe1ba1a..e60a6bc38298 100644
>> --- a/include/linux/pci_ids.h
>> +++ b/include/linux/pci_ids.h
>> @@ -2565,6 +2565,8 @@
>>
>> #define PCI_VENDOR_ID_HYGON 0x1d94
>>
>> +#define PCI_VENDOR_ID_HXT 0x1dbf
>> +
>> #define PCI_VENDOR_ID_TEKRAM 0x1de1
>> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
>>
>> --
>> 1.8.3.1
>>
>