[PATCH v4 4/5] irqchip/irq-pruss-intc: Implement irq_{get,set}_irqchip_state ops

Grzegorz Jaszczyk grzegorz.jaszczyk at linaro.org
Fri Jul 31 08:28:04 EDT 2020


On Wed, 29 Jul 2020 at 21:23, David Lechner <david at lechnology.com> wrote:
>
> On 7/28/20 4:18 AM, Grzegorz Jaszczyk wrote:
> > From: David Lechner <david at lechnology.com>
> >
> > This implements the irq_get_irqchip_state and irq_set_irqchip_state
> > callbacks for the TI PRUSS INTC driver. The set callback can be used
> > by drivers to "kick" a PRU by injecting a PRU system event.
> >
> > Example:
>
> We could improve this example by showing a device tree node of a
> firmware-defined device implemented in the PRU:
>
>         /* Software-defined UART in PRU */
>         pru_uart: serial at XXXX {
>                 compatible = "ti,pru-uart";
>                 ...
>                 interrupt-parent = <&pruss_intc>;
>                 /* PRU system event 31, channel 0, host event 0 */
>                 interrupts = <31 0 0>, ...;
>                 interrupt-names = "kick", ...;
>                 ...
>         },
>
> Then driver would request the IRQ during probe:
>
>         data->kick_irq = of_irq_get_byname(dev, "kick");
>         if (data->kick_irq < 0)
>                 ...
>
>
> And later the driver would use the IRQ to kick the PRU:
>
>         irq_set_irqchip_state(data->kick_irq, IRQCHIP_STATE_PENDING, true);
>
>

We could but I am not sure if this kind of complex example should land
in the commit log.
Marc could you please comment how you want to see this?

Thank you,
Grzegorz



More information about the linux-arm-kernel mailing list