From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org, Joerg Roedel <joro@8bytes.org>,
Will Deacon <will@kernel.org>,
linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Marc Zyngier <maz@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jason Gunthorpe <jgg@mellanox.com>,
Dave Jiang <dave.jiang@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
Kevin Tian <kevin.tian@intel.com>,
Dan Williams <dan.j.williams@intel.com>,
Logan Gunthorpe <logang@deltatee.com>,
Ashok Raj <ashok.raj@intel.com>, Jon Mason <jdmason@kudzu.us>,
Allen Hubbe <allenbh@gmail.com>
Subject: [patch V2 00/21] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 2 API rework
Date: Mon, 21 Nov 2022 15:36:18 +0100 (CET) [thread overview]
Message-ID: <20221121083210.309161925@linutronix.de> (raw)
This is V2 of the second part of effort to provide support for per device
MSI interrupt domains.
Version 1 of this second part can be found here:
https://lore.kernel.org/all/20221111132706.104870257@linutronix.de
The first part is available here:
https://lore.kernel.org/all/20221111120501.026511281@linutronix.de
and has been merged into:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
This part on top of the tip irq/core branch is also available here:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-v2-part2
This part is the main preparation step for per device MSI domains:
1) Introduce irqdomain pointer storage space in device::msi::data
and related helpers.
2) Convert interfaces to handle multiple per device MSI domains
based on a domain ID
3) Provide new interfaces for allocation/free which are domain ID
based and provide range allocation/free which is a prerequisite
for post MSI-X enable alloc/free.
4) Switch all existing call sites of msi allocation/free interfaces
over to the new interfaces
5) Remove the old interfaces
Changes vs. V1:
- Split the kernel doc changes from the rename (Jason)
- Rename msi_ctrl_valid() to msi_ctrl_range_valid() (Kevin)
- Fix the off by one vs. MSI_MAX_INDEX (Kevin)
- Update changelogs and comments (Bjorn, Jason, Kevin)
- Fix the kernel robot fallout from randconfig builds
- Picked up Reviewed/Acked-by tags where appropriate
Thanks,
tglx
---
arch/x86/kernel/apic/msi.c | 5
drivers/base/platform-msi.c | 4
drivers/bus/fsl-mc/fsl-mc-msi.c | 25 -
drivers/irqchip/irq-gic.c | 4
drivers/pci/msi/irqdomain.c | 4
drivers/pci/msi/msi.c | 4
drivers/soc/ti/ti_sci_inta_msi.c | 12
include/linux/irqdomain.h | 112 ++++----
include/linux/msi.h | 125 +++++++--
include/linux/msi_api.h | 35 ++
kernel/irq/chip.c | 8
kernel/irq/msi.c | 541 +++++++++++++++++++++++++++++----------
12 files changed, 631 insertions(+), 248 deletions(-)
next reply other threads:[~2022-11-21 14:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-21 14:36 Thomas Gleixner [this message]
2022-11-21 14:36 ` [patch V2 01/21] genirq/msi: Move IRQ_DOMAIN_MSI_NOMASK_QUIRK to MSI flags Thomas Gleixner
2022-11-24 13:44 ` Marc Zyngier
2022-11-21 14:36 ` [patch V2 02/21] genirq/irqdomain: Make struct irqdomain readable Thomas Gleixner
2022-11-24 13:45 ` Marc Zyngier
2022-11-21 14:36 ` [patch V2 03/21] genirq/irqdomain: Rename irq_domain::dev to irq_domain::pm_dev Thomas Gleixner
2022-11-24 13:46 ` Marc Zyngier
2022-11-21 14:36 ` [patch V2 04/21] genirq/msi: Create msi_api.h Thomas Gleixner
2022-11-24 13:47 ` Marc Zyngier
2022-11-21 14:36 ` [patch V2 05/21] genirq/irqdomain: Provide IRQ_DOMAIN_FLAG_MSI_PARENT Thomas Gleixner
2022-11-21 14:36 ` [patch V2 06/21] genirq/irqdomain: Provide IRQ_DOMAIN_FLAG_MSI_DEVICE Thomas Gleixner
2022-11-21 14:36 ` [patch V2 07/21] genirq/msi: Check for invalid MSI parent domain usage Thomas Gleixner
2022-11-21 14:36 ` [patch V2 08/21] genirq/msi: Add pointers for per device irq domains Thomas Gleixner
2022-11-24 14:56 ` Marc Zyngier
2022-11-24 15:02 ` Thomas Gleixner
2022-11-21 14:36 ` [patch V2 09/21] genirq/msi: Make MSI descriptor iterators device domain aware Thomas Gleixner
2022-11-24 15:46 ` Marc Zyngier
2022-11-24 15:55 ` Thomas Gleixner
2022-11-21 14:36 ` [patch V2 10/21] genirq/msi: Make msi_get_virq() " Thomas Gleixner
2022-11-21 14:36 ` [patch V2 11/21] genirq/msi: Rename msi_add_msi_desc() to msi_insert_msi_desc() Thomas Gleixner
2022-11-21 14:36 ` [patch V2 12/21] genirq/msi: Make descriptor allocation device domain aware Thomas Gleixner
2022-11-21 14:36 ` [patch V2 13/21] genirq/msi: Make descriptor freeing " Thomas Gleixner
2022-11-21 14:36 ` [patch V2 14/21] genirq/msi: Make msi_add_simple_msi_descs() device " Thomas Gleixner
2022-11-21 14:36 ` [patch V2 15/21] genirq/msi: Provide new domain id based interfaces for freeing interrupts Thomas Gleixner
2022-11-21 14:36 ` [patch V2 16/21] genirq/msi: Provide new domain id allocation functions Thomas Gleixner
2022-11-21 14:36 ` [patch V2 17/21] PCI/MSI: Use msi_domain_alloc/free_irqs_all_locked() Thomas Gleixner
2022-11-21 14:36 ` [patch V2 18/21] platform-msi: Switch to the domain id aware MSI interfaces Thomas Gleixner
2022-11-21 14:36 ` [patch V2 19/21] bus: fsl-mc-msi: Switch to domain id aware interfaces Thomas Gleixner
2022-11-21 14:36 ` [patch V2 20/21] oc: ti: ti_sci_inta_msi: Switch to domain id aware MSI functions Thomas Gleixner
2022-11-21 14:36 ` [patch V2 21/21] genirq/msi: Remove unused alloc/free interfaces Thomas Gleixner
2022-11-23 2:12 ` [patch V2 00/21] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 2 API rework Tian, Kevin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221121083210.309161925@linutronix.de \
--to=tglx@linutronix.de \
--cc=alex.williamson@redhat.com \
--cc=allenbh@gmail.com \
--cc=ashok.raj@intel.com \
--cc=bhelgaas@google.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jdmason@kudzu.us \
--cc=jgg@mellanox.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=logang@deltatee.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=maz@kernel.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.