RISC-V IMSIC driver improvements
Status from this message: The following commit has been merged into the irq/drivers branch of tip:
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
Earlier versions · 3
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v3 | 10 patches | 5 replies | Superseded | |
| v2 | 11 patches | 2 replies | Superseded | |
| v1 | 4 patches | 7 replies | Superseded |
Changes in v6 from the cover letter
- Rebased upon Linux-6.14-rc1
- Drop PATCH6 since it is already merged
- Update commit description of PATCH1
Patches in v6 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/10 | irqchip/riscv-imsic: Set irq_set_affinity for IMSIC basedrivers/ | +9 | 0 replies | |
| 2/10 | irqchip/irq-msi-lib: Optionally set default irq_eoi/irq_ackdrivers/ drivers/ drivers/ +4 more | +22 | 3 replies | |
| 3/10 | irqchip/riscv-imsic: Move to common MSI libdrivers/ drivers/ | +6 | 0 replies | |
| 4/10 | genirq: Introduce common irq_force_complete_move() implementationarch/ include/ kernel/ +1 more | +123 | 4 replies | |
| 5/10 | genirq: Introduce irq_can_move_in_process_context()include/ kernel/ | +13 | 0 replies | |
| 6/10 | RISC-V: Select GENERIC_PENDING_IRQarch/ | +1 | 0 replies | |
| 7/10 | irqchip/riscv-imsic: Separate next and previous pointers in IMSIC vectordrivers/ drivers/ drivers/ | +78 | 0 replies | |
| 8/10 | irqchip/riscv-imsic: Implement irq_force_complete_move() for IMSICdrivers/ drivers/ drivers/ | +50 | 0 replies | |
| 9/10 | irqchip/riscv-imsic: Replace hwirq with irq in the IMSIC vectordrivers/ drivers/ drivers/ +1 more | +9 | 0 replies | |
| 10/10 | irqchip/riscv-imsic: Special handling for non-atomic device MSI updatedrivers/ drivers/ | +98 | 0 replies |
Reviews trailers per patch
None of the 10 patches has a Reviewed-by or Acked-by.
| Patch | Frank Scheiner |
|---|---|
| 1/10 | |
| 2/10 | |
| 3/10 | |
| 4/10 | T-b |
| 5/10 | |
| 6/10 | |
| 7/10 | |
| 8/10 | |
| 9/10 | |
| 10/10 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v6 00/10] RISC-V IMSIC driver improvements
This series is based on recent discussion on LKML:
https://lore.kernel.org/lkml/[email protected]/
It primarily focuses on moving to RISC-V IMSIC driver use common MSI lib and GENERIC_PENDING_IRQ.
PATCH1 & PATCH2: Preparatory patches
PATCH3: Updates IMSIC driver to use MSI lib
PATCH4 to PATCH5: Preparatory patches for moving to GENERIC_PENDING_IRQ PATCH6 to PATCH10: Patches to use GENERIC_PENDING_IRQ in IMSIC driver
These patches can also be found in the riscv_imsic_imp_v6 branch at:
https://github.com/avpatel/linux.git
Changes since v5:
- Rebased upon Linux-6.14-rc1
- Drop PATCH6 since it is already merged
- Update commit description of PATCH1
Changes since v4:
- Updated PATCH4 with better irq_force_complete_move() implementation provided by Thomas.
Changes since v3:
- Dropped PATCH1 of v3 series and updated last patch of this series to handle the intermediate state for non-atomic MSI update.
- Added new PATCH6 in this series to remove stale kconfig option GENERIC_PENDING_IRQ_CHIPFLAGS.
Changes since v2:
- Rebased upon Linux-6.14-rc1
- Dropped PATCH5 of v2 series since that patch is already merged
Changes since v1:
- Changed series subject
- Expand this series to use GENERIC_PENDING_IRQ in IMSIC driver
Andrew Jones (1):
irqchip/riscv-imsic: Set irq_set_affinity for IMSIC base
Anup Patel (6):
genirq: Introduce irq_can_move_in_process_context()
RISC-V: Select GENERIC_PENDING_IRQ
irqchip/riscv-imsic: Separate next and previous pointers in IMSIC
vector
irqchip/riscv-imsic: Implement irq_force_complete_move() for IMSIC irqchip/riscv-imsic: Replace hwirq with irq in the IMSIC vector irqchip/riscv-imsic: Special handling for non-atomic device MSI update
Thomas Gleixner (3):
irqchip/irq-msi-lib: Optionally set default irq_eoi/irq_ack irqchip/riscv-imsic: Move to common MSI lib
genirq: Introduce common irq_force_complete_move() implementation
arch/riscv/Kconfig | 1 + arch/x86/kernel/apic/vector.c | 231 ++++++++++----------- drivers/irqchip/Kconfig | 8 +- drivers/irqchip/irq-gic-v2m.c | 1 + drivers/irqchip/irq-imx-mu-msi.c | 1 + drivers/irqchip/irq-msi-lib.c | 11 +- drivers/irqchip/irq-mvebu-gicp.c | 1 + drivers/irqchip/irq-mvebu-odmi.c | 1 + drivers/irqchip/irq-mvebu-sei.c | 1 + drivers/irqchip/irq-riscv-imsic-early.c | 14 +- drivers/irqchip/irq-riscv-imsic-platform.c | 197 +++++++++--------- drivers/irqchip/irq-riscv-imsic-state.c | 152 ++++++++++---- drivers/irqchip/irq-riscv-imsic-state.h | 12 +- include/linux/irq.h | 7 +- include/linux/msi.h | 11 + kernel/irq/internals.h | 2 + kernel/irq/migration.c | 21 ++ 17 files changed, 389 insertions(+), 283 deletions(-)
Signature · 1 line
2.43.0