Re: FAILED: patch "[PATCH] PCI: rcar: Fix missing MACCTLR register setting in" failed to apply to 4.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

2019年12月19日(木) 18:03 <gregkh@xxxxxxxxxxxxxxxxxxx>:
>
>
> The patch below does not apply to the 4.19-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@xxxxxxxxxxxxxxx>.
>
> thanks,
>
> greg k-h

This is already applied to 4.19.y tree.
    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.19.y&id=2de11b2e5dd2dce4f0f44101bb7aadb49e13de41

Best regards,
  Nobuhiro

>
> ------------------ original commit in Linus's tree ------------------
>
> From 7c7e53e1c93df14690bd12c1f84730fef927a6f1 Mon Sep 17 00:00:00 2001
> From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> Date: Tue, 5 Nov 2019 19:51:29 +0900
> Subject: [PATCH] PCI: rcar: Fix missing MACCTLR register setting in
>  initialization sequence
>
> 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: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>
> Fixes: c25da4778803 ("PCI: rcar: Add Renesas R-Car PCIe driver")
> Fixes: be20bbcb0a8c ("PCI: rcar: Add the initialization of PCIe link in resume_noirq()")
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # v5.2+
>
> diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c
> index 40d8c54a17d1..94ba4fe21923 100644
> --- a/drivers/pci/controller/pcie-rcar.c
> +++ b/drivers/pci/controller/pcie-rcar.c
> @@ -91,8 +91,11 @@
>  #define  LINK_SPEED_2_5GTS     (1 << 16)
>  #define  LINK_SPEED_5_0GTS     (2 << 16)
>  #define MACCTLR                        0x011058
> +#define  MACCTLR_NFTS_MASK     GENMASK(23, 16) /* The name is from SH7786 */
>  #define  SPEED_CHANGE          BIT(24)
>  #define  SCRAMBLE_DISABLE      BIT(27)
> +#define  LTSMDIS               BIT(31)
> +#define  MACCTLR_INIT_VAL      (LTSMDIS | MACCTLR_NFTS_MASK)
>  #define PMSR                   0x01105c
>  #define MACS2R                 0x011078
>  #define MACCGSPSETR            0x011084
> @@ -613,6 +616,8 @@ static int rcar_pcie_hw_init(struct rcar_pcie *pcie)
>         if (IS_ENABLED(CONFIG_PCI_MSI))
>                 rcar_pci_write_reg(pcie, 0x801f0000, PCIEMSITXR);
>
> +       rcar_pci_write_reg(pcie, MACCTLR_INIT_VAL, MACCTLR);
> +
>         /* Finish initialization - establish a PCI Express link */
>         rcar_pci_write_reg(pcie, CFINIT, PCIETCTLR);
>
> @@ -1235,6 +1240,7 @@ static int rcar_pcie_resume_noirq(struct device *dev)
>                 return 0;
>
>         /* Re-establish the PCIe link */
> +       rcar_pci_write_reg(pcie, MACCTLR_INIT_VAL, MACCTLR);
>         rcar_pci_write_reg(pcie, CFINIT, PCIETCTLR);
>         return rcar_pcie_wait_for_dl(pcie);
>  }
>


-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux