[V2,00/21] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 2 API rework

Message ID 20221121083210.309161925@linutronix.de
Headers
Series genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 2 API rework |

Message

Thomas Gleixner Nov. 21, 2022, 2:36 p.m. UTC
  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(-)
  

Comments

Tian, Kevin Nov. 23, 2022, 2:12 a.m. UTC | #1
> From: Thomas Gleixner <tglx@linutronix.de>
> Sent: Monday, November 21, 2022 10:36 PM
> 
> This is V2 of the second part of effort to provide support for per device
> MSI interrupt domains.
> 

for the entire series:

Reviewed-by: Kevin Tian <kevin.tian@intel.com>