Re: Query regarding the use of pcie-designware-plat.c file

From: Vidya Sagar
Date: Mon Jun 14 2021 - 23:28:40 EST


Bjorn / Lorenzo,
Could you please comment on the options proposed by Thierry?

- Vidya Sagar

On 6/9/2021 3:19 PM, Thierry Reding wrote:
On Wed, Jun 09, 2021 at 10:56:48AM +0530, Vidya Sagar wrote:


On 6/9/2021 2:47 AM, Gustavo Pimentel wrote:
External email: Use caution opening links or attachments


Hi Vidya,

The pcie-designware-plat.c is the driver for the Synopsys PCIe RC IP
prototype.
Thanks for the info Gustavo.
But, I don't see any DT file having only "snps,dw-pcie" compatibility
string. All the DT files that have "snps,dw-pci" compatibility string also
have their platform specific compatibility string and their respective host
controller drivers. Also, it is the platform specific compatibility string
that is used for binding purpose with their respective drivers and not the
"snps,dw-pcie". So, wondering when will pcie-designware-plat.c be used as
there is not DT file which has only "snps,dw-pcie" as the compatibility
string.

Sounds to me like we have two options:

1. If there's indeed real hardware that's identified by the existing
"snps,dw-pcie" compatible string, then it's wrong for other devices
to list that in their compatible string because they are likely not
compatible with that (i.e. they might be from a register point of
view, but at least from an integration point of view they usually
differ).

2. If "snps,dw-pcie" is meant to describe the fact that these are all
based off the same IP but may be differently integrated, then there
should be no driver matching on that compatible string.

Option 2 is not very robust because somebody could easily add a matching
driver at some point in the future. Also, if we don't match on a
compatible string there's not a lot of use in listing it in DT in the
first place.

So I think option 1 would be preferred.

Thierry