| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Driver for the L3 cache PMUs in Qualcomm Technologies chips. |
|---|
| 3 | 4 | * |
|---|
| .. | .. |
|---|
| 7 | 8 | * the slices. User space needs to aggregate to individual counts to provide |
|---|
| 8 | 9 | * a global picture. |
|---|
| 9 | 10 | * |
|---|
| 10 | | - * See Documentation/perf/qcom_l3_pmu.txt for more details. |
|---|
| 11 | + * See Documentation/admin-guide/perf/qcom_l3_pmu.rst for more details. |
|---|
| 11 | 12 | * |
|---|
| 12 | 13 | * Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. |
|---|
| 13 | | - * |
|---|
| 14 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 15 | | - * it under the terms of the GNU General Public License version 2 and |
|---|
| 16 | | - * only version 2 as published by the Free Software Foundation. |
|---|
| 17 | | - * |
|---|
| 18 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 19 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 20 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 21 | | - * GNU General Public License for more details. |
|---|
| 22 | 14 | */ |
|---|
| 23 | 15 | |
|---|
| 24 | 16 | #include <linux/acpi.h> |
|---|
| .. | .. |
|---|
| 495 | 487 | return -ENOENT; |
|---|
| 496 | 488 | |
|---|
| 497 | 489 | /* |
|---|
| 498 | | - * There are no per-counter mode filters in the PMU. |
|---|
| 499 | | - */ |
|---|
| 500 | | - if (event->attr.exclude_user || event->attr.exclude_kernel || |
|---|
| 501 | | - event->attr.exclude_hv || event->attr.exclude_idle) |
|---|
| 502 | | - return -EINVAL; |
|---|
| 503 | | - |
|---|
| 504 | | - /* |
|---|
| 505 | 490 | * Sampling not supported since these events are not core-attributable. |
|---|
| 506 | 491 | */ |
|---|
| 507 | 492 | if (hwc->sample_period) |
|---|
| .. | .. |
|---|
| 777 | 762 | .read = qcom_l3_cache__event_read, |
|---|
| 778 | 763 | |
|---|
| 779 | 764 | .attr_groups = qcom_l3_cache_pmu_attr_grps, |
|---|
| 765 | + .capabilities = PERF_PMU_CAP_NO_EXCLUDE, |
|---|
| 780 | 766 | }; |
|---|
| 781 | 767 | |
|---|
| 782 | 768 | memrc = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
|---|
| .. | .. |
|---|
| 828 | 814 | .driver = { |
|---|
| 829 | 815 | .name = "qcom-l3cache-pmu", |
|---|
| 830 | 816 | .acpi_match_table = ACPI_PTR(qcom_l3_cache_pmu_acpi_match), |
|---|
| 817 | + .suppress_bind_attrs = true, |
|---|
| 831 | 818 | }, |
|---|
| 832 | 819 | .probe = qcom_l3_cache_pmu_probe, |
|---|
| 833 | 820 | }; |
|---|