Merge remote-tracking branch 'agust/next' into next
[linux-2.6-block.git] / arch / powerpc / perf / core-book3s.c
index a3985aee77fec1ecd2fe9756257e3a46b9643b94..29b89e863d7cc11328cb2d93e08f4b4598ec47a2 100644 (file)
@@ -24,7 +24,7 @@
 #define BHRB_MAX_ENTRIES       32
 #define BHRB_TARGET            0x0000000000000002
 #define BHRB_PREDICTION                0x0000000000000001
-#define BHRB_EA                        0xFFFFFFFFFFFFFFFC
+#define BHRB_EA                        0xFFFFFFFFFFFFFFFCUL
 
 struct cpu_hw_events {
        int n_events;
@@ -484,7 +484,7 @@ static bool is_ebb_event(struct perf_event *event)
         * use bit 63 of the event code for something else if they wish.
         */
        return (ppmu->flags & PPMU_EBB) &&
-              ((event->attr.config >> EVENT_CONFIG_EBB_SHIFT) & 1);
+              ((event->attr.config >> PERF_EVENT_CONFIG_EBB_SHIFT) & 1);
 }
 
 static int ebb_event_check(struct perf_event *event)
@@ -1252,8 +1252,11 @@ nocheck:
 
        ret = 0;
  out:
-       if (has_branch_stack(event))
+       if (has_branch_stack(event)) {
                power_pmu_bhrb_enable(event);
+               cpuhw->bhrb_filter = ppmu->bhrb_filter_map(
+                                       event->attr.branch_sample_type);
+       }
 
        perf_pmu_enable(event->pmu);
        local_irq_restore(flags);