mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
While refactoring the way the ITSs are probed, the handling of quirks
applicable to ACPI-based platforms was lost. As a result, systems such as
HIP07 lose their GICv4 functionnality, and some other may even fail to
boot, unless they are configured to boot with DT.
Move the enabling of quirks into its_probe_one(), making it common to all
firmware implementations.
Fixes: 9585a495ac ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240213101206.2137483-3-maz@kernel.org
This commit is contained in:
parent
846297e11e
commit
8b02da04ad
|
|
@ -5091,6 +5091,8 @@ static int __init its_probe_one(struct its_node *its)
|
|||
u32 ctlr;
|
||||
int err;
|
||||
|
||||
its_enable_quirks(its);
|
||||
|
||||
if (is_v4(its)) {
|
||||
if (!(its->typer & GITS_TYPER_VMOVP)) {
|
||||
err = its_compute_its_list_map(its);
|
||||
|
|
@ -5442,7 +5444,6 @@ static int __init its_of_probe(struct device_node *node)
|
|||
if (!its)
|
||||
return -ENOMEM;
|
||||
|
||||
its_enable_quirks(its);
|
||||
err = its_probe_one(its);
|
||||
if (err) {
|
||||
its_node_destroy(its);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user