irqchip/gic-v3-its: Add missing cache flushes
[firefly-linux-kernel-4.4.55.git] / drivers / irqchip / irq-gic-v3-its.c
index 26b55c53755f0db82c5b4cbcd1c16a9beb5c5109..ac7ae2b3cb83726e336ce310d95e2b890da8224d 100644 (file)
@@ -898,8 +898,10 @@ retry_baser:
                         * non-cacheable as well.
                         */
                        shr = tmp & GITS_BASER_SHAREABILITY_MASK;
-                       if (!shr)
+                       if (!shr) {
                                cache = GITS_BASER_nC;
+                               __flush_dcache_area(base, alloc_size);
+                       }
                        goto retry_baser;
                }
 
@@ -1140,6 +1142,8 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id,
                return NULL;
        }
 
+       __flush_dcache_area(itt, sz);
+
        dev->its = its;
        dev->itt = itt;
        dev->nr_ites = nr_ites;