[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0e6f5671-1d24-c43f-828a-4002562ec4ef@nvidia.com>
Date: Thu, 27 May 2021 17:19:02 +0530
From: Vidya Sagar <vidyas@...dia.com>
To: Krzysztof Wilczyński <kw@...ux.com>,
Shradha Todi <shradha.t@...sung.com>
CC: <linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<jingoohan1@...il.com>, <gustavo.pimentel@...opsys.com>,
<lorenzo.pieralisi@....com>, <robh@...nel.org>,
<bhelgaas@...gle.com>, <pankaj.dubey@...sung.com>,
<p.rajanbabu@...sung.com>, <hari.tv@...sung.com>,
<niyas.ahmed@...sung.com>, <l.mehra@...sung.com>
Subject: Re: [PATCH 1/3] PCI: dwc: Add support for vendor specific capability
search
On 5/22/2021 5:01 AM, Krzysztof Wilczyński wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Shradha,
>
> [...]
>> +u16 dw_pcie_find_vsec_capability(struct dw_pcie *pci, u8 vsec_cap)
>> +{
>> + u16 vsec = 0;
>> + u32 header;
>> +
>> + while ((vsec = dw_pcie_find_next_ext_capability(pci, vsec,
>> + PCI_EXT_CAP_ID_VNDR))) {
>> + header = dw_pcie_readl_dbi(pci, vsec + PCI_VNDR_HEADER);
>> + if (PCI_VNDR_HEADER_ID(header) == vsec_cap)
>> + return vsec;
>> + }
>> +
>> + return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(dw_pcie_find_vsec_capability);
>
> A small question as I am curious: why not use pci_find_vsec_capability()
> here? The implementation looks very similar, which is why I am asking,
> but it might be that I am missing something, and for that I apologise in
> advance.
pci_find_vsec_capability() expects struct pci_dev * which we get only
after enumeration is done. In the current scenario, we are still in
pre-link up phase and don't have struct pci_dev * yet, hence this
implementation, right Shradha??
>
> Krzysztof
>
Powered by blists - more mailing lists