mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
ARM: perf: register CPU PMUs with idr types
In order to support multiple, heterogeneous CPU PMUs and distinguish them, they cannot be registered as PERF_TYPE_RAW type. Instead we can get perf core to allocate a new idr type id for each PMU. Userspace applications can refer sysfs entried to find a PMU's type, which can then be used in tracking events on individual PMUs. Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
This commit is contained in:
committed by
Jon Medhurst
parent
66fd721f38
commit
c5cb3e02af
@@ -81,6 +81,9 @@ armpmu_map_event(struct perf_event *event,
|
||||
return armpmu_map_cache_event(cache_map, config);
|
||||
case PERF_TYPE_RAW:
|
||||
return armpmu_map_raw_event(raw_event_mask, config);
|
||||
default:
|
||||
if (event->attr.type >= PERF_TYPE_MAX)
|
||||
return armpmu_map_raw_event(raw_event_mask, config);
|
||||
}
|
||||
|
||||
return -ENOENT;
|
||||
|
||||
@@ -285,7 +285,7 @@ static int cpu_pmu_device_probe(struct platform_device *pdev)
|
||||
|
||||
pmu->plat_device = pdev;
|
||||
cpu_pmu_init(pmu);
|
||||
ret = armpmu_register(pmu, PERF_TYPE_RAW);
|
||||
ret = armpmu_register(pmu, -1);
|
||||
|
||||
if (!ret)
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user