lkml.org 
[lkml]   [2021]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 00/37] genirq/msi, PCI/MSI: Spring cleaning - Part 2
On Sat, Nov 27, 2021 at 02:21:17AM +0100, Thomas Gleixner wrote:
> This is the second part of [PCI]MSI refactoring which aims to provide the
> ability of expanding MSI-X vectors after enabling MSI-X.
>
> The first part of this work can be found here:
>
> https://lore.kernel.org/r/20211126222700.862407977@linutronix.de
>
> This second part has the following important changes:
>
> 1) Cleanup of the MSI related data in struct device
>
> struct device contains at the moment various MSI related parts. Some
> of them (the irq domain pointer) cannot be moved out, but the rest
> can be allocated on first use. This is in preparation of adding more
> per device MSI data later on.
>
> 2) Consolidation of sysfs handling
>
> As a first step this moves the sysfs pointer from struct msi_desc
> into the new per device MSI data structure where it belongs.
>
> Later changes will cleanup this code further, but that's not possible
> at this point.
>
> 3) Store per device properties in the per device MSI data to avoid
> looking up MSI descriptors and analysing their data. Cleanup all
> related use cases.
>
> 4) Provide a function to retrieve the Linux interrupt number for a given
> MSI index similar to pci_irq_vector() and cleanup all open coded
> variants.

The msi_get_virq() sure does make a big difference.. Though it does
highlight there is some asymmetry with how platform and PCI works here
where PCI fills some 'struct msix_entry *'. Many drivers would be
quite happy to just call msi_get_virq() and avoid the extra memory, so
I think the msi_get_virq() version is good.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Thanks,
Jason

\
 
 \ /
  Last update: 2021-11-28 01:42    [W:2.926 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site