From: Robert Richter <rrichter@amd.com>
To: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Cc: Sathyanarayanan Kuppuswamy
<sathyanarayanan.kuppuswamy@linux.intel.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-cxl@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
oohall@gmail.com, Lukas Wunner <lukas@wunner.de>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Alison Schofield <alison.schofield@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Ira Weiny <ira.weiny@intel.com>,
Ben Widawsky <bwidawsk@kernel.org>,
Dan Williams <dan.j.williams@intel.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Yazen Ghannam <yazen.ghannam@amd.com>,
Terry Bowman <terry.bowman@amd.com>
Subject: Re: [PATCH 2/2] cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers
Date: Thu, 20 Jul 2023 15:07:21 +0200 [thread overview]
Message-ID: <ZLkxiZv3lWfazwVH@rric.localdomain> (raw)
In-Reply-To: <937d872d-cbc1-3671-9c3d-ddceb9cb270b@amd.com>
Smita,
On 19.07.23 15:30:25, Smita Koralahalli wrote:
> On 7/19/2023 1:39 PM, Sathyanarayanan Kuppuswamy wrote:
> >
> >
> > On 7/19/23 12:23 PM, Smita Koralahalli wrote:
> > > According to Section 9.17.2, Table 9-26 of CXL Specification [1], owner
> > > of AER should also own CXL Protocol Error Management as there is no
> > > explicit control of CXL Protocol error. And the CXL RAS Cap registers
> > > reported on Protocol errors should check for AER _OSC rather than CXL
> > > Memory Error Reporting Control _OSC.
> > >
> > > The CXL Memory Error Reporting Control _OSC specifically highlights
> > > handling Memory Error Logging and Signaling Enhancements. These kinds of
> > > errors are reported through a device's mailbox and can be managed
> > > independently from CXL Protocol Errors.
> >
> > Does it fix any issue? If yes, please include that in the commit log.
>
> Yes, this fix actually makes Protocol Error handling independent of
> Component/Memory Error handling.
>
> We observed that OS was not able to handle the protocol errors ("i.e unable
> to reference to the cxl device node") with native AER support. The reason
> being Memory/Component Error handling was under FW control.
>
> Since the RAS registers are tied to protocol errors, I think there is no
> reason that memory error reporting being in fw control or os control should
> be a roadblock in handling RAS registers or accessing the cxl device node by
> OS.
>
> >
> > Since you are removing some change, maybe it needs Fixes: tag?
>
> Missed this. Thanks!
>
> Fixes: 248529edc86f ("cxl: add RAS status unmasking for CXL")
the fix must be isolated to this patch (for automated backports) and
you need to remove the dependency to the first patch then. So swap
them and ... see below.
>
> Will include in v2.
>
> Thanks,
> Smita
>
> > >
> > > [1] Compute Express Link (CXL) Specification, Revision 3.1, Aug 1 2022.
> > >
> > > Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
> > > ---
> > > drivers/cxl/pci.c | 7 +++----
> > > 1 file changed, 3 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> > > index 1cb1494c28fe..44a21ab7add5 100644
> > > --- a/drivers/cxl/pci.c
> > > +++ b/drivers/cxl/pci.c
> > > @@ -529,7 +529,6 @@ static int cxl_pci_setup_regs(struct pci_dev *pdev, enum cxl_regloc_type type,
> > > static int cxl_pci_ras_unmask(struct pci_dev *pdev)
> > > {
> > > - struct pci_host_bridge *host_bridge = pci_find_host_bridge(pdev->bus);
> > > struct cxl_dev_state *cxlds = pci_get_drvdata(pdev);
> > > void __iomem *addr;
> > > u32 orig_val, val, mask;
> > > @@ -541,9 +540,9 @@ static int cxl_pci_ras_unmask(struct pci_dev *pdev)
> > > return 0;
> > > }
> > > - /* BIOS has CXL error control */
> > > - if (!host_bridge->native_cxl_error)
For the fix, you could replace that with:
if (!host_bridge->native_aer) ...
> > > - return -ENXIO;
> > > + /* BIOS has PCIe AER error control */
> > > + if (!pcie_aer_is_native(pdev))
> > > + return 0;
... and replace it with this function here in the patch where
pcie_aer_is_native() is exported (or in a 3rd patch).
-Robert
> > > rc = pcie_capability_read_word(pdev, PCI_EXP_DEVCTL, &cap);
> > > if (rc)
> >
>
next prev parent reply other threads:[~2023-07-20 13:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 19:23 [PATCH 0/2] PCI, AER, CXL: Fix appropriate _OSC check for CXL RAS Cap Smita Koralahalli
2023-07-19 19:23 ` [PATCH 1/2] PCI, AER: Export and make pcie_aer_is_native() global Smita Koralahalli
2023-07-19 20:36 ` Bjorn Helgaas
2023-07-19 22:06 ` Smita Koralahalli
2023-07-19 20:40 ` Sathyanarayanan Kuppuswamy
2023-07-19 19:23 ` [PATCH 2/2] cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers Smita Koralahalli
2023-07-19 20:39 ` Sathyanarayanan Kuppuswamy
2023-07-19 22:30 ` Smita Koralahalli
2023-07-20 13:07 ` Robert Richter [this message]
2023-07-20 18:31 ` Smita Koralahalli
2023-07-21 13:49 ` Robert Richter
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=ZLkxiZv3lWfazwVH@rric.localdomain \
--to=rrichter@amd.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=Smita.KoralahalliChannabasappa@amd.com \
--cc=alison.schofield@intel.com \
--cc=bhelgaas@google.com \
--cc=bwidawsk@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mahesh@linux.ibm.com \
--cc=oohall@gmail.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=terry.bowman@amd.com \
--cc=vishal.l.verma@intel.com \
--cc=yazen.ghannam@amd.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