Messages in this thread | | | Date | Tue, 22 Nov 2022 17:28:18 +0000 | From | Marc Zyngier <> | Subject | Re: [PATCH] irqchip/sifive-plic: drop quirk for two-cell variant |
| |
On Mon, 21 Nov 2022 04:20:26 +0000, Icenowy Zheng <uwu@icenowy.me> wrote: > > As the special handling of edge-triggered interrupts are defined in the > PLIC spec, we can assume it's not a quirk, but a feature of the PLIC > spec; thus making it a quirk and use quirk-based codepath is not so > necessary.
It *is* necessary.
> > Move to a #interrupt-cells-based practice which will allow both device > trees without interrupt flags and with interrupt flags work for all > compatible strings.
No. You're tying together two unrelated concepts:
- Edges get dropped in some implementations (and only some). You can argue that the architecture allows it, but I see it is an implementation bug.
- The need for expressing additional information in the interrupt specifier is not necessarily related to the above. Other interrupt controllers use extra cells to encode the interrupt affinity, for example.
I want these two things to be kept separate. Otherwise, once we get some fancy ACPI support for RISCV (no, please...), we'll have to redo the whole thing...
> In addition, this addresses a stable version DT binding violation -- > Linux v5.19 comes with "thead,c900-plic" with #interrupt-cells defined to > be 1 instead of 2, this commit will allow DTs that complies to Linux > v5.19 binding work (although no such DT is devliered to the public now).
*That* is what should get fixed.
Thanks,
M.
-- Without deviation from the norm, progress is not possible.
| |