Re: [PATCH v4 1/2] dt-bindings: pci: Retrain Link to work around Gen2 training defect.

From: Rob Herring
Date: Fri Dec 11 2020 - 12:05:04 EST


On Fri, Dec 11, 2020 at 9:03 AM Nadeem Athani <nadeem@xxxxxxxxxxx> wrote:
>
> Cadence controller will not initiate autonomous speed change if strapped as
> Gen2. The Retrain Link bit is set as quirk to enable this speed change.
> Adding a quirk flag based on a new compatible string.
>
> Signed-off-by: Nadeem Athani <nadeem@xxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> index 293b8ec318bc..204d78f9efe3 100644
> --- a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> @@ -15,7 +15,9 @@ allOf:
>
> properties:
> compatible:
> - const: cdns,cdns-pcie-host
> + enum:
> + - cdns,cdns-pcie-host
> + - cdns,cdns-pcie-host-quirk-retrain

So, we'll just keep adding quirk strings on to the compatible? I don't
think so. Compatible strings should map to a specific
implementation/platform and quirks can then be implied from them. This
is the only way we can implement quirks in the OS without firmware
(DT) changes.

Rob