Subject: Re: [net-next v4 10/12] ASoC: SOF: Introduce descriptors for SOF client

From: Jason Gunthorpe <[email-masked]>
Date: Tue, 30 Jun 2020 08:32:45 -0300

On Tue, Jun 30, 2020 at 11:31:41AM +0100, Mark Brown wrote:
> On Mon, Jun 29, 2020 at 07:59:59PM -0300, Jason Gunthorpe wrote:
> > On Mon, Jun 29, 2020 at 09:33:17PM +0100, Mark Brown wrote:
> > > On Wed, May 27, 2020 at 09:17:33AM +0200, Greg KH wrote:
> 
> > > > Ok, that's good to hear.  But platform devices should never be showing
> > > > up as a child of a PCI device.  In the "near future" when we get the
> > > > virtual bus code merged, we can convert any existing users like this to
> > > > the new code.
> 
> > > What are we supposed to do with things like PCI attached FPGAs and ASICs
> > > in that case?  They can have host visible devices with physical
> > > resources like MMIO ranges and interrupts without those being split up
> > > neatly as PCI subfunctions - the original use case for MFD was such
> > > ASICs, there's a few PCI drivers in there now. 
> 
> > Greg has been pretty clear that MFD shouldn't have been used on top of
> > PCI drivers.
> 
> The proposed bus lacks resource handling, an equivalent of
> platform_get_resource() and friends for example, which would be needed
> for use with physical devices.  Both that and the name suggest that it's
> for virtual devices.

Resource handling is only useful if the HW has a hard distinction
between it's functional blocks. This scheme is intended for devices
where that doesn't exist. The driver that attaches to the PCI device
and creates the virtual devices is supposed to provide SW abstractions
for the other drivers to sit on.
 
I'm not sure why we are calling it virtual bus.

> The reason the MFDs use platform devices is that they end up having to
> have all the features of platform devices - originally people were
> making virtual buses for them but the code duplication is real so
> everyone (including Greg) decided to just use what was there already.

Maybe Greg will explain why he didn't like the earlier version of that
stuff that used MFD

Jason