History

irqchip: gicv3-its: Use non-cacheable accesses when no shareability

If the ITS or the redistributors report their shareability as zero, then it is important to make sure they will no generate any cacheable traffic, as this is unlikely to produce the expected result.

Marc Zyngier committed 11 years ago

Commit 241a3861 parent 4ad3e362 files · +47 −4Browse files

Showing the changes to include (1 of 2 files). Show all

Unified · Split

include/linux/irqchip/arm-gic-v3.h+4−0
@@ -126,6 +126,7 @@ · 125 unmodified lines
126#define GICR_PROPBASER_WaWb (5U << 7)126#define GICR_PROPBASER_WaWb (5U << 7)
127#define GICR_PROPBASER_RaWaWt (6U << 7)127#define GICR_PROPBASER_RaWaWt (6U << 7)
128#define GICR_PROPBASER_RaWaWb (7U << 7)128#define GICR_PROPBASER_RaWaWb (7U << 7)
129#define GICR_PROPBASER_CACHEABILITY_MASK (7U << 7)
129#define GICR_PROPBASER_IDBITS_MASK (0x1f)130#define GICR_PROPBASER_IDBITS_MASK (0x1f)
130 131
131#define GICR_PENDBASER_NonShareable (0U << 10)132#define GICR_PENDBASER_NonShareable (0U << 10)
@@ -140,6 +141,7 @@ · 8 unmodified lines
140#define GICR_PENDBASER_WaWb (5U << 7)141#define GICR_PENDBASER_WaWb (5U << 7)
141#define GICR_PENDBASER_RaWaWt (6U << 7)142#define GICR_PENDBASER_RaWaWt (6U << 7)
142#define GICR_PENDBASER_RaWaWb (7U << 7)143#define GICR_PENDBASER_RaWaWb (7U << 7)
144#define GICR_PENDBASER_CACHEABILITY_MASK (7U << 7)
143 145
144/*146/*
145 * Re-Distributor registers, offsets from SGI_base147 * Re-Distributor registers, offsets from SGI_base
@@ -195,6 +197,7 @@ · 49 unmodified lines
195#define GITS_CBASER_WaWb (5UL << 59)197#define GITS_CBASER_WaWb (5UL << 59)
196#define GITS_CBASER_RaWaWt (6UL << 59)198#define GITS_CBASER_RaWaWt (6UL << 59)
197#define GITS_CBASER_RaWaWb (7UL << 59)199#define GITS_CBASER_RaWaWb (7UL << 59)
200#define GITS_CBASER_CACHEABILITY_MASK (7UL << 59)
198#define GITS_CBASER_NonShareable (0UL << 10)201#define GITS_CBASER_NonShareable (0UL << 10)
199#define GITS_CBASER_InnerShareable (1UL << 10)202#define GITS_CBASER_InnerShareable (1UL << 10)
200#define GITS_CBASER_OuterShareable (2UL << 10)203#define GITS_CBASER_OuterShareable (2UL << 10)
@@ -211,6 +214,7 @@ · 10 unmodified lines
211#define GITS_BASER_WaWb (5UL << 59)214#define GITS_BASER_WaWb (5UL << 59)
212#define GITS_BASER_RaWaWt (6UL << 59)215#define GITS_BASER_RaWaWt (6UL << 59)
213#define GITS_BASER_RaWaWb (7UL << 59)216#define GITS_BASER_RaWaWb (7UL << 59)
217#define GITS_BASER_CACHEABILITY_MASK (7UL << 59)
214#define GITS_BASER_TYPE_SHIFT (56)218#define GITS_BASER_TYPE_SHIFT (56)
215#define GITS_BASER_TYPE(r) (((r) >> GITS_BASER_TYPE_SHIFT) & 7)219#define GITS_BASER_TYPE(r) (((r) >> GITS_BASER_TYPE_SHIFT) & 7)
216#define GITS_BASER_ENTRY_SIZE_SHIFT (48)220#define GITS_BASER_ENTRY_SIZE_SHIFT (48)