From: Sascha Hauer <s.hauer@pengutronix.de>
To: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: barebox@lists.infradead.org, Lucas Stach <lst@pengutronix.de>
Subject: Re: [PATCH 6/6] i.MX6: pci: Avoid aborts when asserting PCIe reset
Date: Mon, 4 Jan 2016 10:30:37 +0100 [thread overview]
Message-ID: <20160104093037.GG13058@pengutronix.de> (raw)
In-Reply-To: <1451627918-31967-6-git-send-email-andrew.smirnov@gmail.com>
The PCI patches look good to me. I'll give Lucas the change to look over
them.
Sascha
On Thu, Dec 31, 2015 at 09:58:38PM -0800, Andrey Smirnov wrote:
> When booting Barebox in the HW environment where PCIe core has been
> used but not properly shut down, writing to PCIE_PL_PFLR in
> imx6_pcie_assert_core_reset would cause data abort exception.
>
> The problem can be easily reproduced on a i.MX6 based board with PCIe
> slot populated with some device by doing:
>
> > bootm -f -e 0x1050 <your board's>.img
>
> Ignoring this exception seem to allow PCIe core to successfully
> initialize and enumerate devices properly. This is also how Linux
> Kernel version of the driver handles this situation -- it installs
> dummy no-op abort handler at the beginning of device's probing.
>
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
> drivers/pci/pci-imx6.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c
> index 713007b..3a3edd8 100644
> --- a/drivers/pci/pci-imx6.c
> +++ b/drivers/pci/pci-imx6.c
> @@ -13,6 +13,7 @@
>
> #include <common.h>
> #include <clock.h>
> +#include <abort.h>
> #include <malloc.h>
> #include <io.h>
> #include <init.h>
> @@ -237,7 +238,10 @@ static int imx6_pcie_assert_core_reset(struct pcie_port *pp)
> val = readl(pp->dbi_base + PCIE_PL_PFLR);
> val &= ~PCIE_PL_PFLR_LINK_STATE_MASK;
> val |= PCIE_PL_PFLR_FORCE_LINK;
> +
> + data_abort_mask();
> writel(val, pp->dbi_base + PCIE_PL_PFLR);
> + data_abort_unmask();
>
> gpr12 &= ~IMX6Q_GPR12_PCIE_CTL_2;
> writel(gpr12, imx6_pcie->iomuxc_gpr + IOMUXC_GPR12);
> --
> 2.5.0
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2016-01-04 9:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-01 5:58 [PATCH 1/6] ARM: asm: Add convenience fucntions to access VBAR Andrey Smirnov
2016-01-01 5:58 ` [PATCH 2/6] ARM: mmu: Add VBAR setup Andrey Smirnov
2016-01-04 9:04 ` Sascha Hauer
2016-01-01 5:58 ` [PATCH 3/6] ARM: Fix exception table setup in MMU-less mode Andrey Smirnov
2016-01-04 9:27 ` Sascha Hauer
2016-01-04 17:01 ` Andrey Smirnov
2016-01-05 7:40 ` Sascha Hauer
2016-01-01 5:58 ` [PATCH 4/6] i.MX6: pci: Replace magic number with a named constant Andrey Smirnov
2016-01-07 9:04 ` Lucas Stach
2016-01-08 7:53 ` Sascha Hauer
2016-01-01 5:58 ` [PATCH 5/6] i.MX6: pci: Reconcile imx6_pcie_start_link with the kernel code Andrey Smirnov
2016-01-07 9:08 ` Lucas Stach
2016-01-01 5:58 ` [PATCH 6/6] i.MX6: pci: Avoid aborts when asserting PCIe reset Andrey Smirnov
2016-01-04 9:30 ` Sascha Hauer [this message]
2016-01-07 9:13 ` Lucas Stach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160104093037.GG13058@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=andrew.smirnov@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=lst@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.