diff options
author | Anup Patel <[email protected]> | 2024-08-20 09:18:50 +0530 |
---|---|---|
committer | Thomas Gleixner <[email protected]> | 2024-08-20 16:45:20 +0200 |
commit | 4d936f10ff80274841537a26d1fbfe9984de0ef9 (patch) | |
tree | c0243b2b0d001a9b2451580c912cab91398159ea /lib/crypto/mpi/mpicoder.c | |
parent | 47ac09b91befbb6a235ab620c32af719f8208399 (diff) |
irqchip/sifive-plic: Probe plic driver early for Allwinner D1 platform
The latest Linux RISC-V no longer boots on the Allwinner D1 platform
because the sun4i_timer driver fails to get an interrupt from PLIC due to
the recent conversion of the PLIC to a platform driver. Converting the
sun4i timer to a platform driver does not work either because the D1 does
not have a SBI timer available so early boot hangs. See the 'Closes:'
link for deeper analysis.
The real fix requires enabling the SBI time extension in the platform
firmware (OpenSBI) and convert sun4i_timer into platform driver.
Unfortunately, the real fix involves changing multiple places and can't be
achieved in a short duration and aside of that requires users to update
firmware.
As a work-around, retrofit PLIC probing such that the PLIC is probed early
only for the Allwinner D1 platform and probed as a regular platform driver
for rest of the RISC-V platforms. In the process, partially revert some of
the previous changes because the PLIC device pointer is not available in
all probing paths.
Fixes: e306a894bd51 ("irqchip/sifive-plic: Chain to parent IRQ after handlers are ready")
Fixes: 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a platform driver")
Suggested-by: Thomas Gleixner <[email protected]>
Signed-off-by: Anup Patel <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Samuel Holland <[email protected]>
Tested-by: Emil Renner Berthing <[email protected]>
Tested-by: Charlie Jenkins <[email protected]>
Reviewed-by: Samuel Holland <[email protected]>
Reviewed-by: Charlie Jenkins <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/all/[email protected]
Closes: https://lore.kernel.org/lkml/[email protected]/
Diffstat (limited to 'lib/crypto/mpi/mpicoder.c')
0 files changed, 0 insertions, 0 deletions