From: Bjorn Helgaas <helgaas@kernel.org>
To: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Vidya Sagar <vidyas@nvidia.com>,
bhelgaas@google.com, ruscur@russell.cc, oohall@gmail.com,
treding@nvidia.com, jonathanh@nvidia.com, mmaddireddy@nvidia.com,
kthota@nvidia.com, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, vsethi@nvidia.com,
linuxppc-dev@lists.ozlabs.org, sagar.tv@gmail.com
Subject: Re: [PATCH V1] PCI/AER: Configure ECRC only AER is native
Date: Wed, 11 Jan 2023 17:10:33 -0600 [thread overview]
Message-ID: <20230111231033.GA1714672@bhelgaas> (raw)
In-Reply-To: <a9126d49-6e98-956c-f4a3-699cc86d8b11@linux.intel.com>
On Wed, Jan 11, 2023 at 01:42:21PM -0800, Sathyanarayanan Kuppuswamy wrote:
> On 1/11/23 12:31 PM, Vidya Sagar wrote:
> > As the ECRC configuration bits are part of AER registers, configure
> > ECRC only if AER is natively owned by the kernel.
>
> ecrc command line option takes "bios/on/off" as possible options. It
> does not clarify whether "on/off" choices can only be used if AER is
> owned by OS or it can override the ownership of ECRC configuration
> similar to pcie_ports=native option. Maybe that needs to be clarified.
Good point, what do you think of an update like this:
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 6cfa6e3996cf..f7b40a439194 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4296,7 +4296,9 @@
specified, e.g., 12@pci:8086:9c22:103c:198f
for 4096-byte alignment.
ecrc= Enable/disable PCIe ECRC (transaction layer
- end-to-end CRC checking).
+ end-to-end CRC checking). Only effective
+ if OS has native AER control (either granted by
+ ACPI _OSC or forced via "pcie_ports=native").
bios: Use BIOS/firmware settings. This is the
the default.
off: Turn ECRC off
I don't know whether the "ecrc=" parameter is really needed. If we
were adding it today, I would ask "why not enable ECRC wherever it is
supported?" If there are devices where it's broken, we could always
add quirks to disable it on a case-by-case basis.
But I think the patch below is the right thing to do for now. Vidya,
did you trip over an issue because of this, e.g., a conflict between
firmware use of AER and Linux use of it? If so, maybe we could
mention a symptom on the commit log. But my guess is you probably
found this by inspection.
Bjorn
> > Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
> > ---
> > drivers/pci/pcie/aer.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> > index e2d8a74f83c3..730b47bdcdef 100644
> > --- a/drivers/pci/pcie/aer.c
> > +++ b/drivers/pci/pcie/aer.c
> > @@ -184,6 +184,9 @@ static int disable_ecrc_checking(struct pci_dev *dev)
> > */
> > void pcie_set_ecrc_checking(struct pci_dev *dev)
> > {
> > + if (!pcie_aer_is_native(dev))
> > + return;
> > +
> > switch (ecrc_policy) {
> > case ECRC_POLICY_DEFAULT:
> > return;
>
> --
> Sathyanarayanan Kuppuswamy
> Linux Kernel Developer
next prev parent reply other threads:[~2023-01-11 23:10 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-11 20:31 [PATCH V1] PCI/AER: Configure ECRC only AER is native Vidya Sagar
2023-01-11 21:42 ` Sathyanarayanan Kuppuswamy
2023-01-11 23:10 ` Bjorn Helgaas [this message]
2023-01-11 23:27 ` Sathyanarayanan Kuppuswamy
2023-01-12 3:33 ` Vidya Sagar
2023-01-12 3:48 ` Sathyanarayanan Kuppuswamy
2023-01-12 4:59 ` Vidya Sagar
2023-01-12 5:06 ` Sathyanarayanan Kuppuswamy
2023-01-12 7:12 ` Vidya Sagar
2023-01-12 18:23 ` Bjorn Helgaas
2023-01-12 7:21 ` [PATCH V2] " Vidya Sagar
2023-01-12 18:25 ` Bjorn Helgaas
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=20230111231033.GA1714672@bhelgaas \
--to=helgaas@kernel.org \
--cc=bhelgaas@google.com \
--cc=jonathanh@nvidia.com \
--cc=kthota@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mmaddireddy@nvidia.com \
--cc=oohall@gmail.com \
--cc=ruscur@russell.cc \
--cc=sagar.tv@gmail.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=treding@nvidia.com \
--cc=vidyas@nvidia.com \
--cc=vsethi@nvidia.com \
/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).