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

From: Bjorn Helgaas
Date: Wed Jun 09 2021 - 12:30:15 EST


On Wed, Jun 09, 2021 at 12:52:37AM +0530, Vidya Sagar wrote:
> Hi,
> I would like to know what is the use of pcie-designware-plat.c file. This
> looks like a skeleton file and can't really work with any specific hardware
> as such.
> Some context for this mail thread is, if the config CONFIG_PCIE_DW_PLAT is
> enabled in a system where a Synopsys DesignWare IP based PCIe controller is
> present and its configuration is enabled (Ex:- Tegra194 system with
> CONFIG_PCIE_TEGRA194_HOST enabled), then, it can so happen that the probe of
> pcie-designware-plat.c called first (because all DWC based PCIe controller
> nodes have "snps,dw-pcie" compatibility string) and can crash the system.

What's the crash? If a device claims to be compatible with
"snps,dw-pcie" and pcie-designware-plat.c claims to know how to
operate "snps,dw-pcie" devices, it seems like something is wrong.

"snps,dw-pcie" is a generic device type, so pcie-designware-plat.c
might not know how to operate device-specific details of some of those
devices, but basic functionality should work and it certainly
shouldn't crash.

Bjorn