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

David Lechner david at lechnology.com
Fri Jul 31 11:59:13 EDT 2020


On 7/31/20 7:28 AM, Grzegorz Jaszczyk wrote:
> 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
> 

Based on the discussion in the device tree binding patch, the expanded
example I gave is incorrect, so we can just drop it.



More information about the linux-arm-kernel mailing list