Re: [PATCH V4 3/6] platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus

Lee Jones
2021-12-16T16:50:05Z

On Wed, 15 Dec 2021, David E. Box wrote:

> Intel Platform Monitoring Technology (PMT) support is indicated by presence
> of an Intel defined PCIe Designated Vendor Specific Extended Capabilities
> (DVSEC) structure with a PMT specific ID. The current MFD implementation
> creates child devices for each PMT feature, currently telemetry, watcher,
> and crashlog. However DVSEC structures may also be used by Intel to
> indicate support for other features. The Out Of Band Management Services
> Module (OOBMSM) uses DVSEC to enumerate several features, including PMT.
> In order to support them it is necessary to modify the intel_pmt driver to
> handle the creation of the child devices more generically. To that end,
> modify the driver to create child devices for any VSEC/DVSEC features on
> supported devices (indicated by PCI ID). Additionally, move the
> implementation from MFD to the Auxiliary bus. VSEC/DVSEC features are
> really multifunctional PCI devices, not platform devices as MFD was
> designed for. Auxiliary bus gives more flexibility by allowing the
> definition of custom structures that can be shared between associated
> auxiliary devices and the parent device. Also, rename the driver from
> intel_pmt to intel_vsec to better reflect the purpose.
>
> This series also removes the current runtime pm support which was not
> complete to begin with. None of the current devices require runtime pm.
> However the support will be replaced when a device is added that requires
> it.
>
> Signed-off-by: David E. Box <david.e.box@linux.intel.com>
> Reviewed-by: Mark Gross <markgross@kernel.org>
> ---
> V4
> - Add intel_vsec_extract_vsec() to combine common code and simplify
> the extended capability loops. Suggested by Andy.
> V3
> - Add comment clarifying how driver cleanup is handled without remove().
>
> V2
> - Clarify status of missing pm support in commit message.
> - Clarify why auxiliary bus is preferred in commit message.
>
> MAINTAINERS | 12 +-
> drivers/mfd/Kconfig | 10 -
> drivers/mfd/Makefile | 1 -
> drivers/mfd/intel_pmt.c | 261 -------------

Acked-by: Lee Jones <lee.jones@linaro.org>

> drivers/platform/x86/intel/Kconfig | 11 +
> drivers/platform/x86/intel/Makefile | 2 +
> drivers/platform/x86/intel/pmt/Kconfig | 4 +-
> drivers/platform/x86/intel/pmt/class.c | 21 +-
> drivers/platform/x86/intel/pmt/class.h | 5 +-
> drivers/platform/x86/intel/pmt/crashlog.c | 47 +--
> drivers/platform/x86/intel/pmt/telemetry.c | 46 +--
> drivers/platform/x86/intel/vsec.c | 405 +++++++++++++++++++++
> drivers/platform/x86/intel/vsec.h | 43 +++
> 13 files changed, 533 insertions(+), 335 deletions(-)
> delete mode 100644 drivers/mfd/intel_pmt.c
> create mode 100644 drivers/platform/x86/intel/vsec.c
> create mode 100644 drivers/platform/x86/intel/vsec.h

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog