All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Keith Busch <keith.busch@intel.com>
Cc: Linux PCI <linux-pci@vger.kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Oza Pawandeep <poza@codeaurora.org>,
	Sinan Kaya <okaya@codeaurora.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCHv2 1/7] PCI/DPC: Enable ERR_COR
Date: Tue, 3 Apr 2018 09:16:46 -0500	[thread overview]
Message-ID: <20180403141646.GC60020@bhelgaas-glaptop.roam.corp.google.com> (raw)
In-Reply-To: <20180402230949.GA4485@localhost.localdomain>

[+cc Rafael, linux-acpi]

On Mon, Apr 02, 2018 at 05:09:49PM -0600, Keith Busch wrote:
> On Mon, Apr 02, 2018 at 04:23:02PM -0500, Bjorn Helgaas wrote:
> > On Mon, Apr 02, 2018 at 10:21:57AM -0600, Keith Busch wrote:
> > > A DPC port may be configured to send ERR_COR message when the
> > > triggered. This patch enables this feature so additional notification
> > > of the event is possible.
> > 
> > Who is the intended consumer of the ERR_COR message?  I guess if the
> > root port supports AER, we'll see AER logging when we didn't before?
> > Is that what you mean by "additional notification"?
> > 
> > Or, since the DPC ERR_COR implementation note (sec 6.2.10.2) suggests
> > that ERR_COR is primarily intended for use by platform firmware, does
> > this change enable notification via the firmware?  If so, how does
> > that work?  Does it require the platform to retain control of AER so
> > it can see these events?  But if the platform retains AER control, I
> > don't think we'd be enabling DPC in Linux.  I'm confused.
> > 
> > The similar implementation note in 6.2.10.5 suggests that
> > DL_ACTIVE_ERR_COR is also intended for use by the platform.  Should we
> > be setting that for the same reason we're setting
> > PCI_EXP_DPC_CTL_ERR_COR?
> 
> I think there are various ways this could play out. I added this to
> the series per a request for future use, but I actually don't have an
> environment where I could test as intended. As I understand, it was
> for platform firmware that may own the root port, but not switches in
> an external enclosure, so the OS would own the DPC control. The ERR_COR
> is to notify firmware so it may note an event in a platform log.

This picture doesn't make sense to me yet.  Per the PCI Firmware spec,
r3.2, sec 4.5.2, we use _OSC to negotiate control over AER (and now
DPC).  I think _OSC is only allowed directly under a host bridge
device (PNP0A08 or PNP0A03), and it applies to the entire hierarchy
under the host bridge.

I don't know how firmware could claim to own AER on a root port, but
not on switches (external or otherwise) below that root port.

If _OSC says firmware owns AER, we won't touch AER on the root port,
but we also won't touch DPC on switches below the root port.  So I
don't see how this change will help.

> I think you bring up a good point on DL_Active.
> 
> This should be harmless even if there are no consumers for the message,
> or if the OS owns the root port AER control. But I'm totally fine
> with dropping this one in the series, and it's not related to the rest
> anyway. I think I at least need to circle back with platform makers and
> really test the feature on capable hardware.

  reply	other threads:[~2018-04-03 14:16 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-02 16:21 [PATCHv2 0/7] DPC updates Keith Busch
2018-04-02 16:21 ` [PATCHv2 1/7] PCI/DPC: Enable ERR_COR Keith Busch
2018-04-02 21:23   ` Bjorn Helgaas
2018-04-02 23:09     ` Keith Busch
2018-04-03 14:16       ` Bjorn Helgaas [this message]
2018-04-03 14:31         ` Rafael J. Wysocki
2018-04-03 14:37           ` Keith Busch
2018-04-02 16:21 ` [PATCHv2 2/7] PCI/DPC: Fix PCI legacy interrupt acknowledgement Keith Busch
2018-04-03 20:38   ` Bjorn Helgaas
2018-04-03 23:04     ` Bjorn Helgaas
2018-04-04  8:13       ` Thomas Gleixner
2018-04-04  8:38         ` Lukas Wunner
2018-04-26  5:33     ` poza
2018-05-16 15:16     ` Timur Tabi
2018-05-16 21:04       ` Bjorn Helgaas
2018-04-02 16:21 ` [PATCHv2 3/7] PCI/DPC: Leave interrupts enabled while handling event Keith Busch
2018-04-02 16:22 ` [PATCHv2 4/7] PCI/DPC: Defer event handling to work queue Keith Busch
2018-04-02 16:22 ` [PATCHv2 5/7] PCI/DPC: Remove rp_pio_status from dpc struct Keith Busch
2018-04-02 16:22 ` [PATCHv2 6/7] PCI/AER: API for obtaining AER information Keith Busch
2018-04-09 10:03   ` David Laight
2018-04-09 14:37     ` Keith Busch
2018-04-02 16:22 ` [PATCHv2 7/7] PCI/DPC: Print AER status in DPC event handling Keith Busch
2018-05-17 15:02   ` poza
2018-05-17 15:04     ` poza
2018-06-19 21:31 ` [PATCHv2 0/7] DPC updates 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=20180403141646.GC60020@bhelgaas-glaptop.roam.corp.google.com \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=keith.busch@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=okaya@codeaurora.org \
    --cc=poza@codeaurora.org \
    --cc=rjw@rjwysocki.net \
    /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.