linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: "Woods, Brian" <Brian.Woods@amd.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"x86@kernel.org" <x86@kernel.org>,
	Clemens Ladisch <clemens@ladisch.de>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>, Pu Wen <puwen@hygon.cn>,
	Jia Zhang <qianyue.zj@alibaba-inc.com>,
	Takashi Iwai <tiwai@suse.de>, Andy Whitcroft <apw@canonical.com>,
	Colin Ian King <colin.king@canonical.com>,
	Myron Stowe <myron.stowe@redhat.com>,
	Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH 2/4] x86/amd_nb: add support for newer PCI topologies
Date: Tue, 6 Nov 2018 17:20:41 -0600	[thread overview]
Message-ID: <20181106232040.GA85755@google.com> (raw)
In-Reply-To: <20181106220059.GA4139@zn.tnic>

[+cc Sumeet, Srinivas for INT3401 questions below]
[Beginning of thread:
https://lore.kernel.org/linux-pci/20181102181055.130531-1-brian.woods@amd.com/]

On Tue, Nov 06, 2018 at 11:00:59PM +0100, Borislav Petkov wrote:
> On Tue, Nov 06, 2018 at 03:42:56PM -0600, Bjorn Helgaas wrote:
> > This isn't some complicated new device where the programming model
> > changed on the new CPU.  This is a thermometer that was already
> > supported.  ACPI provides plenty of functionality that could be used
> > to support this generically, e.g., see drivers/acpi/thermal.c,
> > drivers/thermal/int340x_thermal/processor_thermal_device.c, etc.
> 
> Ok, you say ACPI but how do you envision practically doing that? I mean,
> this is used by old boxes too - ever since K8. So how do we go and add
> ACPI functionality to old boxes?
> 
> Or do you mean it should simply be converted to do pci_register_driver()
> with a struct pci_driver pointer which has all those PCI device IDs in a
> table? I'm looking at the last example
> drivers/thermal/int340x_thermal/processor_thermal_device.c you gave above.

No, there would be no need to change anything for boxes already in the
field.  But for *new* systems, you could make devices or thermal zones
in the ACPI namespace (they might even already be there for use by
Windows).

drivers/thermal/int340x_thermal/processor_thermal_device.c claims
either INT3401 ACPI devices or listed PCI devices.  It looks like it
tries the platform (INT3401) devices first, and if it finds any, it
ignores any matching PCI devices.  This *could* be so it uses INT3401
devices on new platforms and falls back to the PCI devices otherwise,
although there *are* recent updates that add PCI IDs.

It looks like INT3401 is Intel-specific since it uses a PPCC method
which isn't defined by the ACPI spec.  But AMD could define a similar
PNP ID and have new platforms expose ACPI devices with _TMP methods
that know how to read the sensor on that platform.

Or maybe even drivers/acpi/thermal.c, which claims every Thermal Zone
(ACPI 6.2, sec 11), would be sufficient.  I don't know what the
relationship between hwmon and other thermal stuff, e.g.,
Documentation/thermal/sysfs-api.txt is.  acpi/thermal.c looks tied
into the drivers/thermal stuff (it registers "thermal_zone" devices),
but not to hwmon.

> > But maybe there's some real value in the nitty-gritty device-specific
> > code in amd_nb.c.  If so, I guess you're stuck with updates like this
> > and negotiating with the distros to do backports and new releases.
> 
> Well, even if it is converted to a different registration scheme, you
> still need to add new PCI device IDs to the table, no? So *some* sort of
> enablement still needs to happen.

As long as we have a driver that knows how to claim a known PNP ID,
and every new platform exposes a device compatible with that ID, the
driver should just work.

Bjorn

  reply	other threads:[~2018-11-06 23:20 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-02 18:11 [PATCH 0/4] Update DF/SMN access and k10temp for AMD F17h M30h Woods, Brian
2018-11-02 18:11 ` [PATCH 1/4] k10temp: x86/amd_nb: consolidate shared device IDs Woods, Brian
2018-11-02 18:24   ` Guenter Roeck
2018-11-02 18:11 ` [PATCH 2/4] x86/amd_nb: add support for newer PCI topologies Woods, Brian
2018-11-02 19:59   ` Bjorn Helgaas
2018-11-02 23:29     ` Borislav Petkov
2018-11-05 21:45       ` Bjorn Helgaas
2018-11-05 21:56         ` Borislav Petkov
2018-11-06 21:42           ` Bjorn Helgaas
2018-11-06 22:00             ` Borislav Petkov
2018-11-06 23:20               ` Bjorn Helgaas [this message]
2018-11-07  9:18                 ` Borislav Petkov
2018-11-07 13:38                   ` Bjorn Helgaas
2018-11-07 16:07                     ` Borislav Petkov
2018-11-07 17:10                       ` Bjorn Helgaas
2018-11-07 17:17                         ` Borislav Petkov
2018-11-07 19:50                       ` Woods, Brian
2018-11-07 13:51                   ` Guenter Roeck
2018-11-07 17:16                     ` Bjorn Helgaas
2018-11-07 19:15                 ` Srinivas Pandruvada
2018-11-07 21:31                   ` Bjorn Helgaas
2018-11-07 22:42                     ` Srinivas Pandruvada
2018-11-07 23:14                       ` Bjorn Helgaas
2018-11-07 23:30                         ` Srinivas Pandruvada
2018-11-07 23:44                           ` Srinivas Pandruvada
2018-11-08  1:40                         ` Guenter Roeck
2018-11-08 13:59                           ` Bjorn Helgaas
2018-11-05 19:38   ` Borislav Petkov
2018-11-05 20:33     ` Woods, Brian
2018-11-05 21:42       ` Borislav Petkov
2018-11-05 23:32         ` Woods, Brian
2018-11-06  8:27           ` Borislav Petkov
2018-11-02 18:11 ` [PATCH 3/4] x86/amd_nb: add PCI device IDs for F17h M30h Woods, Brian
2018-11-02 18:11 ` [PATCH 4/4] hwmon: k10temp: add support for AMD F17h M30h CPUs Woods, Brian
2018-11-02 18:26   ` Guenter Roeck
2018-11-05 20:32   ` Borislav Petkov

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=20181106232040.GA85755@google.com \
    --to=helgaas@kernel.org \
    --cc=Brian.Woods@amd.com \
    --cc=apw@canonical.com \
    --cc=bp@alien8.de \
    --cc=clemens@ladisch.de \
    --cc=colin.king@canonical.com \
    --cc=hpa@zytor.com \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mingo@redhat.com \
    --cc=myron.stowe@redhat.com \
    --cc=puwen@hygon.cn \
    --cc=qianyue.zj@alibaba-inc.com \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=sumeet.r.pawnikar@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tiwai@suse.de \
    --cc=x86@kernel.org \
    /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).