History

irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables

There is no special reason to set virtual LPI pending table as non-shareable. If we choose to hard code the shareability without probing, Inner-Shareable is likely to be a better choice, as the VPEs can move around and benefit from having the redistributors snooping each other's cache, if that's something they can do. Furthermore, Hisilicon hip08 ends up with unspecified errors when mixing shareability attributes. So let's move to IS attributes for the VPT. This has also been tested on D05 and didn't show any regression.

Heyi Guo committed 6 years ago

Commit b2cb11f1 parent 486562d2 files · +4 −1Browse files

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

Unified · Split

include/linux/irqchip/arm-gic-v3.h+3−0
@@ -320,6 +320,9 @@ · 319 unmodified lines
320320 #define GICR_VPENDBASER_NonShareable \
321321 GIC_BASER_SHAREABILITY(GICR_VPENDBASER, NonShareable)
322322
323+#define GICR_VPENDBASER_InnerShareable \
324+ GIC_BASER_SHAREABILITY(GICR_VPENDBASER, InnerShareable)
325+
323326 #define GICR_VPENDBASER_nCnB GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nCnB)
324327 #define GICR_VPENDBASER_nC GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nC)
325328 #define GICR_VPENDBASER_RaWt GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWt)