diff --git a/drivers/irqchip/irq-gic-common.c b/drivers/irqchip/irq-gic-common.c index 7ce79b512e01..bf590c4a4538 100644 --- a/drivers/irqchip/irq-gic-common.c +++ b/drivers/irqchip/irq-gic-common.c @@ -122,7 +122,7 @@ void gic_dist_config(void __iomem *base, int gic_irqs, amp_pri = 0; for (j = 0; j < 4; j++) { - if (rockchip_amp_check_amp_irq(i + j)) { + if (rockchip_amp_need_init_amp_irq(i + j)) { amp_pri |= rockchip_amp_get_irq_prio(i + j) << (j * 8); } else { diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index d5add4c238e5..7f4edce3f1ff 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -534,7 +534,7 @@ static void gic_dist_init(struct gic_chip_data *gic) maskval = 0; for (j = 0; j < 4; j++) { - if (rockchip_amp_check_amp_irq(i + j)) { + if (rockchip_amp_need_init_amp_irq(i + j)) { maskval |= rockchip_amp_get_irq_cpumask(i + j) << (j * 8); } else { @@ -1349,6 +1349,9 @@ static int gic_init_bases(struct gic_chip_data *gic, goto error; } +#ifdef CONFIG_ROCKCHIP_AMP + rockchip_amp_get_gic_info(gic->gic_irqs, GIC_V2); +#endif gic_dist_init(gic); ret = gic_cpu_init(gic); if (ret) @@ -1567,10 +1570,6 @@ static int gic_of_setup(struct gic_chip_data *gic, struct device_node *node) gic_enable_of_quirks(node, gic_quirks, gic); -#ifdef CONFIG_ROCKCHIP_AMP - rockchip_amp_get_gic_info(); -#endif - return 0; error: