diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 861341b48851..4c27e8916b04 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -2355,8 +2355,12 @@ static int its_setup_baser(struct its_node *its, struct its_baser *baser, tmp = baser->val; if (of_machine_is_compatible("rockchip,rk3568") || - of_machine_is_compatible("rockchip,rk3566")) - tmp &= ~GITS_BASER_SHAREABILITY_MASK; + of_machine_is_compatible("rockchip,rk3566")) { + if (tmp & GITS_BASER_SHAREABILITY_MASK) + tmp &= ~GITS_BASER_SHAREABILITY_MASK; + else + gic_flush_dcache_to_poc(base, PAGE_ORDER_TO_SIZE(order)); + } if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { /*