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

Valentin Schneider valentin.schneider at arm.com
Tue Jun 1 03:25:46 PDT 2021


On 27/05/21 13:21, Marc Zyngier wrote:
> On Tue, 25 May 2021 18:32:54 +0100,
> Valentin Schneider <valentin.schneider at arm.com> 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.



More information about the linux-arm-kernel mailing list