Re: [PATCH] regmap: irq: Enable irq retriggering for nested irqs

From: Nishanth Menon
Date: Fri Feb 26 2016 - 12:06:11 EST


On 02/26/2016 09:53 AM, Grygorii Strashko wrote:
> When nested interrupts are handled with regmap irq framework, we need to
> mark the interrupts to be resend for pending interrupts on enable_irq.
> Else the events might be lost for nested irqs.
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
> ---
> drivers/base/regmap/regmap-irq.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c
> index 9b0d202..8d9004d 100644
> --- a/drivers/base/regmap/regmap-irq.c
> +++ b/drivers/base/regmap/regmap-irq.c
> @@ -379,6 +379,7 @@ static int regmap_irq_map(struct irq_domain *h, unsigned int virq,
> irq_set_chip_data(virq, data);
> irq_set_chip(virq, &data->irq_chip);
> irq_set_nested_thread(virq, 1);
> + irq_set_parent(virq, data->irq);
> irq_set_noprobe(virq);
>
> return 0;
>

This is part of the fixes seen to be needed for VBUS irq over Palmas
seen on BeagleBoard-X15.

this patch was part of an internal series which finally resolved the
crash (and associated hang) on X15 resume path.

Tested-by: Nishanth Menon <nm@xxxxxx>

--
Regards,
Nishanth Menon