| From | Björn Töpel <> | Subject | Re: [PATCH v12 19/25] irqchip/riscv-imsic: Add device MSI domain support for platform devices | Date | Tue, 06 Feb 2024 16:36:36 +0100 |
| |
Anup Patel <apatel@ventanamicro.com> writes:
> The Linux platform MSI support allows per-device MSI domains so let > us add a platform irqchip driver for RISC-V IMSIC which provides a > base IRQ domain with MSI parent support for platform device domains. > > This driver assumes that the IMSIC state is already initialized by > the IMSIC early driver. > > Signed-off-by: Anup Patel <apatel@ventanamicro.com>
[...]
> diff --git a/drivers/irqchip/irq-riscv-imsic-platform.c b/drivers/irqchip/irq-riscv-imsic-platform.c > new file mode 100644 > index 000000000000..65791a6b0727 > --- /dev/null > +++ b/drivers/irqchip/irq-riscv-imsic-platform.c > @@ -0,0 +1,371 @@
[...]
> +static int imsic_irq_retrigger(struct irq_data *d) > +{ > + struct imsic_vector *vec = irq_data_get_irq_chip_data(d); > + struct imsic_local_config *local; > + > + if (WARN_ON(vec == NULL)) > + return -ENOENT; > + > + local = per_cpu_ptr(imsic->global.local, vec->cpu); > + writel(vec->local_id, local->msi_va);
Change to writel_relaxed().
|