From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: okaya@codeaurora.org
Cc: linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
Michael Neuling <michael.neuling@au1.ibm.com>,
linux-pci-owner@vger.kernel.org
Subject: Re: PCIe resets/restore and lack of CRS wait
Date: Fri, 23 Mar 2018 00:46:11 +1100 [thread overview]
Message-ID: <1521726371.16434.307.camel@kernel.crashing.org> (raw)
In-Reply-To: <4d1c04efa51db50dd5095ae258c3c52b@codeaurora.org>
On Thu, 2018-03-22 at 07:25 -0400, okaya@codeaurora.org wrote:
> > > >
> >
> > That tells me that there is no guarantee by spec that we'll get
> > ffff's, instead we might get HW stalls, or other really nasty
> > effects when probing a register other than 0 (VID/DID) for CRS.
>
> AFAIK, spec also mentions that sw needs to observe 0xffffffff for all
> other registers other than vendor id during CRS period.
This isnt what's in the 3.1a spec at least ... section 2.3.2 explains
the specified behaviour which is, for any register other than 0
(VID/DID), to re-issue the request...
Now, it can have a timeout, and thus might be completed as a failed
transaction after a while, but it's a sub-optimal way (ie, we'll end up
hogging the CPU on loads) and it's not 100% clear that a failed
transaction returns as all 1's (it should but ...).
I can make sure it happens the way the code expects on powerpc, I'm not
too worried about that, but I think for such a generic function, it
would make sense to stick a bit closer to the spec.
Cheers,
Ben.
next prev parent reply other threads:[~2018-03-22 13:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-22 4:03 PCIe resets/restore and lack of CRS wait Benjamin Herrenschmidt
2018-03-22 4:36 ` okaya
2018-03-22 5:12 ` Benjamin Herrenschmidt
2018-03-22 6:24 ` Benjamin Herrenschmidt
2018-03-22 11:25 ` okaya
2018-03-22 13:46 ` Benjamin Herrenschmidt [this message]
2018-03-22 13:58 ` Sinan Kaya
2018-03-22 14:14 ` Bjorn Helgaas
2018-03-22 17:54 ` Sinan Kaya
2018-03-22 22:02 ` Benjamin Herrenschmidt
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=1521726371.16434.307.camel@kernel.crashing.org \
--to=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=linux-pci-owner@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=michael.neuling@au1.ibm.com \
--cc=okaya@codeaurora.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).