From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-arm-kernel@lists.infradead.org
Subject: Fixing PCIe issues on Armada XP
Date: Thu, 10 Apr 2014 16:06:50 -0600 [thread overview]
Message-ID: <20140410220650.GA10540@obsidianresearch.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1404102206090.28003@vroombuntu>
On Thu, Apr 10, 2014 at 10:56:00PM +0100, Neil Greatorex wrote:
> >diff --git a/arch/arm/mach-mvebu/mvebu-soc-id.c b/arch/arm/mach-mvebu/mvebu-soc-id.c
> >index f3b325f..e0a032f 100644
> >+++ b/arch/arm/mach-mvebu/mvebu-soc-id.c
> >@@ -107,7 +107,7 @@ static int __init mvebu_soc_id_init(void)
> > iounmap(pci_base);
> >
> >res_ioremap:
> >- clk_disable_unprepare(clk);
> >+// clk_disable_unprepare(clk);
> >
> >clk_err:
> > of_node_put(child);
> >
>
> That patch has fixed it for me. The PCIe card seems to be now be
> always properly detected.
Okay, that makes lots of sense to me at least.
Gregory: I have this vauge recollection it was discussed when you
wrote the mvebu_soc_id_init patch to use a __clk_is_enabled but got
shot down? Clearly this needs to be fixed.
> >In any event, turning on the clock should almost certainly be
> >accompanied by a phy reset sequence to get both link ends on the same
> >page.
> >
> >Attached is a rough, untested patch along those lines.
> >
>
> I took your attached patch and extended it a bit to print out how
> long it took. The delays also need to be much longer for me. I also
> fixed a small typo you made where the bit wasn't being set again to
> bring the link back up. I've attached the diff to your patch, as
> well as the combined patch (hope that makes sense).
Just to be clear you tried this alone without the above?
Thanks for fixing the patch, I think it also confirms the theory.
IMHO, both approaches are required.
The first prevents messing up the PEX as was left by the bootloader
The second allows the driver to startup a PEX that wasn't enabled by
the bootloader, and recover from clock gating in the kernel (eg the
modular case)
Both seem valuable..
Ideally I'd like to see the clk driver turn off the PEX PHY when it
gates the clock, but I have no great idea how to accomplish that sort
of cross register space adventure...
Thomas, if we can figure out how to properly do __clk_is_enabled I
can probably send a proper patch?
Thanks,
Jason
next prev parent reply other threads:[~2014-04-10 22:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 16:19 Fixing PCIe issues on Armada XP Thomas Petazzoni
2014-04-10 16:57 ` Jason Gunthorpe
2014-04-10 18:01 ` Thomas Petazzoni
2014-04-10 20:12 ` Jason Gunthorpe
2014-04-10 21:04 ` Thomas Petazzoni
2014-04-10 21:56 ` Neil Greatorex
2014-04-10 22:06 ` Jason Gunthorpe [this message]
2014-04-10 22:15 ` Neil Greatorex
2014-04-11 10:23 ` Thomas Petazzoni
2014-04-11 16:31 ` Jason Gunthorpe
2014-04-11 17:21 ` Matthew Minter
2014-04-11 17:29 ` Jason Gunthorpe
2014-04-18 13:02 ` Thomas Petazzoni
2014-04-22 17:34 ` Jason Gunthorpe
2014-04-18 12:58 ` Thomas Petazzoni
2014-04-22 17:56 ` Jason Gunthorpe
2014-04-10 17:10 ` Willy Tarreau
2014-04-10 18:02 ` Thomas Petazzoni
2014-04-10 23:13 ` Willy Tarreau
2014-04-10 23:40 ` Jason Gunthorpe
2014-04-11 6:23 ` Willy Tarreau
2014-04-10 18:20 ` Neil Greatorex
2014-04-10 21:07 ` Thomas Petazzoni
2014-04-11 14:32 ` Thomas Petazzoni
2014-04-11 15:57 ` Neil Greatorex
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=20140410220650.GA10540@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).