Re: [PATCH v2 7/7] spmi: apple: interrupt controller functionality
From: Sasha Finkelstein
Date: Sun Aug 02 2026 - 09:11:48 EST
On Aug 2, 2026, at 15:07, Janne Grunau <j@xxxxxxxxxx> wrote:
[...]
>>
>> val = readl(spmi->regs + SPMI_IRQ_ACK_BASE + SPMI_IRQ_USER_SIZE);
>> if (val & BIT(SPMI_IRQ_FIFO_RX)) {
>> @@ -239,6 +357,23 @@ static irqreturn_t apple_spmi_irq_handler(int irq, void *dev_id)
>> handled = true;
>> }
>>
>> + for (offset = 0; offset < SPMI_IRQ_USER_SIZE; offset += sizeof(val)) {
>> + val = readq(spmi->regs + SPMI_IRQ_ACK_BASE + offset);
>> + /**
>> + * because of other masters in the bus, we're going to get a multitude of
>> + * interrupts we're not interested in. irq_resolve_mapping isn't very
>> + * optimized for the nonexistent path, so instead we mask with (a locally
>> + * cached version of) the IRQ mask
>> + */
>
> I don't understand the comment. Interrupt bits in SPMI_IRQ_ACK_BASE..
> are set although the SPMI controller has masked them?
Yes, they just do not cause an interrupt to be raised.