[PATCH v2 5/5] irqchip/alpine-msi: Add debug logging for MSI allocation

Radu Rendec radu at rendec.net
Wed Nov 4 04:01:31 PST 2026


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 at amazon.com>
> ---
> 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 at rendec.net>



More information about the linux-arm-kernel mailing list