lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f65c6b32-7754-9880-1912-3b0b30a3d6d4@lechnology.com>
Date:   Wed, 29 Jul 2020 14:23:48 -0500
From:   David Lechner <david@...hnology.com>
To:     Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>,
        tglx@...utronix.de, jason@...edaemon.net, maz@...nel.org,
        s-anna@...com
Cc:     robh+dt@...nel.org, lee.jones@...aro.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-omap@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        wmills@...com, praneeth@...com
Subject: Re: [PATCH v4 4/5] irqchip/irq-pruss-intc: Implement
 irq_{get,set}_irqchip_state ops

On 7/28/20 4:18 AM, Grzegorz Jaszczyk wrote:
> From: David Lechner <david@...hnology.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@...X {
		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@...hnology.com>
> Signed-off-by: Suman Anna <s-anna@...com>
> Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
> Reviewed-by: Lee Jones <lee.jones@...aro.org>
> ---

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ