Message ID | 20170509063439.GC9791@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Peter, On Tue, May 9, 2017 at 3:34 AM, Peter Senna Tschudin <peter.senna@collabora.com> wrote: > Something that ocurred to me is that u-boot is initializing the PCI, and > the PCI networkd cards. Ideally this should not affect anything, but > can this be related to the issue? Yes, in order to narrow things down: please boot 4.11 without PCI support in U-Boot. The problem is that mx6q does not have a way to properly reset the PCI block. On the board I tested there is no PCI support in U-Boot. Maybe we need the following approach in U-Boot as Lucas did for Barebox: https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896 According to this patch that went into 4.11 the bootloader must put PCI back in a safe state: https://patchwork.kernel.org/patch/9528911
On Tue, May 09, 2017 at 07:21:24AM -0300, Fabio Estevam wrote: > Hi Peter, > > On Tue, May 9, 2017 at 3:34 AM, Peter Senna Tschudin > <peter.senna@collabora.com> wrote: > > > Something that ocurred to me is that u-boot is initializing the PCI, and > > the PCI networkd cards. Ideally this should not affect anything, but > > can this be related to the issue? > > Yes, in order to narrow things down: please boot 4.11 without PCI > support in U-Boot. Yes, removing the PCI code from u-boot makes 4.11 to boot. But latest next still hangs. > > The problem is that mx6q does not have a way to properly reset the PCI block. > > On the board I tested there is no PCI support in U-Boot. > > Maybe we need the following approach in U-Boot as Lucas did for Barebox: > https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896 Maybe we do need, but the kernel is working on v4.10 for our use case, and it is not working any longer on v4.11. What is the way to continue from here? > > According to this patch that went into 4.11 the bootloader must put > PCI back in a safe state: > https://patchwork.kernel.org/patch/9528911
On Wed, May 10, 2017 at 10:17 AM, Peter Senna Tschudin <peter.senna@collabora.com> wrote: > On Tue, May 09, 2017 at 07:21:24AM -0300, Fabio Estevam wrote: >> Hi Peter, >> >> On Tue, May 9, 2017 at 3:34 AM, Peter Senna Tschudin >> <peter.senna@collabora.com> wrote: >> >> > Something that ocurred to me is that u-boot is initializing the PCI, and >> > the PCI networkd cards. Ideally this should not affect anything, but >> > can this be related to the issue? >> >> Yes, in order to narrow things down: please boot 4.11 without PCI >> support in U-Boot. > > Yes, removing the PCI code from u-boot makes 4.11 to boot. But latest > next still hangs. Ok, good. At least we see the same behaviour now. We still need a fix for the mx6q hang on systems with PCI switch for linux/next or 4.12-rc1. >> The problem is that mx6q does not have a way to properly reset the PCI block. >> >> On the board I tested there is no PCI support in U-Boot. >> >> Maybe we need the following approach in U-Boot as Lucas did for Barebox: >> https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896 > > Maybe we do need, but the kernel is working on v4.10 for our use case, > and it is not working any longer on v4.11. What is the way to continue > from here? There is no other way other than fixing U-Boot on this case.
Am Mittwoch, den 10.05.2017, 10:27 -0300 schrieb Fabio Estevam: > On Wed, May 10, 2017 at 10:17 AM, Peter Senna Tschudin > <peter.senna@collabora.com> wrote: > > On Tue, May 09, 2017 at 07:21:24AM -0300, Fabio Estevam wrote: > >> Hi Peter, > >> > >> On Tue, May 9, 2017 at 3:34 AM, Peter Senna Tschudin > >> <peter.senna@collabora.com> wrote: > >> > >> > Something that ocurred to me is that u-boot is initializing the PCI, and > >> > the PCI networkd cards. Ideally this should not affect anything, but > >> > can this be related to the issue? > >> > >> Yes, in order to narrow things down: please boot 4.11 without PCI > >> support in U-Boot. > > > > Yes, removing the PCI code from u-boot makes 4.11 to boot. But latest > > next still hangs. > > Ok, good. At least we see the same behaviour now. > > We still need a fix for the mx6q hang on systems with PCI switch for > linux/next or 4.12-rc1. I will take a look at this today. > > >> The problem is that mx6q does not have a way to properly reset the PCI block. > >> > >> On the board I tested there is no PCI support in U-Boot. > >> > >> Maybe we need the following approach in U-Boot as Lucas did for Barebox: > >> https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896 > > > > Maybe we do need, but the kernel is working on v4.10 for our use case, > > and it is not working any longer on v4.11. What is the way to continue > > from here? > > There is no other way other than fixing U-Boot on this case. You could also revert the change in the kernel if you are absolutely sure that this won't cause issues on your system (you are not using the internal watchdog etc.). But for the long run and to make sure that _all_ use-cases work properly, there is no way around fixing your bootloader to behave correctly. Regards, Lucas
On Wed, May 10, 2017 at 03:32:19PM +0200, Lucas Stach wrote: > Am Mittwoch, den 10.05.2017, 10:27 -0300 schrieb Fabio Estevam: > > On Wed, May 10, 2017 at 10:17 AM, Peter Senna Tschudin > > <peter.senna@collabora.com> wrote: > > > On Tue, May 09, 2017 at 07:21:24AM -0300, Fabio Estevam wrote: > > >> Hi Peter, > > >> > > >> On Tue, May 9, 2017 at 3:34 AM, Peter Senna Tschudin > > >> <peter.senna@collabora.com> wrote: > > >> > > >> > Something that ocurred to me is that u-boot is initializing the PCI, and > > >> > the PCI networkd cards. Ideally this should not affect anything, but > > >> > can this be related to the issue? > > >> > > >> Yes, in order to narrow things down: please boot 4.11 without PCI > > >> support in U-Boot. > > > > > > Yes, removing the PCI code from u-boot makes 4.11 to boot. But latest > > > next still hangs. > > > > Ok, good. At least we see the same behaviour now. > > > > We still need a fix for the mx6q hang on systems with PCI switch for > > linux/next or 4.12-rc1. > > I will take a look at this today. I'll be more than happy to help. Let me know if you need testing or any other thing. > > > > > >> The problem is that mx6q does not have a way to properly reset the PCI block. > > >> > > >> On the board I tested there is no PCI support in U-Boot. > > >> > > >> Maybe we need the following approach in U-Boot as Lucas did for Barebox: > > >> https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896 > > > > > > Maybe we do need, but the kernel is working on v4.10 for our use case, > > > and it is not working any longer on v4.11. What is the way to continue > > > from here? > > > > There is no other way other than fixing U-Boot on this case. > > You could also revert the change in the kernel if you are absolutely > sure that this won't cause issues on your system (you are not using the > internal watchdog etc.). > > But for the long run and to make sure that _all_ use-cases work > properly, there is no way around fixing your bootloader to behave > correctly. Thanks! > > Regards, > Lucas >
diff --git a/drivers/pci/dwc/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c index 801e46c..a562c14 100644 --- a/drivers/pci/dwc/pci-imx6.c +++ b/drivers/pci/dwc/pci-imx6.c @@ -523,6 +523,7 @@ static void imx6_pcie_host_init(struct pcie_port *pp) { struct dw_pcie *pci = to_dw_pcie_from_pp(pp); struct imx6_pcie *imx6_pcie = to_imx6_pcie(pci); + printk(KERN_ERR "DEBUG: %s\n", __func__); imx6_pcie_assert_core_reset(imx6_pcie); imx6_pcie_init_phy(imx6_pcie);