Re: [PATCH v2 5/5] irqchip/alpine-msi: Add debug logging for MSI allocation
From: Radu Rendec
Date: Wed Nov 04 2026 - 07:04:35 EST
On Sat, 2026-10-24 at 19:36 +0000, Eliav Farber wrote:
> Add log messages to help follow the driver flow when debugging: an
> info message on successful initialisation, and debug messages on the
> MSI interrupt allocation and free paths.
>
> Signed-off-by: Eliav Farber <farbere@xxxxxxxxxx>
> ---
> v2:
> - Use %u for unsigned values (Radu).
> - Write MSI/SPI in upper case, to match patch 4.
>
> drivers/irqchip/irq-alpine-msi.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-msi.c
> index fb84b6046193..c13646c763d3 100644
> --- a/drivers/irqchip/irq-alpine-msi.c
> +++ b/drivers/irqchip/irq-alpine-msi.c
> @@ -104,6 +104,8 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain, unsigned i
> struct alpine_msix_data *priv = domain->host_data;
> int sgi, err, i;
>
> + pr_debug("trying to allocate %u MSIs starting from %u\n", nr_irqs, virq);
> +
> sgi = alpine_msix_allocate_sgi(priv, nr_irqs);
> if (sgi < 0)
> return sgi;
> @@ -116,6 +118,9 @@ static int alpine_msix_middle_domain_alloc(struct irq_domain *domain, unsigned i
> irq_domain_set_hwirq_and_chip(domain, virq + i, sgi + i,
> &middle_irq_chip, priv);
> }
> +
> + pr_debug("allocated %u MSIs starting from %u\n", nr_irqs, virq);
> +
> return 0;
>
> err_sgi:
> @@ -132,6 +137,8 @@ static void alpine_msix_middle_domain_free(struct irq_domain *domain, unsigned i
>
> irq_domain_free_irqs_parent(domain, virq, nr_irqs);
> alpine_msix_free_sgi(priv, d->hwirq, nr_irqs);
> +
> + pr_debug("freed %u MSIs starting from %u\n", nr_irqs, virq);
> }
>
> static const struct irq_domain_ops alpine_msix_middle_domain_ops = {
> @@ -235,6 +242,9 @@ static int alpine_msix_init(struct device_node *node, struct device_node *parent
> if (ret)
> return ret;
>
> + pr_info("initialized successfully, SPI %u to %u\n",
> + priv->spi_first, priv->spi_first + priv->num_spis - 1);
> +
> retain_and_null_ptr(priv);
> retain_and_null_ptr(msi_map);
> return 0;
Reviewed-by: Radu Rendec <radu@xxxxxxxxxx>