[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <522bb984-3dd7-4099-b956-f2e42af71b1c@arm.com>
Date: Mon, 3 Feb 2025 13:46:37 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: "Rob Herring (Arm)" <robh@...nel.org>, Will Deacon <will@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Catalin Marinas <catalin.marinas@....com>, Jonathan Corbet <corbet@....net>,
Marc Zyngier <maz@...nel.org>, Oliver Upton <oliver.upton@...ux.dev>,
Joey Gouly <joey.gouly@....com>, Suzuki K Poulose <suzuki.poulose@....com>,
Zenghui Yu <yuzenghui@...wei.com>, James Clark <james.clark@...aro.org>
Cc: linux-arm-kernel@...ts.infradead.org, linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
kvmarm@...ts.linux.dev
Subject: Re: [PATCH v19 07/11] perf: arm_pmu: Move PMUv3-specific data
On 2/3/25 06:13, Rob Herring (Arm) wrote:
> From: Mark Rutland <mark.rutland@....com>
>
> A few fields in struct arm_pmu are only used with PMUv3, and soon we
> will need to add more for BRBE. Group the fields together so that we
> have a logical place to add more data in future.
>
> At the same time, remove the comment for reg_pmmir as it doesn't convey
> anything useful.
>
> There should be no functional change as a result of this patch.
>
> Signed-off-by: Mark Rutland <mark.rutland@....com>
> Signed-off-by: Rob Herring (Arm) <robh@...nel.org>
> ---
> include/linux/perf/arm_pmu.h | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h
> index 4b5b83677e3f..c70d528594f2 100644
> --- a/include/linux/perf/arm_pmu.h
> +++ b/include/linux/perf/arm_pmu.h
> @@ -84,7 +84,6 @@ struct arm_pmu {
> struct pmu pmu;
> cpumask_t supported_cpus;
> char *name;
> - int pmuver;
> irqreturn_t (*handle_irq)(struct arm_pmu *pmu);
> void (*enable)(struct perf_event *event);
> void (*disable)(struct perf_event *event);
> @@ -102,18 +101,20 @@ struct arm_pmu {
> int (*map_event)(struct perf_event *event);
> DECLARE_BITMAP(cntr_mask, ARMPMU_MAX_HWEVENTS);
> bool secure_access; /* 32-bit ARM only */
> -#define ARMV8_PMUV3_MAX_COMMON_EVENTS 0x40
> - DECLARE_BITMAP(pmceid_bitmap, ARMV8_PMUV3_MAX_COMMON_EVENTS);
> -#define ARMV8_PMUV3_EXT_COMMON_EVENT_BASE 0x4000
> - DECLARE_BITMAP(pmceid_ext_bitmap, ARMV8_PMUV3_MAX_COMMON_EVENTS);
> struct platform_device *plat_device;
> struct pmu_hw_events __percpu *hw_events;
> struct hlist_node node;
> struct notifier_block cpu_pm_nb;
> /* the attr_groups array must be NULL-terminated */
> const struct attribute_group *attr_groups[ARMPMU_NR_ATTR_GROUPS + 1];
> - /* store the PMMIR_EL1 to expose slots */
> +
> + /* PMUv3 only */
> + int pmuver;
> u64 reg_pmmir;
> +#define ARMV8_PMUV3_MAX_COMMON_EVENTS 0x40
> + DECLARE_BITMAP(pmceid_bitmap, ARMV8_PMUV3_MAX_COMMON_EVENTS);
> +#define ARMV8_PMUV3_EXT_COMMON_EVENT_BASE 0x4000
> + DECLARE_BITMAP(pmceid_ext_bitmap, ARMV8_PMUV3_MAX_COMMON_EVENTS);
>
> /* Only to be used by ACPI probing code */
> unsigned long acpi_cpuid;
>
Makes sense.
Reviewed-by: Anshuman Khandual <anshuman.khandual@....com>
Powered by blists - more mailing lists