From: Bjorn Helgaas <helgaas@kernel.org>
To: Lukas Wunner <lukas@wunner.de>
Cc: linux-pci@vger.kernel.org,
Alex Williamson <alex.williamson@redhat.com>,
Amey Narkhede <ameynarkhede03@gmail.com>,
Keith Busch <kbusch@kernel.org>, Ashok Raj <ashok.raj@intel.com>,
Sathyanarayanan Kuppuswamy
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Ravi Kishore Koppuravuri <ravi.kishore.koppuravuri@intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>
Subject: Re: [PATCH] PCI/DPC: Add Software Trigger as reset method
Date: Tue, 6 Dec 2022 11:11:14 -0600 [thread overview]
Message-ID: <20221206171114.GA1356056@bhelgaas> (raw)
In-Reply-To: <9c1533fd42e9002bd6d2020656fa1dd0e3e3bf3a.1669706952.git.lukas@wunner.de>
Hi Lukas,
On Tue, Nov 29, 2022 at 08:35:55AM +0100, Lukas Wunner wrote:
> Add DPC Software Trigger as a reset method to be used for silicon
> validation among other things:
>
> # echo dpc_sw_trigger > reset_method
> # echo 1 > reset
>
> After validating DPC, the default reset_method(s) may be reinstated:
>
> # echo default > reset_method
>
> Writing the DPC Control Register requires that control was granted by
> firmware, so expose the reset_method only if DPC is native. (And AER,
> which must always be granted or denied in unison per PCI Firmware Spec
> r3.3 table 4-5.)
>
> The reset attribute in sysfs is meant to reset a single PCI Function,
> but DPC resets the entire hierarchy below the parent. So only expose
> the reset method on PCI Functions without siblings or children.
> Checking for that may happen both *before* the PCI Function has been
> added to the bus list (via pci_device_add() -> pci_init_capabilities())
> and *after* (via reset_method_store()), hence differentiate between
> those two cases on reset probing.
>
> It would be useful for silicon validation to have a separate sysfs
> attribute for PCI bridges to reset their downstream hierarchy. Prepare
> for introduction of such an attribute by adding separate functions
> pci_dpc_sw_trigger() (to reset the hierarchy below a bridge) and
> pci_dpc_sw_trigger_parent() (to reset a single PCI Function), where the
> latter calls the former to trigger DPC on the parent bridge.
Does this add functionality above what the "bus" method (Secondary Bus
Reset) provides? If it's effectively the same as SBR, I'm not sure
it's worth complicating the user interface just to support silicon
validation.
Bjorn
prev parent reply other threads:[~2022-12-06 17:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-29 7:35 [PATCH] PCI/DPC: Add Software Trigger as reset method Lukas Wunner
2022-11-29 13:09 ` Ashok Raj
2022-11-29 15:44 ` Mika Westerberg
2022-11-29 16:27 ` Sathyanarayanan Kuppuswamy
2022-11-30 7:37 ` Lukas Wunner
2022-11-29 16:36 ` Keith Busch
2022-11-30 7:30 ` Lukas Wunner
2022-12-06 17:11 ` Bjorn Helgaas [this message]
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=20221206171114.GA1356056@bhelgaas \
--to=helgaas@kernel.org \
--cc=alex.williamson@redhat.com \
--cc=ameynarkhede03@gmail.com \
--cc=ashok.raj@intel.com \
--cc=kbusch@kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mika.westerberg@linux.intel.com \
--cc=ravi.kishore.koppuravuri@intel.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.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