Messages in this thread | | | From | Stuart Yoder <> | Subject | RE: [PATCH 0/3 v6] drivers/bus: Freescale Management Complex bus driver patch series | Date | Thu, 26 Feb 2015 20:32:53 +0000 |
| |
> -----Original Message----- > From: Alexander Graf [mailto:agraf@suse.de] > Sent: Thursday, February 26, 2015 8:33 AM > To: Yoder Stuart-B08248; arnd@arndb.de > Cc: Rivera Jose-B46482; linux-kernel@vger.kernel.org; gregkh@linuxfoundation.org > Subject: Re: [PATCH 0/3 v6] drivers/bus: Freescale Management Complex bus driver patch series > > > > On 27.01.15 15:35, Stuart Yoder wrote: > > Hi Arnd/Alex, > > > > German has posted an example driver for the fsl-mc bus in his RFC > > "[RFC PATCH 1/1] drivers/bus: fsl-mc object allocator driver". > > > > In addition I have made available the skeleton for a driver for > > one of the objects/devices (crypto) that will be discovered on > > the bus: > > https://github.com/stuyoder/linux > > branch: fsl-ms-bus > > > > ...it is not functional yet, but shows how a driver registers with > > the bus, get's probed, performs initialization. > > Ok, so if I grasp this correctly the idea is that we have a driver > attaching to an individual device on the fsl-mc bus.
Yes.
> That driver then > goes and allocates / blocks more devices from that bus as it initializes.
Yes, there are certain devices/objects on the bus that by themselves are not standalone, functional devices. An example is a "buffer pool". Network interface drivers, crypto driver, decompression driver, etc need one or more hardware buffer pools. There is a buffer depletion interrupt associated with the device.
The buffer pools itself binds to a resource allocation driver in the kernel, which then can hand out buffer pools as required by other drivers.
> Is that model always possible?
Yes, why would it not be?
> Which device would a NIC bind to for > example?
Network interface / Ethernet driver requires some number of buffer pools, plus a management complex portal device (DPMCP) used for sending commands to manage the hardware.
> I merely want to make sure we're not running ourselves into a > bad corner ;).
If we are, I would like to understand it. :)
Thanks, Stuart
| |