diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2016-07-18 10:28:52 -0400 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2016-07-18 13:15:15 -0400 |
commit | 8c828a535e29f50282f1a49a52c3b20ccaa039aa (patch) | |
tree | 4b684a9efdce2e178002bfc78df91772a051e839 /include/linux/irqchip | |
parent | 9d5fcb9dd74b5e0070ef2f66f7f4ae14a23b0206 (diff) |
irqchip/gicv3-its: Restore all cacheability attributes
Let's restore some of the #defines that have been savagely dropped
by the introduction of the KVM ITS code, as pointlessly break
other users (including series that are already in -next).
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'include/linux/irqchip')
-rw-r--r-- | include/linux/irqchip/arm-gic-v3.h | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 9442be7f2461..700b4216c87a 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
@@ -146,8 +146,16 @@ | |||
146 | 146 | ||
147 | #define GICR_PROPBASER_InnerShareable \ | 147 | #define GICR_PROPBASER_InnerShareable \ |
148 | GIC_BASER_SHAREABILITY(GICR_PROPBASER, InnerShareable) | 148 | GIC_BASER_SHAREABILITY(GICR_PROPBASER, InnerShareable) |
149 | #define GICR_PROPBASER_nC GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, nC) | 149 | |
150 | #define GICR_PROPBASER_WaWb GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, WaWb) | 150 | #define GICR_PROPBASER_nCnB GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, nCnB) |
151 | #define GICR_PROPBASER_nC GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, nC) | ||
152 | #define GICR_PROPBASER_RaWt GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWt) | ||
153 | #define GICR_PROPBASER_RaWb GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWt) | ||
154 | #define GICR_PROPBASER_WaWt GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, WaWt) | ||
155 | #define GICR_PROPBASER_WaWb GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, WaWb) | ||
156 | #define GICR_PROPBASER_RaWaWt GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWaWt) | ||
157 | #define GICR_PROPBASER_RaWaWb GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWaWb) | ||
158 | |||
151 | #define GICR_PROPBASER_IDBITS_MASK (0x1f) | 159 | #define GICR_PROPBASER_IDBITS_MASK (0x1f) |
152 | 160 | ||
153 | #define GICR_PENDBASER_SHAREABILITY_SHIFT (10) | 161 | #define GICR_PENDBASER_SHAREABILITY_SHIFT (10) |
@@ -163,8 +171,16 @@ | |||
163 | 171 | ||
164 | #define GICR_PENDBASER_InnerShareable \ | 172 | #define GICR_PENDBASER_InnerShareable \ |
165 | GIC_BASER_SHAREABILITY(GICR_PENDBASER, InnerShareable) | 173 | GIC_BASER_SHAREABILITY(GICR_PENDBASER, InnerShareable) |
166 | #define GICR_PENDBASER_nC GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, nC) | 174 | |
167 | #define GICR_PENDBASER_WaWb GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, WaWb) | 175 | #define GICR_PENDBASER_nCnB GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, nCnB) |
176 | #define GICR_PENDBASER_nC GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, nC) | ||
177 | #define GICR_PENDBASER_RaWt GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWt) | ||
178 | #define GICR_PENDBASER_RaWb GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWt) | ||
179 | #define GICR_PENDBASER_WaWt GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, WaWt) | ||
180 | #define GICR_PENDBASER_WaWb GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, WaWb) | ||
181 | #define GICR_PENDBASER_RaWaWt GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWaWt) | ||
182 | #define GICR_PENDBASER_RaWaWb GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWaWb) | ||
183 | |||
168 | #define GICR_PENDBASER_PTZ BIT_ULL(62) | 184 | #define GICR_PENDBASER_PTZ BIT_ULL(62) |
169 | 185 | ||
170 | /* | 186 | /* |
@@ -237,24 +253,40 @@ | |||
237 | 253 | ||
238 | #define GITS_CBASER_InnerShareable \ | 254 | #define GITS_CBASER_InnerShareable \ |
239 | GIC_BASER_SHAREABILITY(GITS_CBASER, InnerShareable) | 255 | GIC_BASER_SHAREABILITY(GITS_CBASER, InnerShareable) |
240 | #define GITS_CBASER_nC GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, nC) | 256 | |
241 | #define GITS_CBASER_WaWb GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, WaWb) | 257 | #define GITS_CBASER_nCnB GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, nCnB) |
258 | #define GITS_CBASER_nC GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, nC) | ||
259 | #define GITS_CBASER_RaWt GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWt) | ||
260 | #define GITS_CBASER_RaWb GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWt) | ||
261 | #define GITS_CBASER_WaWt GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, WaWt) | ||
262 | #define GITS_CBASER_WaWb GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, WaWb) | ||
263 | #define GITS_CBASER_RaWaWt GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWaWt) | ||
264 | #define GITS_CBASER_RaWaWb GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWaWb) | ||
242 | 265 | ||
243 | #define GITS_BASER_NR_REGS 8 | 266 | #define GITS_BASER_NR_REGS 8 |
244 | 267 | ||
245 | #define GITS_BASER_VALID (1UL << 63) | 268 | #define GITS_BASER_VALID (1UL << 63) |
246 | #define GITS_BASER_INDIRECT (1ULL << 62) | 269 | #define GITS_BASER_INDIRECT (1ULL << 62) |
270 | |||
247 | #define GITS_BASER_INNER_CACHEABILITY_SHIFT (59) | 271 | #define GITS_BASER_INNER_CACHEABILITY_SHIFT (59) |
248 | #define GITS_BASER_OUTER_CACHEABILITY_SHIFT (53) | 272 | #define GITS_BASER_OUTER_CACHEABILITY_SHIFT (53) |
249 | #define GITS_BASER_INNER_CACHEABILITY_MASK \ | 273 | #define GITS_BASER_INNER_CACHEABILITY_MASK \ |
250 | GIC_BASER_CACHEABILITY(GITS_BASER, INNER, MASK) | 274 | GIC_BASER_CACHEABILITY(GITS_BASER, INNER, MASK) |
275 | #define GITS_BASER_CACHEABILITY_MASK GITS_BASER_INNER_CACHEABILITY_MASK | ||
251 | #define GITS_BASER_OUTER_CACHEABILITY_MASK \ | 276 | #define GITS_BASER_OUTER_CACHEABILITY_MASK \ |
252 | GIC_BASER_CACHEABILITY(GITS_BASER, OUTER, MASK) | 277 | GIC_BASER_CACHEABILITY(GITS_BASER, OUTER, MASK) |
253 | #define GITS_BASER_SHAREABILITY_MASK \ | 278 | #define GITS_BASER_SHAREABILITY_MASK \ |
254 | GIC_BASER_SHAREABILITY(GITS_BASER, SHAREABILITY_MASK) | 279 | GIC_BASER_SHAREABILITY(GITS_BASER, SHAREABILITY_MASK) |
255 | 280 | ||
256 | #define GITS_BASER_nC GIC_BASER_CACHEABILITY(GITS_BASER, INNER, nC) | 281 | #define GITS_BASER_nCnB GIC_BASER_CACHEABILITY(GITS_BASER, INNER, nCnB) |
257 | #define GITS_BASER_WaWb GIC_BASER_CACHEABILITY(GITS_BASER, INNER, WaWb) | 282 | #define GITS_BASER_nC GIC_BASER_CACHEABILITY(GITS_BASER, INNER, nC) |
283 | #define GITS_BASER_RaWt GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWt) | ||
284 | #define GITS_BASER_RaWb GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWt) | ||
285 | #define GITS_BASER_WaWt GIC_BASER_CACHEABILITY(GITS_BASER, INNER, WaWt) | ||
286 | #define GITS_BASER_WaWb GIC_BASER_CACHEABILITY(GITS_BASER, INNER, WaWb) | ||
287 | #define GITS_BASER_RaWaWt GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWaWt) | ||
288 | #define GITS_BASER_RaWaWb GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWaWb) | ||
289 | |||
258 | #define GITS_BASER_TYPE_SHIFT (56) | 290 | #define GITS_BASER_TYPE_SHIFT (56) |
259 | #define GITS_BASER_TYPE(r) (((r) >> GITS_BASER_TYPE_SHIFT) & 7) | 291 | #define GITS_BASER_TYPE(r) (((r) >> GITS_BASER_TYPE_SHIFT) & 7) |
260 | #define GITS_BASER_ENTRY_SIZE_SHIFT (48) | 292 | #define GITS_BASER_ENTRY_SIZE_SHIFT (48) |