[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0fa6487e-d225-dde6-f23f-f955d87ee706@huawei.com>
Date: Wed, 9 Dec 2020 19:36:52 +0000
From: John Garry <john.garry@...wei.com>
To: Greg KH <gregkh@...uxfoundation.org>
CC: <jejb@...ux.ibm.com>, <martin.petersen@...cle.com>,
<lenb@...nel.org>, <rjw@...ysocki.net>, <tglx@...utronix.de>,
<maz@...nel.org>, <linux-scsi@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linuxarm@...wei.com>,
<linux-acpi@...r.kernel.org>, <dwagner@...e.de>
Subject: Re: [PATCH v5 4/5] Driver core: platform: Add
devm_platform_get_irqs_affinity()
On 09/12/2020 19:13, Greg KH wrote:
Hi Greg,
>> For this HW version, the device is on the system bus, directly addressable
>> by the CPU.
> What do you mean by "system bus"?
Maybe my terminology is wrong, the point is that we have a platform
device driver.
>
>> 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 serieshttps://lore.kernel.org/linux-scsi/1606905417-183214-1-git-send-email-john.garry@huawei.com/T/#m0df7e7cd6f0819b99aaeb6b7f8939ef1e17b8a83.
> Ah, I missed that, I thought that was some high-speed scsi thing, not a
> tiny platform driver...
It is actually is a high-speed SCSI thing also, SAS 3.0 :)
>
>> 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.
>
irq experts are cc'ed and have been very helpful here
So the API mushroomed a bit over time, as I realized that we need to
support tearing down the irq mapping, make as devm method, use
irq_calc_affinity_vectors(). Not sure how we could factor any of it out
to become less of your problem.
Thanks,
John
Powered by blists - more mailing lists