diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-09-23 02:02:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-09-23 02:02:09 -0400 |
commit | d0303d71c2fb9bcb90a8d48e6462c78c86f70ce6 (patch) | |
tree | 2aa6702ee7c153d909a820ae9fda14d35877e59e /arch/sparc/kernel/perf_event.c | |
parent | 90edf27fb89241917e91155bfdcc7c8e5a587222 (diff) | |
parent | c79bd89282136a4516e842fa542d6abf902ddeac (diff) |
Merge branch 'linus' into perf/core
Conflicts:
arch/sparc/kernel/perf_event.c
Merge reason: Resolve the conflict.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/sparc/kernel/perf_event.c')
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index f9a70675936..0d6deb55a2a 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -1076,13 +1076,24 @@ static int sparc_pmu_event_init(struct perf_event *event) | |||
1076 | break; | 1076 | break; |
1077 | 1077 | ||
1078 | case PERF_TYPE_RAW: | 1078 | case PERF_TYPE_RAW: |
1079 | return -EOPNOTSUPP; | 1079 | pmap = NULL; |
1080 | break; | ||
1080 | 1081 | ||
1081 | default: | 1082 | default: |
1082 | return -ENOENT; | 1083 | return -ENOENT; |
1083 | 1084 | ||
1084 | } | 1085 | } |
1085 | 1086 | ||
1087 | if (pmap) { | ||
1088 | hwc->event_base = perf_event_encode(pmap); | ||
1089 | } else { | ||
1090 | /* | ||
1091 | * User gives us "(encoding << 16) | pic_mask" for | ||
1092 | * PERF_TYPE_RAW events. | ||
1093 | */ | ||
1094 | hwc->event_base = attr->config; | ||
1095 | } | ||
1096 | |||
1086 | /* We save the enable bits in the config_base. */ | 1097 | /* We save the enable bits in the config_base. */ |
1087 | hwc->config_base = sparc_pmu->irq_bit; | 1098 | hwc->config_base = sparc_pmu->irq_bit; |
1088 | if (!attr->exclude_user) | 1099 | if (!attr->exclude_user) |
@@ -1092,8 +1103,6 @@ static int sparc_pmu_event_init(struct perf_event *event) | |||
1092 | if (!attr->exclude_hv) | 1103 | if (!attr->exclude_hv) |
1093 | hwc->config_base |= sparc_pmu->hv_bit; | 1104 | hwc->config_base |= sparc_pmu->hv_bit; |
1094 | 1105 | ||
1095 | hwc->event_base = perf_event_encode(pmap); | ||
1096 | |||
1097 | n = 0; | 1106 | n = 0; |
1098 | if (event->group_leader != event) { | 1107 | if (event->group_leader != event) { |
1099 | n = collect_events(event->group_leader, | 1108 | n = collect_events(event->group_leader, |