[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fe9a5191e401b38325aaff11365b5970034d26cc.camel@intel.com>
Date: Thu, 15 Jul 2021 17:33:34 +0000
From: "Winiarska, Iwona" <iwona.winiarska@...el.com>
To: "Williams, Dan J" <dan.j.williams@...el.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"openbmc@...ts.ozlabs.org" <openbmc@...ts.ozlabs.org>
CC: "corbet@....net" <corbet@....net>,
"jae.hyun.yoo@...ux.intel.com" <jae.hyun.yoo@...ux.intel.com>,
"Lutomirski, Andy" <luto@...nel.org>,
"linux-hwmon@...r.kernel.org" <linux-hwmon@...r.kernel.org>,
"Luck, Tony" <tony.luck@...el.com>,
"andrew@...id.au" <andrew@...id.au>,
"mchehab@...nel.org" <mchehab@...nel.org>,
"jdelvare@...e.com" <jdelvare@...e.com>,
"mingo@...hat.com" <mingo@...hat.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"linux@...ck-us.net" <linux@...ck-us.net>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-aspeed@...ts.ozlabs.org" <linux-aspeed@...ts.ozlabs.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"yazen.ghannam@....com" <yazen.ghannam@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"joel@....id.au" <joel@....id.au>,
"pierre-louis.bossart@...ux.intel.com"
<pierre-louis.bossart@...ux.intel.com>,
"andriy.shevchenko@...ux.intel.com"
<andriy.shevchenko@...ux.intel.com>,
"x86@...nel.org" <x86@...nel.org>, "bp@...en8.de" <bp@...en8.de>
Subject: Re: [PATCH 00/14] Introduce PECI subsystem
On Wed, 2021-07-14 at 16:51 +0000, Williams, Dan J wrote:
> On Tue, 2021-07-13 at 00:04 +0200, Iwona Winiarska wrote:
> > Note: All changes to arch/x86 are contained within patches 01-02.
>
> Hi Iwona,
>
> One meta question first, who is this submission "To:"? Is there an
> existing upstream maintainer path for OpenBMC changes? Are you
> expecting contributions to this subsystem from others? While Greg
> sometimes ends up as default maintainer for new stuff, I wonder if
> someone from the OpenBMC commnuity should step up to fill this role?
>
The intention was to direct it to Greg, but I guess I didn't express
that through the mail headers.
I am expecting contributions - for example there is at least one other
major BMC vendor which also ships PECI controllers.
From my perspective, the pieces that make up a BMC are pretty loosely
connected (at least from the kernel perspective - scattered all over
the kernel tree), so I don't see how that would work in practice.
Thanks
-Iwona
> >
> > The Platform Environment Control Interface (PECI) is a communication
> > interface between Intel processors and management controllers (e.g.
> > Baseboard Management Controller, BMC).
> >
> > This series adds a PECI subsystem and introduces drivers which run in
> > the Linux instance on the management controller (not the main Intel
> > processor) and is intended to be used by the OpenBMC [1], a Linux
> > distribution for BMC devices.
> > The information exposed over PECI (like processor and DIMM
> > temperature) refers to the Intel processor and can be consumed by
> > daemons running on the BMC to, for example, display the processor
> > temperature in its web interface.
> >
> > The PECI bus is collection of code that provides interface support
> > between PECI devices (that actually represent processors) and PECI
> > controllers (such as the "peci-aspeed" controller) that allow to
> > access physical PECI interface. PECI devices are bound to PECI
> > drivers that provides access to PECI services. This series introduces
> > a generic "peci-cpu" driver that exposes hardware monitoring
> > "cputemp"
> > and "dimmtemp" using the auxiliary bus.
> >
> > Exposing "raw" PECI to userspace, either to write userspace drivers
> > or
> > for debug/testing purpose was left out of this series to encourage
> > writing kernel drivers instead, but may be pursued in the future.
> >
> > Introducing PECI to upstream Linux was already attempted before [2].
> > Since it's been over a year since last revision, and the series
> > changed quite a bit in the meantime, I've decided to start from v1.
> >
> > I would also like to give credit to everyone who helped me with
> > different aspects of preliminary review:
> > - Pierre-Louis Bossart,
> > - Tony Luck,
> > - Andy Shevchenko,
> > - Dave Hansen.
> >
> > [1] https://github.com/openbmc/openbmc
> > [2]
> > https://lore.kernel.org/openbmc/20191211194624.2872-1-jae.hyun.yoo@linux.intel.com/
> >
> > Iwona Winiarska (12):
> > x86/cpu: Move intel-family to arch-independent headers
> > x86/cpu: Extract cpuid helpers to arch-independent
> > dt-bindings: Add generic bindings for PECI
> > dt-bindings: Add bindings for peci-aspeed
> > ARM: dts: aspeed: Add PECI controller nodes
> > peci: Add core infrastructure
> > peci: Add device detection
> > peci: Add support for PECI device drivers
> > peci: Add peci-cpu driver
> > hwmon: peci: Add cputemp driver
> > hwmon: peci: Add dimmtemp driver
> > docs: Add PECI documentation
> >
> > Jae Hyun Yoo (2):
> > peci: Add peci-aspeed controller driver
> > docs: hwmon: Document PECI drivers
> >
> > .../devicetree/bindings/peci/peci-aspeed.yaml | 111 ++++
> > .../bindings/peci/peci-controller.yaml | 28 +
> > Documentation/hwmon/index.rst | 2 +
> > Documentation/hwmon/peci-cputemp.rst | 93 ++++
> > Documentation/hwmon/peci-dimmtemp.rst | 58 ++
> > Documentation/index.rst | 1 +
> > Documentation/peci/index.rst | 16 +
> > Documentation/peci/peci.rst | 48 ++
> > MAINTAINERS | 32 ++
> > arch/arm/boot/dts/aspeed-g4.dtsi | 14 +
> > arch/arm/boot/dts/aspeed-g5.dtsi | 14 +
> > arch/arm/boot/dts/aspeed-g6.dtsi | 14 +
> > arch/x86/Kconfig | 1 +
> > arch/x86/include/asm/cpu.h | 3 -
> > arch/x86/include/asm/intel-family.h | 141 +----
> > arch/x86/include/asm/microcode.h | 2 +-
> > arch/x86/kvm/cpuid.h | 3 +-
> > arch/x86/lib/Makefile | 2 +-
> > drivers/Kconfig | 3 +
> > drivers/Makefile | 1 +
> > drivers/edac/mce_amd.c | 3 +-
> > drivers/hwmon/Kconfig | 2 +
> > drivers/hwmon/Makefile | 1 +
> > drivers/hwmon/peci/Kconfig | 31 ++
> > drivers/hwmon/peci/Makefile | 7 +
> > drivers/hwmon/peci/common.h | 46 ++
> > drivers/hwmon/peci/cputemp.c | 503
> > +++++++++++++++++
> > drivers/hwmon/peci/dimmtemp.c | 508
> > ++++++++++++++++++
> > drivers/peci/Kconfig | 36 ++
> > drivers/peci/Makefile | 10 +
> > drivers/peci/controller/Kconfig | 12 +
> > drivers/peci/controller/Makefile | 3 +
> > drivers/peci/controller/peci-aspeed.c | 501
> > +++++++++++++++++
> > drivers/peci/core.c | 224 ++++++++
> > drivers/peci/cpu.c | 347 ++++++++++++
> > drivers/peci/device.c | 211 ++++++++
> > drivers/peci/internal.h | 137 +++++
> > drivers/peci/request.c | 502
> > +++++++++++++++++
> > drivers/peci/sysfs.c | 82 +++
> > include/linux/peci-cpu.h | 38 ++
> > include/linux/peci.h | 93 ++++
> > include/linux/x86/cpu.h | 9 +
> > include/linux/x86/intel-family.h | 146 +++++
> > lib/Kconfig | 5 +
> > lib/Makefile | 2 +
> > lib/x86/Makefile | 3 +
> > {arch/x86/lib => lib/x86}/cpu.c | 2 +-
> > 47 files changed, 3902 insertions(+), 149 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/peci/peci-
> > aspeed.yaml
> > create mode 100644 Documentation/devicetree/bindings/peci/peci-
> > controller.yaml
> > create mode 100644 Documentation/hwmon/peci-cputemp.rst
> > create mode 100644 Documentation/hwmon/peci-dimmtemp.rst
> > create mode 100644 Documentation/peci/index.rst
> > create mode 100644 Documentation/peci/peci.rst
> > create mode 100644 drivers/hwmon/peci/Kconfig
> > create mode 100644 drivers/hwmon/peci/Makefile
> > create mode 100644 drivers/hwmon/peci/common.h
> > create mode 100644 drivers/hwmon/peci/cputemp.c
> > create mode 100644 drivers/hwmon/peci/dimmtemp.c
> > create mode 100644 drivers/peci/Kconfig
> > create mode 100644 drivers/peci/Makefile
> > create mode 100644 drivers/peci/controller/Kconfig
> > create mode 100644 drivers/peci/controller/Makefile
> > create mode 100644 drivers/peci/controller/peci-aspeed.c
> > create mode 100644 drivers/peci/core.c
> > create mode 100644 drivers/peci/cpu.c
> > create mode 100644 drivers/peci/device.c
> > create mode 100644 drivers/peci/internal.h
> > create mode 100644 drivers/peci/request.c
> > create mode 100644 drivers/peci/sysfs.c
> > create mode 100644 include/linux/peci-cpu.h
> > create mode 100644 include/linux/peci.h
> > create mode 100644 include/linux/x86/cpu.h
> > create mode 100644 include/linux/x86/intel-family.h
> > create mode 100644 lib/x86/Makefile
> > rename {arch/x86/lib => lib/x86}/cpu.c (95%)
> >
>
Powered by blists - more mailing lists