From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>,
Mario.Limonciello@dell.com,
Michael Jamet <michael.jamet@intel.com>,
Yehezkel Bernat <YehezkelShB@gmail.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Lukas Wunner <lukas@wunner.de>,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v8 2/7] PCI: Introduce shpchp_is_native()
Date: Thu, 31 May 2018 09:58:52 +0300 [thread overview]
Message-ID: <20180531065852.GV15419@lahna.fi.intel.com> (raw)
In-Reply-To: <20180530202343.GO39853@bhelgaas-glaptop.roam.corp.google.com>
On Wed, May 30, 2018 at 03:23:43PM -0500, Bjorn Helgaas wrote:
> > +{
> > + const struct pci_host_bridge *host;
> > +
> > + if (!IS_ENABLED(CONFIG_HOTPLUG_PCI_SHPC))
> > + return false;
> > +
> > + if (!pci_find_capability(bridge, PCI_CAP_ID_SHPC))
> > + return false;
> > +
> > + host = pci_find_host_bridge(bridge->bus);
> > + return host->native_shpc_hotplug;
> > +}
>
> This is sort-of-but-not-exactly the same as is_shpc_capable().
>
> For PCI_DEVICE_ID_AMD_GOLAM_7450, is_shpc_capable() will return true
> and shpchp will claim the device, but shpchp_is_native() will return
> false because there's no SHPC capability.
>
> At least that's my interpretation of the AMD GOLAM stuff. I don't
> have a spec for it, but if GOLAM did have an SHPC capability, I assume
> is_shpc_capable() would look for it *before* testing for GOLAM.
Most probably it did not have SHPC capability because I find it hard to
explain the check otherwise.
> So I think these two things need to be reconciled somehow. I
> mentioned this before, but it was buried at the bottom of a long
> email, sorry about that.
No it wasn't. I read it and did exactly what you wanted. Now there is no
duplication in these two functions. is_shpc_capable() calls
acpi_get_hp_hw_control_from_firmware() which calls shpchp_is_native().
In fact I don't think is_shpc_capable() warrants to exist at all and it
should be removed (but in another separate cleanup patch).
> I wish we had a spec or details about the erratum. It looks like
> it's been there "forever": https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/drivers/pci/hotplug/shpchp.h?id=c16b4b14d9806e639f4afefa2d651a857a212afe
>
> But neither GOLAM (0x7450) nor POGO (0x7458) is in the PCI database at
> https://pci-ids.ucw.cz/read/PC/1002, so who knows if those chips ever
> even saw the light of day. I'll cc the author of
>
> 53044f357448 ("[PATCH] PCI Hotplug: shpchp: AMD POGO errata fix")
>
> But that was 12 years ago, so the email address may not even work any
> more.
Ín any case even if somehow the original patch from 2006 was wrong, I
don't have absolutely any idea why it needs to be fixed now in this
patch series? Given that there are two real fixes in this series that
fix real issues on real contemporary hardware, I don't really understand
why you are stalling them. Yes, it is good to do cleanups because it
makes the code easier to understand and thus more maintainable but
that's something typically not priorized as high as fixes for real
problems.
These fixes have been out there since february virtually unchanged, so
you would think they have had enough review already. If not please point
out what exactly I need to fix and I'll do that. Otherwise please
consider taking the series for v4.18.
next prev parent reply other threads:[~2018-05-31 6:58 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-28 12:47 [PATCH v8 0/7] PCI: Fixes and cleanups for native PCIe, SHPC and ACPI hotplug Mika Westerberg
2018-05-28 12:47 ` [PATCH v8 1/7] PCI: Take all bridges into account when calculating bus numbers for extension Mika Westerberg
2018-06-01 13:49 ` Bjorn Helgaas
2018-06-01 13:55 ` Mika Westerberg
2018-05-28 12:47 ` [PATCH v8 2/7] PCI: Introduce shpchp_is_native() Mika Westerberg
2018-05-29 9:06 ` Rafael J. Wysocki
2018-05-29 16:33 ` Andy Shevchenko
2018-05-30 20:23 ` Bjorn Helgaas
2018-05-30 21:55 ` Bjorn Helgaas
2018-05-31 6:58 ` Mika Westerberg [this message]
2018-05-31 13:12 ` Bjorn Helgaas
2018-05-31 13:51 ` Mika Westerberg
2018-05-31 16:55 ` Bjorn Helgaas
2018-06-01 9:27 ` Mika Westerberg
2018-06-01 13:25 ` Bjorn Helgaas
2018-05-28 12:47 ` [PATCH v8 3/7] PCI: Introduce hotplug_is_native() Mika Westerberg
2018-05-29 9:06 ` Rafael J. Wysocki
2018-05-29 16:34 ` Andy Shevchenko
2018-05-28 12:47 ` [PATCH v8 6/7] PCI: Move resource distribution for a single bridge outside of the loop Mika Westerberg
2018-05-29 17:24 ` Andy Shevchenko
2018-05-28 12:47 ` [PATCH v8 7/7] PCI: Document return value of pci_scan_bridge() and pci_scan_bridge_extend() Mika Westerberg
2018-05-29 17:24 ` Andy Shevchenko
2018-05-29 13:26 ` [PATCH v8 0/7] PCI: Fixes and cleanups for native PCIe, SHPC and ACPI hotplug Bjorn Helgaas
2018-05-29 13:41 ` Mika Westerberg
2018-05-29 16:01 ` [PATCH v8 4/7] ACPI/hotplug/PCI: Do not scan all bridges when native PCIe hotplug is used Mika Westerberg
2018-05-29 17:16 ` Andy Shevchenko
2018-06-01 14:11 ` Bjorn Helgaas
2018-06-01 14:24 ` Mika Westerberg
2018-06-01 18:41 ` Bjorn Helgaas
2018-06-01 19:19 ` Mika Westerberg
2018-06-01 21:50 ` Bjorn Helgaas
2018-06-01 22:09 ` Mika Westerberg
2018-06-01 21:35 ` Bjorn Helgaas
2018-06-01 21:48 ` Mika Westerberg
2018-06-02 5:46 ` Bjorn Helgaas
2018-06-02 18:44 ` Mika Westerberg
2018-05-29 16:02 ` [PATCH v8 5/7] ACPI/hotplug/PCI: Mark stale PCI devices disconnected Mika Westerberg
2018-06-02 5:50 ` [PATCH v8 0/7] PCI: Fixes and cleanups for native PCIe, SHPC and ACPI hotplug Bjorn Helgaas
2018-06-02 18:47 ` Mika Westerberg
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=20180531065852.GV15419@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=Mario.Limonciello@dell.com \
--cc=YehezkelShB@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=michael.jamet@intel.com \
--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.