Re: [RFC PATCH v2 09/10] irqchip/gic: Convert to handle_strict_flow_irq()

From: Valentin Schneider
Date: Tue Jun 01 2021 - 06:25:53 EST


On 27/05/21 13:21, Marc Zyngier wrote:
> On Tue, 25 May 2021 18:32:54 +0100,
> Valentin Schneider <valentin.schneider@xxxxxxx> wrote:
>> @@ -1116,8 +1116,16 @@ static void gic_init_chip(struct gic_chip_data *gic, struct device *dev,
>>
>> if (use_eoimode1) {
>> gic->chip.irq_mask = gic_eoimode1_mask_irq;
>> + gic->chip.irq_ack = gic_eoi_irq;
>> gic->chip.irq_eoi = gic_eoimode1_eoi_irq;
>> gic->chip.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity;
>> +
>> + /*
>> + * eoimode0 shouldn't expose FLOW_MASK because the priority
>> + * drop is undissociable from the deactivation, and we do need
>> + * the priority drop to happen within the flow handler.
>> + */
>> + gic->chip.flags |= IRQCHIP_AUTOMASKS_FLOW | IRQCHIP_EOI_THREADED;
>> }
>>
>> if (gic == &gic_data[0]) {
>
> How about GICv2M, GICv3-MBI, and the collection of widget that build a
> domain on top of a GIC domain? I'm worried that they now all need
> updating one way or another...
>

Hmph, that's a good point. It's been a while since I've last stared at the
v2m, I'll go try to page that back in.

> M.
>
> --
> Without deviation from the norm, progress is not possible.