Damien Zammit, le dim. 05 juil. 2020 11:50:12 +1000, a ecrit:
> -  if (status)
> -    /* TODO: better name for generic-to-arch-specific call */
> -    __enable_irq (line);
> -  else
> -    __disable_irq (line);
> +  if (irqtab.irqdev_ack)
> +    (*(irqtab.irqdev_ack)) (&irqtab, e->id);
> +
> +  irq_enable (irqtab.irq[e->id]);
> +

Err, no we don't necessarily want to enable the irq. In the case where
the IRQ is shared by several userland drivers, we only want to enable
the IRQ again once *all* of them have acknowledged the IRQ, otherwise we
may miss IRQs. That's also one of the points of the counting done in the
code currently in the Linux glue layer. I really think we want to keep
that counting as it is, we can for instance move it from the Linux glue
code to irq.c

Samuel

Reply via email to