<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/base/platform-msi.c, branch v6.1.168</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.1.168</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.1.168'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-09-28T13:21:05+00:00</updated>
<entry>
<title>platform-msi: Export symbol platform_msi_create_irq_domain()</title>
<updated>2022-09-28T13:21:05+00:00</updated>
<author>
<name>Frank Li</name>
<email>Frank.Li@nxp.com</email>
</author>
<published>2022-09-22T16:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=aecd1de3b1438cc4ead086a025fb49a3a896d615'/>
<id>urn:sha1:aecd1de3b1438cc4ead086a025fb49a3a896d615</id>
<content type='text'>
Allow irqchip drivers using platform MSI to be built as modules.

Signed-off-by: Frank Li &lt;Frank.Li@nxp.com&gt;
[maz: rewrote commit message]
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20220922161246.20586-2-Frank.Li@nxp.com
</content>
</entry>
<entry>
<title>platform-msi: Simplify platform device MSI code</title>
<updated>2021-12-16T21:22:19+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-06T22:51:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a80713fea3d12344e1da18f9113c74cdb3c463f1'/>
<id>urn:sha1:a80713fea3d12344e1da18f9113c74cdb3c463f1</id>
<content type='text'>
The allocation code is overly complex. It tries to have the MSI index space
packed, which is not working when an interrupt is freed. There is no
requirement for this. The only requirement is that the MSI index is unique.

Move the MSI descriptor allocation into msi_domain_populate_irqs() and use
the Linux interrupt number as MSI index which fulfils the unique
requirement.

This requires to lock the MSI descriptors which makes the lock order
reverse to the regular MSI alloc/free functions vs. the domain
mutex. Assign a seperate lockdep class for these MSI device domains.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211206210748.956731741@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Let core code handle MSI descriptors</title>
<updated>2021-12-16T21:22:19+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-06T22:51:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=653b50c5f96918238e0b51e783b291f6e9e692f9'/>
<id>urn:sha1:653b50c5f96918238e0b51e783b291f6e9e692f9</id>
<content type='text'>
Use the core functionality for platform MSI interrupt domains. The platform
device MSI interrupt domains will be converted in a later step.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211206210748.903173257@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Use msi_desc::msi_index</title>
<updated>2021-12-16T21:16:40+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dba27c7fa36f468e7eb29b216879f8c33bf0955d'/>
<id>urn:sha1:dba27c7fa36f468e7eb29b216879f8c33bf0955d</id>
<content type='text'>
Use the common msi_index member and get rid of the pointless wrapper struct.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211210221814.413638645@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Store platform private data pointer in msi_device_data</title>
<updated>2021-12-16T21:16:39+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:19:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fc22e7dbcdb3e06a3d3ce05fc91c6a2345411f9b'/>
<id>urn:sha1:fc22e7dbcdb3e06a3d3ce05fc91c6a2345411f9b</id>
<content type='text'>
Storing the platform private data in a MSI descriptor is sloppy at
best. The data belongs to the device and not to the descriptor.
Add a pointer to struct msi_device_data and store the pointer there.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211210221814.287680528@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Rename functions and clarify comments</title>
<updated>2021-12-16T21:16:39+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9835cec6d557b0bff3d48bd91cd0484aba59386c'/>
<id>urn:sha1:9835cec6d557b0bff3d48bd91cd0484aba59386c</id>
<content type='text'>
It's hard to distinguish what platform_msi_domain_alloc() and
platform_msi_domain_alloc_irqs() are about. Make the distinction more
explicit and add comments which explain the use cases properly.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211210221814.228706214@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Let the core code handle sysfs groups</title>
<updated>2021-12-16T21:16:39+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:19:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=25ce693ef7ea766c10d2f3e5da373ca25af09196'/>
<id>urn:sha1:25ce693ef7ea766c10d2f3e5da373ca25af09196</id>
<content type='text'>
Set the domain info flag and remove the local sysfs code.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211210221814.109408832@linutronix.de

</content>
</entry>
<entry>
<title>platform-msi: Allocate MSI device data on first use</title>
<updated>2021-12-16T21:16:38+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=077aeadb6cacdee79acff3deb1b31581584fdb9c'/>
<id>urn:sha1:077aeadb6cacdee79acff3deb1b31581584fdb9c</id>
<content type='text'>
Allocate the MSI device data on first invocation of the allocation function
for platform MSI private data.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Link: https://lore.kernel.org/r/20211210221813.805529729@linutronix.de

</content>
</entry>
<entry>
<title>device: Move MSI related data into a struct</title>
<updated>2021-12-16T21:16:38+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2021-12-10T22:18:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=34fff62827b254f8a43633cc878deb04bf11297c'/>
<id>urn:sha1:34fff62827b254f8a43633cc878deb04bf11297c</id>
<content type='text'>
The only unconditional part of MSI data in struct device is the irqdomain
pointer. Everything else can be allocated on demand. Create a data
structure and move the irqdomain pointer into it. The other MSI specific
parts are going to be removed from struct device in later steps.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Tested-by: Nishanth Menon &lt;nm@ti.com&gt;
Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Link: https://lore.kernel.org/r/20211210221813.617178827@linutronix.de


</content>
</entry>
<entry>
<title>platform-msi: Add ABI to show msi_irqs of platform devices</title>
<updated>2021-08-24T07:16:20+00:00</updated>
<author>
<name>Barry Song</name>
<email>song.bao.hua@hisilicon.com</email>
</author>
<published>2021-08-13T03:56:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=00ed1401a0058e8cca4cc1b6ba14b893e5df746e'/>
<id>urn:sha1:00ed1401a0058e8cca4cc1b6ba14b893e5df746e</id>
<content type='text'>
PCI devices expose the associated MSI interrupts via sysfs, but platform
devices which utilize MSI interrupts do not. This information is important
for user space tools to optimize affinity settings.

Utilize the generic MSI sysfs facility to expose this information for
platform MSI.

Signed-off-by: Barry Song &lt;song.bao.hua@hisilicon.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20210813035628.6844-3-21cnbao@gmail.com

</content>
</entry>
</feed>
