mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
Merge remote-tracking branch 'origin/irq/gic-retrigger' into irq/irqchip-next
Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
@@ -86,6 +86,18 @@ static int irq_sw_resend(struct irq_desc *desc)
|
||||
}
|
||||
#endif
|
||||
|
||||
static int try_retrigger(struct irq_desc *desc)
|
||||
{
|
||||
if (desc->irq_data.chip->irq_retrigger)
|
||||
return desc->irq_data.chip->irq_retrigger(&desc->irq_data);
|
||||
|
||||
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
|
||||
return irq_chip_retrigger_hierarchy(&desc->irq_data);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* IRQ resend
|
||||
*
|
||||
@@ -113,8 +125,7 @@ int check_irq_resend(struct irq_desc *desc, bool inject)
|
||||
|
||||
desc->istate &= ~IRQS_PENDING;
|
||||
|
||||
if (!desc->irq_data.chip->irq_retrigger ||
|
||||
!desc->irq_data.chip->irq_retrigger(&desc->irq_data))
|
||||
if (!try_retrigger(desc))
|
||||
err = irq_sw_resend(desc);
|
||||
|
||||
/* If the retrigger was successfull, mark it with the REPLAY bit */
|
||||
|
Reference in New Issue
Block a user