/*
  * PMXEVTYPER: Event selection reg
  */
-#define        ARMV8_EVTYPE_MASK       0xc80000ff      /* Mask for writable bits */
-#define        ARMV8_EVTYPE_EVENT      0xff            /* Mask for EVENT bits */
+#define        ARMV8_EVTYPE_MASK       0xc80003ff      /* Mask for writable bits */
+#define        ARMV8_EVTYPE_EVENT      0x3ff           /* Mask for EVENT bits */
 
 /*
  * Event filters for PMUv3
 static int armv8_pmuv3_map_event(struct perf_event *event)
 {
        return map_cpu_event(event, &armv8_pmuv3_perf_map,
-                               &armv8_pmuv3_perf_cache_map, 0xFF);
+                               &armv8_pmuv3_perf_cache_map,
+                               ARMV8_EVTYPE_EVENT);
 }
 
 static struct arm_pmu armv8pmu = {