Skip to content
Commit f28f30c5 authored by Yoshihiro Shimoda's avatar Yoshihiro Shimoda Committed by Paul Gortmaker
Browse files

PCI: rcar: Fix missing MACCTLR register setting in initialization sequence

commit 7c7e53e1 upstream.

The R-Car Gen2/3 manual - available at:

https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rz/rzg/rzg1m.html#documents



"RZ/G Series User's Manual: Hardware" section

strictly enforces the MACCTLR inizialization value - 39.3.1 - "Initial
Setting of PCI Express":

"Be sure to write the initial value (= H'80FF 0000) to MACCTLR before
enabling PCIETCTLR.CFINIT".

To avoid unexpected behavior and to match the SW initialization sequence
guidelines, this patch programs the MACCTLR with the correct value.

Note that the MACCTLR.SPCHG bit in the MACCTLR register description
reports that "Only writing 1 is valid and writing 0 is invalid" but this
"invalid" has to be interpreted as a write-ignore aka "ignored", not
"prohibited".

Reported-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
Fixes: c25da477 ("PCI: rcar: Add Renesas R-Car PCIe driver")
Fixes: be20bbcb ("PCI: rcar: Add the initialization of PCIe link in resume_noirq()")
Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Cc: <stable@vger.kernel.org> # v5.2+
Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
parent cb5cb799
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment