commit dba0bc7b76dcf(irqchip/gic-v3-its: add ability to save/restore ITS state) add support to save/restore its suspend state.
However, it needs to set ITS_FLAGS_SAVE_SUSPEND_STATE to 1 when we want to resend MAPC. In GIC500, GITS_typer.HCC is not zero, and it can be used to judge if we can resend MAPC if the firmware restores the state, but when GITS_typer.HCC is zero, and it will never have chance to set the flag, which will lead to a failuer to power off GIC logic in suspend.
Signed-off-by: Hongbo Yao yaohongbo@huawei.com --- drivers/irqchip/irq-gic-v3-its.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 881466163c99..6ea2809b8680 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -3733,8 +3733,7 @@ static int __init its_probe_one(struct resource *res, ctlr |= GITS_CTLR_ImDe; writel_relaxed(ctlr, its->base + GITS_CTLR);
- if (GITS_TYPER_HCC(typer)) - its->flags |= ITS_FLAGS_SAVE_SUSPEND_STATE; + its->flags |= ITS_FLAGS_SAVE_SUSPEND_STATE;
err = its_init_domain(handle, its); if (err)