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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/28/20 4:18 AM, Grzegorz Jaszczyk wrote:
From: David Lechner <david@xxxxxxxxxxxxxx>

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@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);


      irq_set_irqchip_state(irq, IRQCHIP_STATE_PENDING, true);

Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@xxxxxxxxxx>
Reviewed-by: Lee Jones <lee.jones@xxxxxxxxxx>
---



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux