diff options
| author | Anup Patel <[email protected]> | 2024-08-20 03:48:50 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2024-08-20 14:45:20 +0000 |
| commit | 4d936f10ff80274841537a26d1fbfe9984de0ef9 (patch) | |
| tree | c0243b2b0d001a9b2451580c912cab91398159ea /drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | |
| parent | Linux 6.11-rc4 (diff) | |
| download | kernel-4d936f10ff80274841537a26d1fbfe9984de0ef9.tar.gz kernel-4d936f10ff80274841537a26d1fbfe9984de0ef9.zip | |
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 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c')
0 files changed, 0 insertions, 0 deletions
