Thread (15 messages) 15 messages, 5 authors, 2021-09-28

Re: [PATCH v3 2/5] MFD: intel_pmt: Support non-PMT capabilities

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-09-28 05:01:18
Also in: lkml, platform-driver-x86

On Mon, Sep 27, 2021 at 11:40:37AM -0700, David E. Box wrote:
On Mon, 2021-09-27 at 19:36 +0200, Greg KH wrote:
quoted
On Wed, Sep 22, 2021 at 02:30:04PM -0700, David E. Box wrote:
quoted
Intel Platform Monitoring Technology (PMT) support is indicated by presence
of an Intel defined PCIe DVSEC structure with a PMT ID. However DVSEC
structures may also be used by Intel to indicate support for other
capabilities unrelated to PMT.  OOBMSM is a device that can have both PMT
and non-PMT capabilities. In order to support these capabilities it is
necessary to modify the intel_pmt driver to handle the creation of platform
devices more generically.
I said this on your other driver submission, but why are you turning a
PCIe device into a set of platform devices and craming it into the MFD
subsystem?

PCIe devices are NOT platform devices.
But they *are* used to create platform devices when the PCIe device is multi-functional, which is
what intel_pmt is.
That is an abuse of platform devices, as that is not what they are for.
quoted
Why not use the auxiliary bus for this thing if you have individual
drivers that need to "bind" to the different attributes that this single
PCIe device is exporting.
It wasn't clear in the beginning how this would evolve. MFD made sense for the PMT (platform
monitoring technology) driver. PMT has 3 related but individually enumerable devices on the same IP,
like lpss. But the same IP is now being used for other features too like SDSi. We could work on
converting this to the auxiliary bus and then covert the cell drivers.
Please do so.
quoted
Or why not just fix the hardware to report individual PCIe devices, like
a sane system would do?
We have some systems with 1000+ PCIe devices. Each PCIe device adds cost to HW. So increasingly
VSEC/DVSEC is used to expose features which are handled by the same micro-controller in the HW.
A PCIe device is a virtual thing, what HW cost do they have?

Anyway, a platform device should NOT ever be a child of a PCI device,
that is not ok and should be fixed here please.

A platform device is just that, something that the platform provides on
a non-discoverable bus.  A PCIe device is NOT that type of device at
all and never has been.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help