[Xenomai] [I-PIPE] [Patch] IRQ pipelining support for GICv3

Jan Kiszka jan.kiszka at siemens.com
Tue Oct 10 16:08:50 CEST 2017


Hi Christoph,

On 2017-10-10 12:59, Christoph Müllner wrote:
> Hi Dmitry,
> 
> thanks for the hint.
> I've attached a new version of the patch including the I-pipe locking and
> the forwarding calls for locking/unlocking the IRQ in case of masking/unmasking.
> 

Is it possible with your mail client to inline patches? That would
simplify the reviews.

[...]
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index 9e14388403b9..e68a0589889c 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -59,6 +59,14 @@ struct gic_chip_data {
>  	struct partition_desc	*ppi_descs[16];
>  };
>  
> +#ifdef CONFIG_IPIPE
> +#define pipeline_lock(__flags)		do { (__flags) = hard_local_irq_save(); } while (0)
> +#define pipeline_unlock(__flags)	hard_local_irq_restore(__flags)
> +#else
> +#define pipeline_lock(__flags)		do { (void)__flags; } while (0)
> +#define pipeline_unlock(__flags)	do { (void)__flags; } while (0)
> +#endif
> +

That are hard_cond_* wrappers that should be usable instead of a custom
solution.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux



More information about the Xenomai mailing list