On Wed, Dec 09, 2020 at 07:04:02PM +0000, John Garry wrote:
On 09/12/2020 18:32, Greg KH wrote:
> On Wed, Dec 02, 2020 at 06:36:56PM +0800, John Garry wrote:
> > Drivers for multi-queue platform devices may also want managed interrupts
> > for handling HW queue completion interrupts, so add support.
>
Hi Greg,
> Why would a platform device want all of this? Shouldn't such a device
> be on a "real" bus instead?
For this HW version, the device is on the system bus, directly addressable
by the CPU.
What do you mean by "system bus"?
Motivation is that I wanted to switch the HW completion queues to use
managed interrupts.
Fair enough, seems like overkill for a "platform" bus though :)
> What in-kernel driver needs this complexity? I can't take new apis
> without a real user in the tree, sorry.
It's in the final patch in the series https://lore.kernel.org/linux-scsi/1606905417-183214-1-git-send-email-john.garry@xxxxxxxxxx/T/#m0df7e7cd6f0819b99aaeb6b7f8939ef1e17b8a83.
Ah, I missed that, I thought that was some high-speed scsi thing, not a
tiny platform driver...
I don't anticipate a huge number of users of this API in future, as most
multi-queue devices are PCI devices; so we could do the work of this API in
the driver itself, but the preference was not to export genirq functions
like irq_update_affinity_desc() or irq_create_affinity_masks(), and rather
have a common helper in the core platform code.
Ok, I'd like to have the irq maintainers/developers ack this before
taking it in the driver core, as someone is going to have to maintain
this crazy thing for forever if it gets merged.