From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A95692C028E for ; Tue, 14 Oct 2025 15:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454266; cv=none; b=b2Ppaqd5+LZGPU9AuMfYv9C0Y2VHsIo4aSpMsJJKPJ3J1V1gZLPOQcBzIw4UDHBO/BBP+mvlPuxXV6xrO5dSEH0bvk9WJc1Nl85vTaVnd3AHjLq6EFX0cuPqOOH2Keiyt0qFKBHk29bQoQpqnjKS6129KV3QkTEOzHpn4LcDwBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454266; c=relaxed/simple; bh=octx4ZTnNO/R4DCoPqgavGVNNjwOBSkdB0RJJeuCRxU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uawVX+WhLoFnJcFs/8tIBO/hsRtbfTidz0M2/1wJzqPu9KsPRGxcGUq4R6PagYvuD2vRFL09WXw1hbnhHWp0LXQO9FJd33epegReuATBvV8tMnMWndpVvtJOHMuY38gJcukX8IAbrSKKpPbXWr9wya6WjJx1mp768wOW2djMM30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BAA+UG0E; arc=none smtp.client-ip=209.85.210.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BAA+UG0E" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7835321bc98so5240649b3a.2 for ; Tue, 14 Oct 2025 08:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454263; x=1761059063; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v7IroGFfuMHil+70rPWoixnASrFWM1LVOm0U4Tub+go=; b=BAA+UG0ETnBrCzFeZ3UYo7cyDdqInlevCxBpEudaJC8W+Mj8y/GYYJIocDNC8YRS9n UuPQOHODrB437rPc2WP0nASn1dLxKQohvJtA3aE+fXhBDyJ68IbX24AvHkprJETscxQ2 X3GlXHlpiiPwVZkPRtJ0tTxsaYnXqrNQbMZqTeojebFUCUTaQboS0TB+5ual25YIeGQ9 sNMXniPXtOBo7hZ7bI5Ms4H4+FmBRck1MiPh+5ZWDvQk8AloL5CFv9ADYO/8rNy9DzFm RttT6rF9D/PQzXoa6ZJK67q/ENxuwBxnIeAepUoV69AlI8wnt43/wyf0honR3T/BvJIP qpLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454263; x=1761059063; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v7IroGFfuMHil+70rPWoixnASrFWM1LVOm0U4Tub+go=; b=ZO00aM+u0h9Khlnr7q1ej8fZYsog9+zob7yikUhXcM2ofAwHBpRMVL2GB8iOtY4o/4 9GrP7l68JdsSmSoRMUyqSARV+pyAHRGU9V6AVxy5GXfu/Jd2n4RQ1thIkB7UhpM3q0Si 9rrlJTWsdvhCVpVE2vCsbhFbPDVsmGmIWKUmsv/BvVW0bf/r/wjDCb0FzKf3ocPh3Eu3 ujaTGS9RB9+mHbzGR7h3dQEYp2fA6IWfo4R5wGWWvxu+A4aGHPKrxDHQ2qqEB/puibOD vAwk2UVLXylJCIOVjt60hwVU+l//+hemixVX9qibGLK60tq9A092G12xqTJ7km1jqNc7 Sh6g== X-Forwarded-Encrypted: i=1; AJvYcCUgQJwsE1Kv0wHtjuTbcQKdD21TP4qq8qEMd6GQBBWMhT3aAG0C9QQkO2JYHiGwv1HMqIFBAfzZMLpzDjI=@vger.kernel.org X-Gm-Message-State: AOJu0Yxp0w3ctxpKk6oUEyP3Tzr9xp4pk5ymGRJsNkPZnSCiq96T/xBy 7d21INohWNw/s5Oc0niIie5DIfpAOkYEP/qIxR2rE/KAMqR3fmsi+oWt X-Gm-Gg: ASbGncu6Ze6PyYIXiZMOBly9jqy0Eo2YLUSW+RKlUv9ofPjtmLOv3VMRoAvmSx5ACMV DECbTRlxIaMDEKOUzk3rc5SoUnWkr+mAKv4JQyTHbnHPs0tOjrA+51/csUt8l3wkvBbTEJOs4tQ 6m0N/QfMbg2u1dC1z0xrSyGcrl0jrLR68Aw8eXX8ar9VTGSU01lQzbIiIPBkqyus69DWxrWrJZA YWJCG0fCxs5GCsaG9yJuarOfRdumXKkr0B0Gha8iVv4Z75r/M1PsAO5NoYOgGgAHUuzJiW4HmEl PCt9M++dVLIE9VfQCKOkTsZMUVmLteSOdvXwNnWOOIQ1Imfwt7HU5TLgfVfuCQnRvOAX6D8cHyS LrcxGJBqdwr7y+xqFX1Yd3nYkI6Z7pxNt4HdYpCq89kU= X-Google-Smtp-Source: AGHT+IH1Ue4p5OCLX4CRfhF+JPw8oqTqN7O/BSJ9WA0RvFwdGeAb81e776hbse5RQcmrAj2fPtdD1Q== X-Received: by 2002:a05:6a20:72a2:b0:262:9461:2e59 with SMTP id adf61e73a8af0-32da83df936mr30917032637.39.1760454262600; Tue, 14 Oct 2025 08:04:22 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:22 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:34 +0800 Subject: [PATCH RESEND v8 01/21] dt-bindings: arm: pmu: Add Apple A7-A11 SoC CPU PMU compatibles Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-1-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1102; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=octx4ZTnNO/R4DCoPqgavGVNNjwOBSkdB0RJJeuCRxU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZsiLQHOHuDXQKieC7EAHvU1ZyAcFv2c7NnB u8sNmO0kKuJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbAAKCRABygi3psUI JERND/9BESP2xLUOegwP5HtDf4olDrM+n/Nf+ieBcAXuVPuWct0DXG5/WilKWfA/ucbdraT0ZRA gOUSCkdD3PQZhOkfiqLuI3yNYdJuwSBep9h9IaoibF6w+vX9nfD3RXq0J9HUhNwkBuLQUKiHvL5 1XxrLqauIaAKgo0IHvcsfxJ0R9yk5fg0i5X6pZ23LgUxQsKuou04zkS6NQWVNa3XZLyerev5D15 7V886q19ojxV/AahWKOAG+uJQlK/SIq4V7uU4vGicAiOVQEyObgrHJ+75rqRZXltRC1kmXI1Eje qAVdMu9HHQtHNfx+RTVLfZy+8mQowXCD4mS9uI2RSanf3NH1NXoc9xC0HJZ5JkWwwkznuB4180a mSvILhVUtdx5ga1P1wDIfsqE/qEof8LuICuv5dgVyTgyrfDhyKtAkcRubxx4Lel1KaxR78REw2U W2jKUc+cnwoK3KUUFXD/3HlMYZKeSjcQe66yYTkObNJh+6Gy2XAhRbK1A9o1NEygIU9ut3Gve6K Pw8moaYQpAY3niul4GMPotz8eiLK7zPkJ7dmpvdjfFhf3CkJknFlr3R4njVOwJsYB2L8pRBckMs 0OaU1t835QMSvdx7T9iSt08WbuqRsE6DPyGeDJpz+qljG4VeDTUXjt0ogUMZunmHAnS71rwACto xYZpCZlxPxOXcsg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Document the compatibles for Apple A7-A11 SoC CPU PMU. Acked-by: Krzysztof Kozlowski Signed-off-by: Nick Chan --- Documentation/devicetree/bindings/arm/pmu.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/pmu.yaml b/Documentation= /devicetree/bindings/arm/pmu.yaml index 295963a3cae799a54560557137dd6b3cf4bd00f9..3726e1b78c42f150cf1dc68a6b3= aa3541517c311 100644 --- a/Documentation/devicetree/bindings/arm/pmu.yaml +++ b/Documentation/devicetree/bindings/arm/pmu.yaml @@ -22,8 +22,14 @@ properties: - apm,potenza-pmu - apple,avalanche-pmu - apple,blizzard-pmu + - apple,cyclone-pmu - apple,firestorm-pmu + - apple,fusion-pmu - apple,icestorm-pmu + - apple,monsoon-pmu + - apple,mistral-pmu + - apple,twister-pmu + - apple,typhoon-pmu - arm,armv8-pmuv3 # Only for s/w models - arm,arm1136-pmu - arm,arm1176-pmu --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDA452C159F for ; Tue, 14 Oct 2025 15:04:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454268; cv=none; b=QG4t0kr06NO0YO6wv2/wDxK0G5AM83jWmyU55iiycsIMGJVkfAUK3j1V62RsYS1OXav3jWz29F0n6wAiQMRomhpiiKJ54pxVZZ0AsruO6NaeWFnxs08lwvAvvMz6zODQL0pp4VcpMT1/IeS71Iff9+wvCPEPmwe/Yj+BIB7mdlg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454268; c=relaxed/simple; bh=LWdyJWF3F8SjS8P7dCHoXr3nix46HR/GnW+584oj+64=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uuGol9zYXTfDDADvNAjw+kSCWwFNgGaEir44iFmzB7snI0S8zV9kG+UhYhph2uh6irWRAinxhpE3saM416dV4P3vtGdpQKTKrnDXVJDcMYcAHKUOCneexOG5yKdWXFYCVmHmdK/rin3E33175VpY5ycUeMy5iCc1gUKaf7+Oq94= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iyXlPkq2; arc=none smtp.client-ip=209.85.216.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iyXlPkq2" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-3383ac4d130so4676994a91.2 for ; Tue, 14 Oct 2025 08:04:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454266; x=1761059066; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DQMq4XFtoATrbQB4MivFxur0yQnArRqt8i7j0LTryyU=; b=iyXlPkq28EUINuASZprHaj5V6Czn58R69yXXaI+YgYo5ebfy6Ly9BaMIVd80gT+rTJ JhNa3RoDfmKS+Kql0XGCMnJyOtviBRpATJfZXOh+jEfGiAFjJ0puCk9hi9hdpt0/GRpT 8sAqH2NmCgjXR7Ok8JSE1Dm62hlbJyupizR2XkbbrnXVi1twh1fCRy2OnpMiXw6wDQBn PzP2JAWlpateRGPVYHHHEbr+t0AiaU0OMSTGlM2HenrYLwP/FTNdMS6xHIi51YO8uOEM H0U19mv4tDASZ8++Mz5vBcrFB8H2rDBtLefLTZqixnZflQr0XMENjoGrkU9w8f5UCTm1 Virw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454266; x=1761059066; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DQMq4XFtoATrbQB4MivFxur0yQnArRqt8i7j0LTryyU=; b=qSMVTM4tMw944D4Q+Jw/4o6HCVE0Ee8JrUyH4yR0G4ZYnVcc5lXLigSlfNCyXPJxjA Q8cIMqgveRMVoRLEeL2+eCRGaa/OVRhYcdPyAfU/DPQ95W/xTLsY0huBFzM7JK85v+n6 Aj2OxHJHFDdajb2N+RFSpMec7jAWMlDnYh1NuObH+q78xiy9LvjRXs87hg164KnTeJ34 W+EYeHmf9V5DnI+fO6ILkA0nGbmw42DUJd9avbEHx5FM7JOQO+b4p3a5bt7Oiv2n456L /N14BerzDrXCNvKW/DlbCzgb1+DiwcY2IdtFE4oAF4aNHdukoJNscXYua9U61i6zWpEc Z1iA== X-Forwarded-Encrypted: i=1; AJvYcCWL+M84RfW6DzZBj/FzHf/qAFXGRfF9zK+8b7M5fjPBJVBhbD6bQuBqAhm9ZfbN3kGFlAvOz4YokUkcWCk=@vger.kernel.org X-Gm-Message-State: AOJu0YyZMivlpEhjon2zbvn3BD5kqiT7BfCE0ScfYXB94T+JPdTc7Jml dgo93lEDuKDesyNi5yOobAzduHyQF1tJ02LE+wNTS4RlWNMJ7SreOfFr X-Gm-Gg: ASbGnct6t99zxCLZSEPP5NMS2vAMuBEhQ8AtsE1bAH2SBNweef/zltQ8DmgR52mnqLm fVF4W4KdyFNMQHZyK9Ek3NEfl30wVaM0ZBVkdh8TAgjMu5H0XteWMh3Kc1IVJEaB9Zd3x/2ZtGV cbiEpzpHgn+ozvdIAICsKo6tJkC/zwQFnAa/N5vMGWCZn5bpZakFk/1z61zAJfPT4q8FtEnmIgN UitUyFhHcW2j9bB9/Ey3LsD/PG600PVCudeuKeyyuEfOXOhkVHQERPFg7KSk0UnxMurj+jqo7xk MUnTMwuu9F3udv8WmwMbQQGmbWbCSlO/NIFMqilA3STtYN5AjjupG6jWMtXqa5yc9hsQph1BCib gUkA1zaJbk6BUBRJ8Go5kOoSmJ6yEpCIPvub8pC6gkZY= X-Google-Smtp-Source: AGHT+IHH//oGG+duDcarvnMpMCx+s6l5ttFKPXRC9yiM8WYuLiLPNBvTpEmaQ3ZPfrfAhgmB0mtrKA== X-Received: by 2002:a17:90b:3812:b0:32e:1ff5:5af4 with SMTP id 98e67ed59e1d1-33b51399fd8mr39464227a91.35.1760454266031; Tue, 14 Oct 2025 08:04:26 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:25 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:35 +0800 Subject: [PATCH RESEND v8 02/21] drivers/perf: apple_m1: Only init PMUv3 remap when EL2 is available Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-2-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1251; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=LWdyJWF3F8SjS8P7dCHoXr3nix46HR/GnW+584oj+64=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZs9VdcsiLU/uSNPQdxREbNvTvb8kWSvNL59 LtT9fudemKJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbAAKCRABygi3psUI JKDcD/0b0EZQZCeoY92NSoIoBkRH/0fDA8xMHVxYUbUWvKC6BcMtgc6zs/pA/xvkRD7bikc77mR VN4XBPEtMvJptsrMqhUyZgZECmFqTIDFUhkX70YTbOlS4wO2Zgji2nmPi5KDfRhPPxuhLJ1ENmc VxKSNvir1mUHLXjcIdUczGpI/zJbWoXe0qkAXJSfeebBYqLrqy6648LbmiHe75hFC9x/sdcuOs4 Xc8kbYTBWEltzNCdwZxlUcOfCkncmP8MeDceDdERNCvr/4gMVafJDN2LKFHFtOCJzPO6d9eqB5U kt9EO7uANvrWPdbEzwhfKpna75FRKRM9W29DRg+UiebgNWkjvYmIeSWltMzCxKpmh+z1c9hmmJs vBThwOE4m9hj9OpGeG/U3CDC7kQTQwSni+zjScWl+Vh87lSgtDMsAGGfNB6EmOFeWjv6iAqiF56 FGgmENFXuXwkJIo/oZqxLQQoBI14djgjy4CXCkLzNw+cMZ1C/6Mlo7Mbx/6QrTV509IHIAe/Xjl jk4uAnqz3ZF/m2MQCJDVGfUwvcx+Stst8urbES5JHS1VEvDNQnCGDqjwwznZIdLEOjfQJMlAANn DMZpgx/jNhgPayfdDeWO4nppPt0oJWaqMAWDLpAjF8EPq3QnYJoVhnDN5nqePga6IYsXCiPwuIh iNGhEoD3WwLdm2A== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 The events in the Apple A7 PMU is very different from the ones in M1, and EL2 is not available on Apple A7. Instead of assigning the wrong PMUv3 remap on A7 or declaring a new PMUv3 remap that would never be used in practice, skip initializing PMUv3 remap altogther when EL2 is unavailable. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 81b6f1a623499566ef04d04075752f34e2cb6a92..f3948528e28e0189efd0f17fde0= d808930d936af 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -645,8 +645,10 @@ static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 fl= ags) cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 - cpu_pmu->map_pmuv3_event =3D m1_pmu_map_pmuv3_event; - m1_pmu_init_pmceid(cpu_pmu); + if (is_hyp_mode_available()) { + cpu_pmu->map_pmuv3_event =3D m1_pmu_map_pmuv3_event; + m1_pmu_init_pmceid(cpu_pmu); + } =20 bitmap_set(cpu_pmu->cntr_mask, 0, M1_PMU_NR_COUNTERS); cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DC532FF177 for ; Tue, 14 Oct 2025 15:04:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454272; cv=none; b=RwyFoMgB3ohTeug58Ks/M5ZX4G4yD/6jjZlNUQiQIfEpUxtIVNjHFGGXnmTIP+9uAa3bYiuKszpk2aZ+9FNxYPtJabaRyBAXMVC5yHjxmAj6/8jToBXZE/Jj1iqHiAP9zqT/zCLx1JmxdYItnRZP9MjvRMNDFpbsUd+wBEVD8FE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454272; c=relaxed/simple; bh=QXdFCVGEPqTyu8Bm7SIf1fxdHsV0PUqAo42n6ezyRRw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rXwFwCVL8G4DvWNmDpl6cz82cgzygpuSp815x8aQgPdmAuUPgjKEbkEiRHrwS15S928CoHPN3BBMvdRIHV6W+63LZOMojTAzxFv3z/tAf5LavP9LvtjV1ukVkDXw+bf+KlI5WW/lMsG6KAm2UMqXVb5deBSjWIPnbe5FvR23URw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=McF6HIR1; arc=none smtp.client-ip=209.85.210.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="McF6HIR1" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-77f67ba775aso7642198b3a.3 for ; Tue, 14 Oct 2025 08:04:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454270; x=1761059070; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZKGU1abQVfuJ6I1lGgEqdrdZCTshmOZZLCi+h9rWnIw=; b=McF6HIR1ruCKJtKCA2CwRwFFTvbEpTHUso+bf1YkmwXxpJV2f3vQb1xoC5S8Lxk84G HSQUxJ55auJFmqpVrVZkHSYxRRQL+OoJbUuh8HYRXoGC/Py38N3S41FjvtEaYOVsmTGz AVLOE9o3HWOIJVHRzlEhaH9Mxy7Y2lJaoJ63zzW7FHaPmNV7aQYos+x8kxLvnY2CPoEs FeUxTKzBGijeDmhvYr5YehtYo65W0kfkY913SP3sas4Q0bcoxzm+3vd0gP+F5FvYgzLp /r2m57Yz9XpXgmfhJETa5Ky8/Ki92xQJ3PinDXiqG1P5pJosgxXifTIid2B1m/y+MhZs 144A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454270; x=1761059070; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZKGU1abQVfuJ6I1lGgEqdrdZCTshmOZZLCi+h9rWnIw=; b=NL8WzF846errg86Xd49i04ieZ84BKEgQHMdtXDhdry3zFpIvF87u8/VFMGem+NrDNZ tPPGpPdtTtPHNUPx1o9ja6V95/x5o5Slz12W80sQN2bJ975npc2bK26ChDg5gAq7z+ul RBjWa9r6H6MmD7A8AbIZoBoZo8qTtYh+z45DJdDUub1+LC9o0rKSUENC51eyzjjG7e2/ BphGgCWjTBpo9YJfKUUKrzvq+sTBAEibMnuWKH+dtFHWk3RptHR8cUj4nrF/wZGkqy+r N2g83pU4O2qlV+qeytHvq81r1avVGu4A0xBlEcwoNudhu3LNdaB5xKzHkW8YE+1u0HWD kpJg== X-Forwarded-Encrypted: i=1; AJvYcCV/mqyfYoI/m6+p4wWSCKUzgSubVm/IsQ7jGWSLzeufzve0f/PjJHkVzNPJ7/h5OetFn5AoavlWq9nfdO8=@vger.kernel.org X-Gm-Message-State: AOJu0YyNdz/JwL+L+pYg1yZJgscFTxr37lcnKF/sk2mofr0MCoxF9Tq9 tfBD/naY6cyDWCTKeBI6r1Mp7CJXuYuoLRbuE/zbJ1UCOcc4WeFkCPXm X-Gm-Gg: ASbGncuSgchktmO6q2X2dtFKXwax/1qiVA/hmiRo5IxP5nxc3GAZU/fC1S/EVgHKB0c bPnTQgtbtoQxUgOd+U9rUFr6Fhq6Dmt52yBy0YRU0cc05gEl+ws1M2Wulh4DFYOQa9U7Zq7xuut UHU1flf5uWaZdBTsjZivz/XOAUfr8CDXWifsh9wB4JG9WwzqSPZSeJv+c/8G88p2TTsLOM4WOji mrz3qVezxCCdjwkqrFPgqqbVLcvt0XHlA9/VPji4FF+TxIDYlbky1MARIjxlcusWrzv4RIZYMPU G9wpGsURLsQy28yUv7E296LHgF3Cx0jAsKVaG81NmfQY8gIc5jp+0Db+MT4eMJfk+Rhs0IBFMgR 4qfAL1LhCjSHgHUl2zCB98M41B4JbM0pEq6C8TgoHWnnCwRxk0nDtxw== X-Google-Smtp-Source: AGHT+IGn9ofuLs8eQ7ej34Sc9yoDNYgiACYcK+p77Fp4lhiP+L+rchOzwCG5t7CeGEM6RreDtUL8hQ== X-Received: by 2002:a05:6a20:3d1c:b0:2e8:1c23:5c2d with SMTP id adf61e73a8af0-32da845fde6mr32193612637.50.1760454269685; Tue, 14 Oct 2025 08:04:29 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:29 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:36 +0800 Subject: [PATCH RESEND v8 03/21] drivers/perf: apple_m1: Support per-implementation event tables Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-3-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5769; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=QXdFCVGEPqTyu8Bm7SIf1fxdHsV0PUqAo42n6ezyRRw=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZsqjEa3GuOXC7NCs37f+fSqA+5CTGWWNrSX z2iBaCWscWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbAAKCRABygi3psUI JIo7D/wI0HMXMQvqn2Xs8Mnq7NhEWbDiLFr8ZI8RN+NuDGplRl4uIoCIEILIrGbRTbugUXwoQ2e UPONH6zO24lJdeyOXd2RRLB3m7M3TQz+jVPNIqvvLg2WIty8RjMSm0jr6QH5HkNRjfxXXeJ4z2H eLVp/AATczKlH8pi4NILo/icFgq9CPU9HEzy3m6DtEdet2OBid9UEQo3wxwwQhmuj/SPRl++5C6 32Bhqmr23qmX0StN1NN3O6Ha7u5hDw85DZIBQYtM2SH++wgEt+2aQZQAgjIQ2GjRNTalEEpnOUg Ue/TiQnkVyP7JCG9Q+lX9wj3du5xJcKq1dd5vStkM+fI4Ee6c+aBYKPh356ZNs7MHoeq+Hah2Jf mUZqgBrit10FISRiuzm79aHP5vnjX/j+M0pA2Z8xrqUoS+fkZ7Vw5LpCkvglYYP1oWl4oN65uGv V8BjUhr6hH1+R/dD/jqa336zxaLV+8T265xVLc/RuEAIMXQ3FjdgcjKTllcrhgVQjuwFOMAk5yT 4OvXjc/qKsd8kCQv8y03d4n9gr3QT7kSsTgAtUD++NPvDUcjrA9s61AIGPDjsbIFIEdEAVPBNO+ VMLcmSANzUOuOgmW966IemyGrPgYgGGlhBMa4wwoYr9/X71/kcxTIJvH0cM9TvXYgFaelztY1zN KWUdev4lRtP0h0Q== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Use per-implementation event tables to allow supporting implementations with a different list of events and event affinities. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 65 +++++++++++++++++++++++++------------= ---- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index f3948528e28e0189efd0f17fde0d808930d936af..b4ab6a3e5df965b7ef450d7e533= 995f3cc8633fd 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -43,9 +43,6 @@ * moment, we don't really need to distinguish between the two because we * know next to nothing about the events themselves, and we already have * per cpu-type PMU abstractions. - * - * If we eventually find out that the events are different across - * implementations, we'll have to introduce per cpu-type tables. */ enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, @@ -493,11 +490,12 @@ static void m1_pmu_write_counter(struct perf_event *e= vent, u64 value) isb(); } =20 -static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, - struct perf_event *event) +static int apple_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event, + const u16 event_affinities[]) { unsigned long evtype =3D event->hw.config_base & M1_PMU_CFG_EVENT; - unsigned long affinity =3D m1_pmu_event_affinity[evtype]; + unsigned long affinity =3D event_affinities[evtype]; int idx; =20 /* @@ -516,6 +514,12 @@ static int m1_pmu_get_event_idx(struct pmu_hw_events *= cpuc, return -EAGAIN; } =20 +static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, m1_pmu_event_affinity); +} + static void m1_pmu_clear_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -543,7 +547,8 @@ static void m1_pmu_stop(struct arm_pmu *cpu_pmu) __m1_pmu_set_mode(PMCR0_IMODE_OFF); } =20 -static int m1_pmu_map_event(struct perf_event *event) +static int apple_pmu_map_event_47(struct perf_event *event, + const unsigned int (*perf_map)[]) { /* * Although the counters are 48bit wide, bit 47 is what @@ -551,18 +556,29 @@ static int m1_pmu_map_event(struct perf_event *event) * being 47bit wide to mimick the behaviour of the ARM PMU. */ event->hw.flags |=3D ARMPMU_EVT_47BIT; - return armpmu_map_event(event, &m1_pmu_perf_map, NULL, M1_PMU_CFG_EVENT); + return armpmu_map_event(event, perf_map, NULL, M1_PMU_CFG_EVENT); } =20 -static int m2_pmu_map_event(struct perf_event *event) +static int apple_pmu_map_event_63(struct perf_event *event, + const unsigned int (*perf_map)[]) { /* - * Same deal as the above, except that M2 has 64bit counters. + * Same deal as the above, except with 64bit counters. * Which, as far as we're concerned, actually means 63 bits. * Yes, this is getting awkward. */ event->hw.flags |=3D ARMPMU_EVT_63BIT; - return armpmu_map_event(event, &m1_pmu_perf_map, NULL, M1_PMU_CFG_EVENT); + return armpmu_map_event(event, perf_map, NULL, M1_PMU_CFG_EVENT); +} + +static int m1_pmu_map_event(struct perf_event *event) +{ + return apple_pmu_map_event_47(event, &m1_pmu_perf_map); +} + +static int m2_pmu_map_event(struct perf_event *event) +{ + return apple_pmu_map_event_63(event, &m1_pmu_perf_map); } =20 static int m1_pmu_map_pmuv3_event(unsigned int eventsel) @@ -623,25 +639,16 @@ static int m1_pmu_set_event_filter(struct hw_perf_eve= nt *event, return 0; } =20 -static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 flags) +static int apple_pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->handle_irq =3D m1_pmu_handle_irq; cpu_pmu->enable =3D m1_pmu_enable_event; cpu_pmu->disable =3D m1_pmu_disable_event; cpu_pmu->read_counter =3D m1_pmu_read_counter; cpu_pmu->write_counter =3D m1_pmu_write_counter; - cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->clear_event_idx =3D m1_pmu_clear_event_idx; cpu_pmu->start =3D m1_pmu_start; cpu_pmu->stop =3D m1_pmu_stop; - - if (flags & ARMPMU_EVT_47BIT) - cpu_pmu->map_event =3D m1_pmu_map_event; - else if (flags & ARMPMU_EVT_63BIT) - cpu_pmu->map_event =3D m2_pmu_map_event; - else - return WARN_ON(-EINVAL); - cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 @@ -660,25 +667,33 @@ static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 f= lags) static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_47BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_firestorm_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_47BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_avalanche_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_63BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m2_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_blizzard_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_63BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m2_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static const struct of_device_id m1_pmu_of_device_ids[] =3D { --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83D6E29D269 for ; Tue, 14 Oct 2025 15:04:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454276; cv=none; b=XTut0lBfpv8pWeKRuYKSHXx1UVn+lWxBzCzT9piCw+2qnbBfWLKh3AMVUtmLc6i3uxUEshig+vcATjppYwropFjlN15IU2bomVp6dCdiEz/4r7hMOwtdrPQ/I6jOPu3f0iksD7Sz/84DhAATfwmSBI/iYUTvYrpwMxXzdv1m1NU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454276; c=relaxed/simple; bh=e978bWoFjBQgsdNlqdWrRQsmNCkoajFMktc9t6zXMkE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sd+Qt//LAOlkww1kCvuHUGFKnBYqcegeQ0+S6RWCGqeTDxc0kdHgXU+ueICHcMadgzocEPQ/m+Ka4RfEbcBiqEwlDSGqfM0Fqem0/60Wcnbm1kxpE7wLRMyVDSiW5hY3tuZGbwpsnrKihICJnhvpnlYVpdlZuaMXustXgK9KKwQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=b+4gblNf; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="b+4gblNf" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-32eb76b9039so7018160a91.1 for ; Tue, 14 Oct 2025 08:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454274; x=1761059074; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kSUQIaWycRWPeDhTmGOQryGYmMnqnnTORM1hSoq/o6g=; b=b+4gblNfZiVfacEshgdSjU9uT0/fhBk1hPDaGXiJ1rH+wtjndQBJbEPyvvX7LebKRf HM+/SJbA68jR/KP0+fLL5k5CZwaDTH0PTOAT2cG+dt/WsoC+ccXMpVaF5jdCalBNSx/A zpHxx4WK22GTRVjtUCq9eb/pYUfrPgyfu1sQ4J+/uecxM18fQi3KXanOpLeHJQ7T19IK H46k9cNntHmWpOyRj4xvPqv8FS1umu9v3LlA691Ftd8N1X0QVYktnnFN6tgrOVttvB85 LB6RvYVaE3vBKppWqPClz9fe6ILFBYvzOArpIywixhIJ0D8CyRZN/bzU8tlHewnVa3FG eFWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454274; x=1761059074; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kSUQIaWycRWPeDhTmGOQryGYmMnqnnTORM1hSoq/o6g=; b=oytyPg2lg/jE+j2Eo5rN/bkqwUDc5DGMIrARlhYBYwi0XIuvJDWc8bKW/tYfdVmlwK ugy2IFPu6IUYqadIatbMWw24a3jUvS4tJ0sIaKYLNvgKPQviP6JtbrNVf/XE3JT19b6u jdmMd8zsD/X8O/4Ftmo2G7mPkrx5msJHUd5SE/7k8S+P8okfUdluOnV4IZ4LsBwKWvhr EquSADNHfXbEHkFjHP6iafvQTuyrh3NcmkEC323660IoiS1naji7+taVa25PHp2GpytS KRXZ1GWimPhgg/VkLV9a33gEllVLiAkEqbgYZ5q+F2lYNyXO9fsjKPYXmw3tYFu64QYf r2Bw== X-Forwarded-Encrypted: i=1; AJvYcCVi3s8IFmz2D1Pa5Cy+ARlZXFlfUk++oGVTYoeGoSwoGAuNhKZQ8ZrxmKxoZAupWbkN0/zTtOQPl+xvgQw=@vger.kernel.org X-Gm-Message-State: AOJu0YwiWddWFfpEJ72ZiOMtZueYv3gKTYri174KA2s591YiThdRxvB9 348YZ4zlAAgGXlYLd1yjV4HQ5OCuQizIPFm1m2AL74iAZAarOEID02Mk X-Gm-Gg: ASbGncvQJrP8d6ylKXNnRg4tUF3A1B91htuk+t0smRqC14+n4ZikxoEbGs16abmPeEn j9jhfVJNQuPnub2we3nrV9EOIn9rdU35Ne95Xodw8+/4BBgeLP9++UBQztsEVEESdCE5AannTEt RuJ+1Vlp67EhG/T7CDH2metwgn9nqFWmzoECGhbnENM/T+rLSz4w2p0PpEbO1H2uh3C1MLzeS2X I/Kvdp1bnVlSS/GP3KPHCx14bbbVeeDDFPEUW/WLywAF2AdVzElFB35IZWrQjZP8VldT9nPKWCi pcY2dVFPpSbBUlPFVlFnDZSP2DS8yWd95wFG/yamMquCNGBxRQpqBs9GmPZmU2KDUOq01JyVXCK Dvf4MJ0Ze37R7Ih7B3otzJ8zOc7BuQ0JnrZUJkqITsg0QO/8NPfzvjw== X-Google-Smtp-Source: AGHT+IEoF6lCOjN7CENp+OMe8HdUVTMA65Yq9hlYC7eCiNlOgtVtwVNNnLz/+2DFCjSowB7zKkXu2A== X-Received: by 2002:a17:90b:1b04:b0:32b:cb05:849a with SMTP id 98e67ed59e1d1-33b513861cdmr32152572a91.29.1760454273320; Tue, 14 Oct 2025 08:04:33 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:32 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:37 +0800 Subject: [PATCH RESEND v8 04/21] drivers/perf: apple_m1: Support a per-implementation number of counters Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-4-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4845; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=e978bWoFjBQgsdNlqdWrRQsmNCkoajFMktc9t6zXMkE=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZsrkM+DTU4+ennTxw+fzNUfJ9SwPdeIDOW9 KOaOTHEIsiJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbAAKCRABygi3psUI JOfSD/9lLAvN0+5kZ7WZhC2c29OhNbFQ3jzCr4QfopyMWk9PI9okEb+pDwYako8qTkrWMJTfa3J 4M+hha4zgsIN5xtINN7QpT19s80g93wxOvjjg7TrvBs5iDeKKDmswgC9X0wvkHQzG5+RuWddbKf tl2HsjK0hbHCGyjKByFRSiNZQWBTpBHO/W/azKnC4oIkM/8fyMKLd/9N3wukPUP1UyJGThODncm GlnJ+rOoJd3Ab/U8ixWuefAZRHbFR0ob1eqJZ25xwaA9WdExRjOjzq62bX54UEy0BNwS/C5UfdY mu4fxj0ZO6X+8lqIpZk8z8mg9oa7iAlVxv3yT+rJqbEaSUX40V/WFI4kAnnrfYOsxhPytg/Efs2 EKmsfPpiwOZi9u6aZ2btITnM9LIeIPoATmfx/lhkY+3QqGheoCwzAIXBfCamYVBuWjv2eqzXfct Tj+xsQhtbD2gwwXwqKbCgvS0UxxYNjS92LGFpjlo+fGZN27Xav1dDqCYXT9YheOi4RsdS6ysAAM 5VKJg/3Wz1WA3FqddwIjrHtCfDsebbUwjts/VqdSXNpZ14zXHnlOSQsI12zusztPfp6tFt4wMNp DnqDyxDgCVl+/qScBN7bwnLC8EhrxFyJLot6uD2xR2cw4hb0kMFeRl1dzRV6DKz7v8okNB/G2Y+ gD67Rf6jer2UBJQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Support a per-implementation number of counters to allow adding support for implementations with less counters. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index b4ab6a3e5df965b7ef450d7e533995f3cc8633fd..b5fe04ef186f04b4af32524fe43= 3afb79979b791 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -20,6 +20,7 @@ #include =20 #define M1_PMU_NR_COUNTERS 10 +#define APPLE_PMU_MAX_NR_COUNTERS 10 =20 #define M1_PMU_CFG_EVENT GENMASK(7, 0) =20 @@ -459,7 +460,7 @@ static irqreturn_t m1_pmu_handle_irq(struct arm_pmu *cp= u_pmu) =20 regs =3D get_irq_regs(); =20 - for_each_set_bit(idx, cpu_pmu->cntr_mask, M1_PMU_NR_COUNTERS) { + for_each_set_bit(idx, cpu_pmu->cntr_mask, APPLE_PMU_MAX_NR_COUNTERS) { struct perf_event *event =3D cpuc->events[idx]; struct perf_sample_data data; =20 @@ -506,7 +507,7 @@ static int apple_pmu_get_event_idx(struct pmu_hw_events= *cpuc, * counting on the PMU at any given time, and by placing the * most constraining events first. */ - for_each_set_bit(idx, &affinity, M1_PMU_NR_COUNTERS) { + for_each_set_bit(idx, &affinity, APPLE_PMU_MAX_NR_COUNTERS) { if (!test_and_set_bit(idx, cpuc->used_mask)) return idx; } @@ -601,13 +602,13 @@ static void m1_pmu_init_pmceid(struct arm_pmu *pmu) } } =20 -static void m1_pmu_reset(void *info) +static void apple_pmu_reset(void *info, u32 counters) { int i; =20 __m1_pmu_set_mode(PMCR0_IMODE_OFF); =20 - for (i =3D 0; i < M1_PMU_NR_COUNTERS; i++) { + for (i =3D 0; i < counters; i++) { m1_pmu_disable_counter(i); m1_pmu_disable_counter_interrupt(i); m1_pmu_write_hw_counter(0, i); @@ -616,6 +617,11 @@ static void m1_pmu_reset(void *info) isb(); } =20 +static void m1_pmu_reset(void *info) +{ + apple_pmu_reset(info, M1_PMU_NR_COUNTERS); +} + static int m1_pmu_set_event_filter(struct hw_perf_event *event, struct perf_event_attr *attr) { @@ -639,7 +645,7 @@ static int m1_pmu_set_event_filter(struct hw_perf_event= *event, return 0; } =20 -static int apple_pmu_init(struct arm_pmu *cpu_pmu) +static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32 counters) { cpu_pmu->handle_irq =3D m1_pmu_handle_irq; cpu_pmu->enable =3D m1_pmu_enable_event; @@ -649,7 +655,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu) cpu_pmu->clear_event_idx =3D m1_pmu_clear_event_idx; cpu_pmu->start =3D m1_pmu_start; cpu_pmu->stop =3D m1_pmu_stop; - cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 if (is_hyp_mode_available()) { @@ -657,7 +662,7 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu) m1_pmu_init_pmceid(cpu_pmu); } =20 - bitmap_set(cpu_pmu->cntr_mask, 0, M1_PMU_NR_COUNTERS); + bitmap_set(cpu_pmu->cntr_mask, 0, counters); cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =3D &m1_pmu_format_attr_g= roup; return 0; @@ -669,7 +674,8 @@ static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) cpu_pmu->name =3D "apple_icestorm_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) @@ -677,7 +683,8 @@ static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) cpu_pmu->name =3D "apple_firestorm_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pmu) @@ -685,7 +692,8 @@ static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pm= u) cpu_pmu->name =3D "apple_avalanche_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m2_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) @@ -693,7 +701,8 @@ static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) cpu_pmu->name =3D "apple_blizzard_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m2_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static const struct of_device_id m1_pmu_of_device_ids[] =3D { --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A4D52FFFA0 for ; Tue, 14 Oct 2025 15:04:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454279; cv=none; b=rvR+bjfzkPuLmjhguehGnXtKOWAflJfMYNG7xSN/LvjvhVxxRCRGmp0wJcg4FILFZDFOvM+ABFkmCY/+T91PRPQt0ap/zem7KBWzBryVDsQABNwaEB/8iGs01tJmSINzUvIv0VgRIgGtoiXntVCQs4j+0IDKD13maySBTpd3hMM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454279; c=relaxed/simple; bh=C6Dad8JPpdCuqjz4s5GhSEa3XOS5lpXoC8lCTSueqRM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KDgjv7gQ5T48k1RaFFXeT+H+cCeNrdNrMftjipfmLJySl6FkkFW+UXFmBopzlquT1NzZvnptV4sECbMwlvDGdJhNZL0+SoSxJvKJ2zrEMx6gMgUDRJKaprLkjApMAh32dObaItTv4JWZCjt/pmCsvb7wW+oa3YMqc/RWJcfPGT0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kLwUSO8I; arc=none smtp.client-ip=209.85.216.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kLwUSO8I" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-3324fdfd54cso5840860a91.0 for ; Tue, 14 Oct 2025 08:04:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454277; x=1761059077; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=NLtZQAdEAm9Qpl1KbOMuUjIonMp2MqyrH/XDjYnJ7DA=; b=kLwUSO8IXDx86Hc256rzNrF+RWcYtp8rDCwR2okvRkJcGu++Flof4Qq3zVz1A71dp1 ByD0CosaP3pe80EZz8noDOwMIqSdMZAy2E/PQPLI3W4nO8OMBa9A5GgU4ZFNhpIwtJ83 xgq93mxszTUoLffbM1UDaOSBZ9prGqV0DRo0VL1CZr3fIzmiXky7/6d8lH2LTCsBXDqO LPIHgVdtvXuqbjcg7Fr4UsXRkoalntbRzJvVolv/CQpiOS/eQgpyQO4U3lmt0mQ/Jxy6 lnklAMIeYksI2Y1fMSbIToWCihUOKXac3ehCdd+ySq31sxwi95Z3RxRFhI8JXlykUr6w BCnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454277; x=1761059077; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NLtZQAdEAm9Qpl1KbOMuUjIonMp2MqyrH/XDjYnJ7DA=; b=Q7K/5sgbZaL2Uksrg0YlD0kOIZHN1K9bYW6ZC2kdpfg9JXvE2vUHltvo2Gcph4qytd FntX57X6vwQf3/jbMmAqmoFAhg2638LWG9PDE3/5Y1raNRL2+oW4eRUM1vYDARnqzA8z CVu6FxPl/pnwtboCh72og6X+kYP++LdLYHGzaFlzwvotpE6jE9pOpLp2N0J8HSs5WnvX q9j0uk45EExk7eoMzbKiZjFAxQtNATVoakCRgvgExN/Q8dKRVa/0q0Dxnec4Vzbq54o1 Anju95uQ6H+LuRnjpPbK5QCD+07QXxJlBdWXPF9S5tu9HTnMLgk1cECF04AmqzvtxBQk nRCg== X-Forwarded-Encrypted: i=1; AJvYcCW/bBnA3CkX5sWshLWjwHMSxcyULwQauOEN2OkZgOMVmJtdeT7MaxzV4dNUlZ/+d9HUu3oSHYZMD1OGcRY=@vger.kernel.org X-Gm-Message-State: AOJu0YwvWfnTlx65QBg3gxW1kJiUgrl321uOjjMjhAsLVjDJrmCHWrXZ f0vKDNSoBPcuKclLhavRhiGpWPrHn/E9AWylDpXoqcywpX2SmvbUpw/7 X-Gm-Gg: ASbGncv6ThvgMwl2UvCRmKCoUY5BCp4cLvKKIIsUU7SUiQaL/cpz0wirTUXT5vX0ceq 58wc3iuqsHhAjYl7Q4yDczuQQrfKwILfclFFBPNSmyoENq9dwAF2kOjZGqe+nFa/vjx/0Feag2k PwgOiGhRzFyeZ+6vVd4q778wnTYH8ue9ICkTQWfZ2BC+FL9YqIhF2vOoEwzGPL0DiT9F/dPMbSe vLXUTa8oVXkd+ZnYtYOlrz34bjNaAia/f05gEObaD7NXNid32ReLxpI640HEdxsRl9ewtsL4ipq TpT7AzA0bzdnzlg7pYJHIyCRLhlP4DV7z62Ujlj2+NyQCqSwwsQ0Jmqsktmt+I+HRpqxlYnbOtv 0NTJfH+u+Poqmd+fzbGJ1OZ+MuHbHiM9mJBoNX9CxeRh9d91h44e9Zw== X-Google-Smtp-Source: AGHT+IHOP13PRRe4fGKU2dX23aWl9ytYNiSEVee2M+QWQRc3N0N3lx+44qmDmxKAuSsya1+ebXRuBg== X-Received: by 2002:a17:90b:1e0c:b0:32e:87fa:d975 with SMTP id 98e67ed59e1d1-33b513ebbedmr32981127a91.34.1760454277165; Tue, 14 Oct 2025 08:04:37 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:36 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:38 +0800 Subject: [PATCH RESEND v8 05/21] drivers/perf: apple_m1: Support configuring counters for 32-bit EL0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-5-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1977; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=C6Dad8JPpdCuqjz4s5GhSEa3XOS5lpXoC8lCTSueqRM=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZtj5N/ZWQEde4e5ZFUO3AlX4qFFD8lhBDKy EoZXWDxP9yJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JG4BEACXO8SeA3FJFQKbiTtnTJEBCSvQBz+ZfDqNYwU0oRv29B4KlTl2p+d4t5UTnHnfWgMqObs bkqHaEX/JgaUrBV2p3EF4JiZuTzDM9CSxpmhMX78n3PBWBy8eEiYI3dnXWyVW+kO82Aift2PjhJ On99dgGH/wkolrZE9y5qo7X4YCBQ2s9BeaPSnqmH71jKw/IEc+pGDvAaZqQyx3/7A41BXBRBgeU x9oNiTPEw3rmIoTtkb2V2125TXN8qJNdiuYLNJrTALHCJ69Fk2T4oYy9HIbRnK3s34PZh0Nh9IT cSokHqlhB9GMMWwsyBnHu5PTPME6609MNPNZNrQ8kjBWbXrJiZoWzX9x1wJDmUz5csPVa/Io34Z 7dMfpQTdGa6ihQARW5mJvso13v9zKBeEvZUi4LjnLZ0xtv7rX759VWCnEKRpdLUdXECWI3FHbEj IHSQLtDohunqO6ZqtI+I4y3rSqxYhSOKSkqMWtU7lOlNjcB4PUpn62xKm09AknM5UGAwhwO5KGb R3gW+qMf/ZxKw4hat16SIjSQq7JlO2jcgviXIEYRO2k6lWtHYivbJKTJ3bS2sOJJXHr0ME80/Tk bd0GUypd7crXvpMhwfv59mKAtj9WrEUsPNIKVbZMZ/dympBIbjomJCSo09nTQShOGWVi1PBN4cF X5JBu3phEhVYSCQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for configuring counters for 32-bit EL0 to allow adding support for implementations with 32-bit EL0. Signed-off-by: Nick Chan --- arch/arm64/include/asm/apple_m1_pmu.h | 2 ++ drivers/perf/apple_m1_cpu_pmu.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/arch/arm64/include/asm/apple_m1_pmu.h b/arch/arm64/include/asm= /apple_m1_pmu.h index 02e05d05851f739b985bf416f1aa3baeafd691dc..8a667e7f07a517419c22a4f9309= 47347be8546f7 100644 --- a/arch/arm64/include/asm/apple_m1_pmu.h +++ b/arch/arm64/include/asm/apple_m1_pmu.h @@ -38,8 +38,10 @@ =20 #define SYS_IMP_APL_PMCR1_EL1 sys_reg(3, 1, 15, 1, 0) #define SYS_IMP_APL_PMCR1_EL12 sys_reg(3, 1, 15, 7, 2) +#define PMCR1_COUNT_A32_EL0_0_7 GENMASK(7, 0) #define PMCR1_COUNT_A64_EL0_0_7 GENMASK(15, 8) #define PMCR1_COUNT_A64_EL1_0_7 GENMASK(23, 16) +#define PMCR1_COUNT_A32_EL0_8_9 GENMASK(33, 32) #define PMCR1_COUNT_A64_EL0_8_9 GENMASK(41, 40) #define PMCR1_COUNT_A64_EL1_8_9 GENMASK(49, 48) =20 diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index b5fe04ef186f04b4af32524fe433afb79979b791..fb2759069fe9e47146f0342fa46= e40f3ab836926 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -348,10 +348,16 @@ static void __m1_pmu_configure_event_filter(unsigned = int index, bool user, case 0 ... 7: user_bit =3D BIT(get_bit_offset(index, PMCR1_COUNT_A64_EL0_0_7)); kernel_bit =3D BIT(get_bit_offset(index, PMCR1_COUNT_A64_EL1_0_7)); + + if (system_supports_32bit_el0()) + user_bit |=3D BIT(get_bit_offset(index, PMCR1_COUNT_A32_EL0_0_7)); break; case 8 ... 9: user_bit =3D BIT(get_bit_offset(index - 8, PMCR1_COUNT_A64_EL0_8_9)); kernel_bit =3D BIT(get_bit_offset(index - 8, PMCR1_COUNT_A64_EL1_8_9)); + + if (system_supports_32bit_el0()) + user_bit |=3D BIT(get_bit_offset(index - 8, PMCR1_COUNT_A32_EL0_8_9)); break; default: BUG(); --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FA703002B4 for ; Tue, 14 Oct 2025 15:04:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454285; cv=none; b=E9BwTtEPYus4YfrdGNCTE+7H8jH5QMmgR1ZvyrDWtp5Toj99O4iwS0Ao6NmXE42IBgWFewCdP0cTnrS3rVAlQneuEaFELmyxB7jVWb4E6WjXKF7q0ZDeJFJtdg5hkG92QCwThvHnQ2OIvv0vo3aekRev2LUhPMQLOprNUkQvu4Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454285; c=relaxed/simple; bh=HTqUsRXqv0uayXlXxBww3HqeknMt/byBk1GhhunGYGY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LYPmpky5IreN75wF06UWUSyWNfURwMQKNyc7k7/QWP3mUfN+kaB26YVO6m23KDQA5EORBAV4lf4giz/WjvjwammeFLy4GPi+T0IKxWJlXaDxQb3/6s16q39QH3bHtELgiEkLFGFBc4Vz4nJrhanXWSzIph4TWi72zsm8YRTPIjs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OWkB/o6o; arc=none smtp.client-ip=209.85.216.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OWkB/o6o" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-33226dc4fc9so4902157a91.1 for ; Tue, 14 Oct 2025 08:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454282; x=1761059082; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=16lNfyPp2lVpupbRAD1MY+eMmDibLLbMsLULc43CNdM=; b=OWkB/o6oRUW3EZL8qrpkRB6xrx4M6R+SeSE/Bc2PVSLmZVZNRKKPt0m66BxzKsFhks E155yJ8SrOW+LIg4infkssJ1XuTYqWoYCqm0yX4G9ke0AtLu2whi/RR2RWr+zq017/wl eR2XBQH3zsCxtXHA2cHOh7lhuBMkJTUgrnxpvnSH/JgX+AAs2dyWeloA4qZ+7+sFRJUq bz6q+wl9bsfFUhy4cHaXUVqYeU3vhOXyUmzcKfe+vBRMFv5coUmo8sGVWGHrzr1iMGle hFbRC8HvMaH18z+CYRY5PKv6/Gf/27T7bDerJcPi1Fxyd1XOhldWy6sBqEV0z1eKOGMh mnoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454282; x=1761059082; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=16lNfyPp2lVpupbRAD1MY+eMmDibLLbMsLULc43CNdM=; b=dusc4JRWWr/zadBMVv/KXS3WlLIvItxciI2mHoZudMIatbXvSWceCMI5NseAcl7zP4 0tABYNaLn93O4ELhH2eDr949oVBGfsA0XlNYtMMNQruVMr0bRKdDjhRzcKXF+yultovY EnnCPOuNMjSGHwQFRV7upvPNhupKBZp0h1rdfoQiGnpZXJovTTXH7KrcpevzRCZU6m/0 tgvLyxkxAVPLy8G8u0NONENE79jK7dyKaIGL9F7ey26tbQ65OXf2gp7AcorONasBBJZk tBceXPyVnKd1kuYys4X73dM1p/5nQYFU04pOEOmsrNl+k/rg+/GHnSNBHzUkVDw5MYAm rosg== X-Forwarded-Encrypted: i=1; AJvYcCVHpV8wbEwohPROnpHm57ARUafytFKJJQalZf8axYI/p7Mu+WmZ7bbEfeQBogdTU6Z8X5D08hGEn7JM4l0=@vger.kernel.org X-Gm-Message-State: AOJu0YwtdxTCyV1JhXU0KMI3QpVHzcHjQMaUXcjGAc/ltDwb2qSMcGx4 BCyoC40vmvDpVnfoJRK7QYKgz9FEPTFdYf91DUdDU9L1x9sh1CTpGpRd X-Gm-Gg: ASbGnctuMUsBxuowr7Bo6Q7tOBalZwOHi7i1T7Tey/oDYCeMW4IcKBOPJFgEskPFQGO FzHgtyhzWEuSphxnrXIJjGBwN5oG5/z+PnMNNK5r0AarajcOHnBBrv9xQl1R/QO+Ov5vHN4Mk3i jMF05thyECP3GBagUPs/QxuMMzB0Lmo6NF47fqrwmPR3/6uQRLWBR6QmS8jqOUgyFASZkDi44bT x9hpJH7mx1dHtXTkPPd9vUd1Z5+U/7TQscCjnbuNEU6dXAYrtAF80seTJ6tBPl8fZc6ngdsmthG xQ+aOClVTZbc8zw8x3Aj/qt5DQgQHrEfkDyoKqCUEZV2oTMmcbjvzI+DJ8oi2Fi/igx7YK9Rc1J IwzBSuelIdvno+ppYflhYMeCOYzrdryVY6SNklTZtn2g= X-Google-Smtp-Source: AGHT+IGwEs3rrCDqpl5/3jdMLYGXd/fP1d+HAulIjOxhPLB7QlezpM98CM9KNKeg0TI59ggKTThDpg== X-Received: by 2002:a17:90b:4d10:b0:32e:d282:3672 with SMTP id 98e67ed59e1d1-33b5138db1emr36578879a91.23.1760454280681; Tue, 14 Oct 2025 08:04:40 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:40 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:39 +0800 Subject: [PATCH RESEND v8 06/21] drivers/perf: apple_m1: Support per-implementation PMU startup Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-6-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2178; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=HTqUsRXqv0uayXlXxBww3HqeknMt/byBk1GhhunGYGY=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZtIExs41YFPpj0vJDkH9AmK9OwhzMSoCLKK Lq4Oy96LeiJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JLLiEACERRbpPD9nPrsGGfapV4gEvqaAHnouFfwKWinXgfj0dP6MuIaz/G7+GbUDhhfC3u4bQpK 91p4sbNGynjY0RJbgtoIYi1nxnbKb8sHwm5cksvQgTFvc6ijEWbZKovDPej3lGT8J/OT2bHHwTC Y02PtU4yzhNj38o2Y6mfR6h0hjejGvSgia5ieLHGZcDkP94gt6BPu4lsh3mfrgErNh31mX8a/RH REWOQTV9V6YbUmP1QZ5HQm4NVBZ7h4P+fWOGR3qHIjivQlp6kwrNVPlkxL3pT6rShe2i2LgyFa5 AJ3o6ufsmOv7CQlUx+HZmhajqZWk51M/hc+0VPQJXTXngABulTD6jeHlxXUolJdB80z0N8Pis9T 6yzLzN0RhQ2XeN/hTIQtnbzl658ub279hmAV50nk1pBkG+LT83/gjAlcTE/EiQSRfnA2h6AtttF Nb+40XxkDfuPnLKwA6Mc+veJdwakQxzkIVV8LzUJQE6O37qj+Ld2fCpfSu8/jWxiG8Kwk2SCZ4c OngOeu9D1OsDVjtUYceGVr5fu7x1ILXh6XVC8FXC6hCu5mnife1EtD/fShLv3jDvwO1y4cTQBGe QFp+BOd9rOLZsefaDh8l5DSFzsss3w7PF0O85pLHjP+SlQDc0iOIFIPFemoS3FYFKUjfcgmaEkW vsWljmeHn0rrd+Q== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Support for implementations that deliver its interrupts in ways other than FIQ will be added, which requires a per-implementation startup function. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index fb2759069fe9e47146f0342fa46e40f3ab836926..303c0e62432281e899a33fc1973= 65c70078d6ac1 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -659,7 +659,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32 = counters) cpu_pmu->read_counter =3D m1_pmu_read_counter; cpu_pmu->write_counter =3D m1_pmu_write_counter; cpu_pmu->clear_event_idx =3D m1_pmu_clear_event_idx; - cpu_pmu->start =3D m1_pmu_start; cpu_pmu->stop =3D m1_pmu_stop; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 @@ -681,6 +680,7 @@ static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -690,6 +690,7 @@ static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -699,6 +700,7 @@ static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pm= u) cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m2_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -708,6 +710,7 @@ static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m2_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED73E2F3611 for ; Tue, 14 Oct 2025 15:04:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454286; cv=none; b=RCsnmHheMr+mdI3eND7K9j8h6VG7vefZne0WGYsg4YUKs0Eqzs6Xp4ynB0NLvgbkYn/JOtO/bwS3q8II1JZJxMyDkGNos6sGGz3trAGAWXo8/ZIjPMmUXTDKaPh682GnshhRo+IBJ0MHPJ5U62nDRKscjBkbQZfZ+H1gDGmHs2Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454286; c=relaxed/simple; bh=HNTQqQJemqX0WI0eYRGH+l+1PjBhJi/4JkQ/C04BuCI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RGGx5NyLL39HRViZ/MmIDK63nG1gWCJvZ+IzqGrjWc9KHHP4YgdwNhupqLuR8na34ua/zaWIOTLn3w4JzvKDRuq3WcdXQPApJLJg6RQu7JpmVwZ+ZZCDoueQD1HjwsUMSuyPBabK1rqdUopQAy+OXTwu61jYp7hDcFRljB7GQ00= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=J2cYzEtM; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J2cYzEtM" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-77f1f29a551so6969150b3a.3 for ; Tue, 14 Oct 2025 08:04:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454284; x=1761059084; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gfwDPpCiVyJ0buY5NGtfte2dcu4mrKn89k8yErLBKTw=; b=J2cYzEtM7hfLU8SxMAf536Bnx1W0qdLWTNIK9mBaXHG5Kc6JEr/sfI0CRfSXmv2Pr6 W0bVhX/mvVPmMUiRdkjZDhXKkTauCQZdYfkOqAqLeehzdcpM+aCBN1zhRpa5WkgfCqpK 94H0ka6NubBmb+6pf7nbPeiQ297Gouk0Oi+TvpV3Ym2y5orQFVAR4o9qRq9wu/VQiWlT ClH97Qx941eXzc+TvOgDLlvQpMAnPpe4SPZfM0rJi1fWJcorUmQfre13soCfjh6SAUb3 LdoDB3qrNqDRVraeAAyrxgFPifhCT7MsRnAbEjIAGpjgufFVRqfE1cbJUtsgUwWOAd46 1yLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454284; x=1761059084; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gfwDPpCiVyJ0buY5NGtfte2dcu4mrKn89k8yErLBKTw=; b=pBCgv353q4D5ikIes7jiBsoKprmGN+ofOmBkWe5wyyi8A+r94U5XcBin85lXIGpHOh wYXqYoa9kQetGBbHuDQnGbXx8pznxiwILoINuUxf10pSGy4iaLDy+sde5EGnICNJwDWo J0qwUmFV86dzlHQ9VK4WRCNYIrok1vzVpesWgumuXcmJKIrWEJQ1aJdW9NnBSx2Dbvkl EP4ln7jiihruEGXBUBeG0XyraS9v64Uq8E79YPZQkZNRHa8qZjq4t8FqhIRLpKBFB4SK ctKlB96JS7xA+tbIajCAH/mBhVgGFzvjx4wG7aPiGMmf+hrQ2lcFDNl6lMW6h2++vDeV sxVw== X-Forwarded-Encrypted: i=1; AJvYcCUFPxVUe7gamZWhapKmWqEf9Mr9jF06dhMl960J/wCpCrY5AJArlxENst47tOGJNzr36xoUsyoIMAjZwyI=@vger.kernel.org X-Gm-Message-State: AOJu0YwhY50vclSVGQuwAiqXQd4BQ2GkZz+v2DkkmY8B8z6eLqmv6tHe 1EEOoV8ae9Vzhdh+BeZcxYqwTrKQAB4Bl2UnzM4R4ST1VXGsy8dRQl6w X-Gm-Gg: ASbGncsG5RfPyy1wV1EQvAxq2Q42zi4meoPVAcSBeYBJ7HY7orQ4UuMy+vc9g/lxNrD nrrQAkZthj5ZQ1dp+rim7pNVFT0XsTWJbabn1PP8orwMenoRz2t6+j/vNqN9+DU3Z86ahBInSqi fX10tIK2gB4WqY71EWqJHl1lit1dFLqHZuPIx6Pg9Vp9bK9+uu//vgiu7mRpaVwOs1MX95n4dj4 +l6NiKsc/sdDKBYdYyFPJv2IG+1rwFo6WFxYue+YOxWMJFjC21mvBy021LEqwjcpeIJ5z13HEE2 s0askCegtNp0qA2jEDabVhkS8EXf9BeaLzNCYCE+2sfqWw6Ujq7FmJEmq7jNvv+mjKBzvkoVHhC 3TaqoGEiW6dZh0VCPu+kGz25hSGpVI/SiiRkwrt3mz8Q= X-Google-Smtp-Source: AGHT+IEUcKWN4BM/rckq+Z7v24QtVl6iV0VHt+z7yTPuHHzwk99+jGJZRM1YiVCJ8sEIrmXiCaMaYw== X-Received: by 2002:a05:6a20:158c:b0:309:48d8:cf31 with SMTP id adf61e73a8af0-32da83de278mr33888699637.32.1760454284167; Tue, 14 Oct 2025 08:04:44 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:43 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:40 +0800 Subject: [PATCH RESEND v8 07/21] drivers/perf: apple_m1: Support per-implementation event attr group Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-7-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2222; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=HNTQqQJemqX0WI0eYRGH+l+1PjBhJi/4JkQ/C04BuCI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZt+33mUgbufYlHVGEXhWTArkZwbw4rK+t3L 3JK3LrfMTWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JGsYD/9znkC5rAzIdt7p0b7H6L4B7xbkk+HxpkH85ZoVUmLNgveosIcz5Gyq3HXZq+kHAmOfnyJ KUJc9b4QRajZkLSGVUx0wb1GgySCYBuDATXx1QvL9bsTQEttURZbArA35JKtENAOj8Ik53ln2bv jxdO6MaRZVVSNOazCh3mvwO/y0q9tfmR//S6VwQ8G243/RWa07UHGBp2gRqbRGOMSm8FYottgh9 Ctz5IKY9KClKMbZ94XRTQLy4kA5r4nhQpiGjoBTmYq7EaAYvbjpW7siBWAItsOfD+n6yVez8hT7 csseEnllr22746D6LJoWm7tU8re+DC+hfK7OK2Doxt+NbrLRvAVWtIHT4Tt/2hA1pGZEYkamqzJ MZ18iXbSGKpRy6b5fpHClzsMO4LKR4tKLfKZD59tf0XMyxJ6O81/wi+A//QVCDvdJ8BmTaxpC/3 PgmaGqAQD7ZNk8x2gHXir/lfEcXr+Tx7iAj7tlqQ+zfnnn83w56NC/KbRq7QRsrpQpmrvAV6pqo +5t2xj2dUTxPAO03uItkrj53zETg2wBwBxVVzEMjo+a5hpOACkhG4Atv+uDWXkBXUSfuuqMd1Ap evJgI64NRMudpI/XdtmHWeB9EX8O/bl2cASG3HeOwP4WmyZnXTjaAfRi7p1YKASPma/S06RkJMZ JAX/NiDIbAh2VEg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 To support implementations with different event numbers for cycles or instruction events, event attr groups needs to be per-implementation. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 303c0e62432281e899a33fc197365c70078d6ac1..d0362a1813788776f4210523efe= 33a3018cfef2a 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -668,7 +668,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32 = counters) } =20 bitmap_set(cpu_pmu->cntr_mask, 0, counters); - cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =3D &m1_pmu_format_attr_g= roup; return 0; } @@ -681,6 +680,7 @@ static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) cpu_pmu->map_event =3D m1_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -691,6 +691,7 @@ static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) cpu_pmu->map_event =3D m1_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -701,6 +702,7 @@ static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pm= u) cpu_pmu->map_event =3D m2_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 @@ -711,6 +713,7 @@ static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) cpu_pmu->map_event =3D m2_pmu_map_event; cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7B0D3009DB for ; Tue, 14 Oct 2025 15:04:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454291; cv=none; b=Dp4TbzxyV7gUHwH03oFAS/MOpWUn87xyVfSW+xhlUpc21H89PUxX0smedlns6a5s0Yrpj7tui24qRVbH5kXLkdhXRZDQqJH74VNs6ZFGD8gahZEzJdYMIaMOAWB/EQbuJWPdyvTprqfaeVcLQecEwNJM91MNgLTLjmqBGdY9vTs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454291; c=relaxed/simple; bh=qBtg7GvHWTTjyZPMcecSa1H/np7c9hEJRJGdlfAVn88=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QUU7yA/iIvLtipNks9iJKQsQc6n6dmWp9ue701dHUBO9nBCcwH8iztwSjEvdJYnksUGJMDdLwIobcmjGBHCQ9JrQS/5JaohdamOPHThTI1l/vL59jjxNT5VYBRi6iKu9oY3onrt6eVYiiw1KPPSClkCiaD6tU7r1+thDKXH9eKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dx4MzJdl; arc=none smtp.client-ip=209.85.210.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dx4MzJdl" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-77f1f29a551so6969259b3a.3 for ; Tue, 14 Oct 2025 08:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454288; x=1761059088; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=M7yamUBkHwJEe6SZQP6ugity7ctW5TH+GzI9VTk5Vx4=; b=dx4MzJdlSgzj73VBPoqtGLUDfQUJ/b+GIwt6rQPHqCHoRhogB0w/3t19AUKDxgkBTh L6Kzsew0WwPRYj/mUAWvVil9ZKN2oDSNiKSQQ6V7aql4oCERuClWjMk+NCYYbG4hIJVR i1i9+gQ7uvkYPp0BI5mYGl3vQ2FTIMd2v+HdpdOI1wQF1BFjh80CnNhaKdPaJdqRGKLg fUiyT1xkzNdP5azh8RulU0QD8TKH0rmxlvyaXlZLRKktz0I35SehfRDHV1EUGqSpg6kt +id9rl5Gp0xgI3POm+ES9H+UwV1ttzuIoIfVJvFctJG8HoYFbDct9uwTx2vcaABsJ05T i8Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454288; x=1761059088; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=M7yamUBkHwJEe6SZQP6ugity7ctW5TH+GzI9VTk5Vx4=; b=KVIXm2998ikHP2j7O92V5lUEbs9XaOJIWupWDBTpOs/4PSNJR9LThIbwayRvIrO3Or e26aAtGFOXJE2lJD4d31BlKYHxJmWfzELV/PfJZ21LUGR19VE3ITrKnIkDEaVoHuxSML t+DUy5vVYtEXt0ubkYxdIKoblqzXDZKG4Zrpo0jqm2ZbYVtWZp88n0aGUllvs0OXeMn7 J4tmQKKMlLX3HigTScXfwoqUJIz2YGEGaHAkODyviIT/S6CaFKRppWeqtFMFaqU78PJV FOEGLSNMjsk1+TKA8/8NNV/M2NlsRDQInbQ+d//DLbraOv6nBJBRlrnf57vmTDMDEN4o fNnw== X-Forwarded-Encrypted: i=1; AJvYcCWuxJ6PrJPgSJACwP1Q6V9zUWX7U/VHFDQUxo8kapf5gae1giDDL1pois0mCj/8Gs8NHCQuDnQW/YSPQsk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7i+MWwu+v3XNBmDlDUvZcRTj2oCvnCqJWe5/zLF4FaYUmUIAV dnPutOO/bILGwwqSgBwuT/euH2kyB8m+8x92sqtrW32TbetG2eEm0V6I X-Gm-Gg: ASbGncsk/vkzzalxja51th3PxXziA7iWeICLx4a+c3EsnAQ27EFsu8Yij5jxJvIJJLP AIJWwicOzUVK59bAkHqH4ZfMfbFf8THyGr798YGhZsc/wQzo+uz5lOh3+gEs5J6BS1CbZv47n6d wbjhlTPiSdbOnYkayqxVAff5FWAPy9SEiUnH0o76DDdDkO2E5rFhz71GYIh1MYDFbcRsO0M3Zf4 N9ILPvWUnqJmgUr9ekNsHegu5ekSLwOR/QUwNzU6zCkbb5h8KEA3BeaFWGh2wli/m6eDwEnWvWg kKVmeAh/GbG3u/Lrl0ck0xn7ywUxprwWn9JAlC4U6eNRgPz+/vh+lqvUq4ZQSEkPpLKGzLmTjXy QdHMkb0YZbRg/aVhSYZ1CgxcvuhIYgc9+m87Kynn81ak= X-Google-Smtp-Source: AGHT+IEww9I99W8/PZygGRJxzMIg2YqHkGHY82OfCvVnBhXsjjq3b+IaBaRZcgRXbdQmeoBXsMnnHA== X-Received: by 2002:a17:902:f60c:b0:25d:1640:1d59 with SMTP id d9443c01a7336-290273564d2mr290664605ad.8.1760454287769; Tue, 14 Oct 2025 08:04:47 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:47 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:41 +0800 Subject: [PATCH RESEND v8 08/21] drivers/perf: apple_m1: Add Apple A7 support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-8-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11055; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=qBtg7GvHWTTjyZPMcecSa1H/np7c9hEJRJGdlfAVn88=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZtwuUXxGp+bEBMOFw0fOI5hasyCnTBVZXw6 pDTgJvyopeJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JDwjD/0VqIUZw2bmdEwt1IFvW/89NeDCZCFTK94wyJhIDVELyromSUGE4R8oT+VeLtp8AU0qd1h S/rLwN4iLrya/4cMTsD5t28OJw079ZEDtCdTksyIHImDHlQ0cNi/rylo8AL42cEDcimwT4B1C+i IDojSi2Nqd4TK6Ftwu/weJxUCVcu0m/jqOxg8lGw420K3rkPZy3uNJVpH5xwNGXoEeZFkYWd+qs rSPdHLvSQi+tF+XL1HgwB7EE1CJX30tmPVOsIftP0HoPjNHRUH9a0q2J8c9LWToKupquifcxTpZ fRdKBu1JgDcbfxD/tQ17F2/fQ5VfQ8vU9Pboyg8ohNws1uoduWOr6lT1E9bCqaef6j0BGgF65xk 5Ke0Ll4j3TWtRNv/atT/1A+a81c0VCw2lalXMEDXFPFn6/uOl5JrW4f78AlRUFHwcjqfjuNyNjQ juSZeshe0PjEgmAWAvBpbVskVXkyTc9M6ZM3Aq1agZqbUROnNnsUQ3TyME6qpTUtyejQH6vqycU Rn91jiSRyHBbS/Kb/Cmo0MuYND47ojnHFgu0y0HYdaG1H9b8aaq62lDbbE7u7NWzBAtKrofPNHO RMdME2nFxAxfe1xAOoAADNnaRCeDpV+Ss0UW1qphxRflYWBEakuNR+nT/kgX7DK9yXEeQYGIEai GdOWoBwiEeS8M5Q== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found in the Apple A7 SoC. The PMU has 8 counters and a very different event layout compared to the M1 PMU. Interrupts are delivered as IRQs instead of FIQs like on the M1. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 190 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 190 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index d0362a1813788776f4210523efe33a3018cfef2a..afcf7c951379698ceff21c1a99c= ca31b3a6177b1 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -19,6 +19,7 @@ #include #include =20 +#define A7_PMU_NR_COUNTERS 8 #define M1_PMU_NR_COUNTERS 10 #define APPLE_PMU_MAX_NR_COUNTERS 10 =20 @@ -45,6 +46,143 @@ * know next to nothing about the events themselves, and we already have * per cpu-type PMU abstractions. */ + +enum a7_pmu_events { + A7_PMU_PERFCTR_INST_ALL =3D 0x0, + A7_PMU_PERFCTR_UNKNOWN_1 =3D 0x1, + A7_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, + A7_PMU_PERFCTR_L2_TLB_MISS_INSTRUCTION =3D 0x10, + A7_PMU_PERFCTR_L2_TLB_MISS_DATA =3D 0x11, + A7_PMU_PERFCTR_BIU_UPSTREAM_CYCLE =3D 0x19, + A7_PMU_PERFCTR_BIU_DOWNSTREAM_CYCLE =3D 0x20, + A7_PMU_PERFCTR_L2C_AGENT_LD =3D 0x22, + A7_PMU_PERFCTR_L2C_AGENT_LD_MISS =3D 0x23, + A7_PMU_PERFCTR_L2C_AGENT_ST =3D 0x24, + A7_PMU_PERFCTR_L2C_AGENT_ST_MISS =3D 0x25, + A7_PMU_PERFCTR_SCHEDULE_UOP =3D 0x58, + A7_PMU_PERFCTR_MAP_REWIND =3D 0x61, + A7_PMU_PERFCTR_MAP_STALL =3D 0x62, + A7_PMU_PERFCTR_FLUSH_RESTART_OTHER_NONSPEC =3D 0x6e, + A7_PMU_PERFCTR_INST_A32 =3D 0x78, + A7_PMU_PERFCTR_INST_T32 =3D 0x79, + A7_PMU_PERFCTR_INST_A64 =3D 0x7a, + A7_PMU_PERFCTR_INST_BRANCH =3D 0x7b, + A7_PMU_PERFCTR_INST_BRANCH_CALL =3D 0x7c, + A7_PMU_PERFCTR_INST_BRANCH_RET =3D 0x7d, + A7_PMU_PERFCTR_INST_BRANCH_TAKEN =3D 0x7e, + A7_PMU_PERFCTR_INST_BRANCH_INDIR =3D 0x81, + A7_PMU_PERFCTR_INST_BRANCH_COND =3D 0x82, + A7_PMU_PERFCTR_INST_INT_LD =3D 0x83, + A7_PMU_PERFCTR_INST_INT_ST =3D 0x84, + A7_PMU_PERFCTR_INST_INT_ALU =3D 0x85, + A7_PMU_PERFCTR_INST_SIMD_LD =3D 0x86, + A7_PMU_PERFCTR_INST_SIMD_ST =3D 0x87, + A7_PMU_PERFCTR_INST_SIMD_ALU =3D 0x88, + A7_PMU_PERFCTR_INST_LDST =3D 0x89, + A7_PMU_PERFCTR_UNKNOWN_8d =3D 0x8d, + A7_PMU_PERFCTR_UNKNOWN_8e =3D 0x8e, + A7_PMU_PERFCTR_UNKNOWN_8f =3D 0x8f, + A7_PMU_PERFCTR_UNKNOWN_90 =3D 0x90, + A7_PMU_PERFCTR_UNKNOWN_93 =3D 0x93, + A7_PMU_PERFCTR_UNKNOWN_94 =3D 0x94, + A7_PMU_PERFCTR_UNKNOWN_95 =3D 0x95, + A7_PMU_PERFCTR_L1D_TLB_ACCESS =3D 0x96, + A7_PMU_PERFCTR_L1D_TLB_MISS =3D 0x97, + A7_PMU_PERFCTR_L1D_CACHE_MISS_ST =3D 0x98, + A7_PMU_PERFCTR_L1D_CACHE_MISS_LD =3D 0x99, + A7_PMU_PERFCTR_UNKNOWN_9b =3D 0x9b, + A7_PMU_PERFCTR_LD_UNIT_UOP =3D 0x9c, + A7_PMU_PERFCTR_ST_UNIT_UOP =3D 0x9d, + A7_PMU_PERFCTR_L1D_CACHE_WRITEBACK =3D 0x9e, + A7_PMU_PERFCTR_UNKNOWN_9f =3D 0x9f, + A7_PMU_PERFCTR_LDST_X64_UOP =3D 0xa7, + A7_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC =3D 0xb4, + A7_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC =3D 0xb5, + A7_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC =3D 0xb6, + A7_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC =3D 0xb9, + A7_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC =3D 0xba, + A7_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC =3D 0xbb, + A7_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC =3D 0xbd, + A7_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC =3D 0xbf, + A7_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC =3D 0xc0, + A7_PMU_PERFCTR_UNKNOWN_c1 =3D 0xc1, + A7_PMU_PERFCTR_UNKNOWN_c4 =3D 0xc4, + A7_PMU_PERFCTR_UNKNOWN_c5 =3D 0xc5, + A7_PMU_PERFCTR_UNKNOWN_c6 =3D 0xc6, + A7_PMU_PERFCTR_UNKNOWN_c8 =3D 0xc8, + A7_PMU_PERFCTR_UNKNOWN_ca =3D 0xca, + A7_PMU_PERFCTR_UNKNOWN_cb =3D 0xcb, + A7_PMU_PERFCTR_FED_IC_MISS_DEMAND =3D 0xce, + A7_PMU_PERFCTR_L1I_TLB_MISS_DEMAND =3D 0xcf, + A7_PMU_PERFCTR_UNKNOWN_f5 =3D 0xf5, + A7_PMU_PERFCTR_UNKNOWN_f6 =3D 0xf6, + A7_PMU_PERFCTR_UNKNOWN_f7 =3D 0xf7, + A7_PMU_PERFCTR_UNKNOWN_f8 =3D 0xf8, + A7_PMU_PERFCTR_UNKNOWN_fd =3D 0xfd, + A7_PMU_PERFCTR_LAST =3D M1_PMU_CFG_EVENT, + /* + * From this point onwards, these are not actual HW events, + * but attributes that get stored in hw->config_base. + */ + A7_PMU_CFG_COUNT_USER =3D BIT(8), + A7_PMU_CFG_COUNT_KERNEL =3D BIT(9), +}; + +static const u16 a7_pmu_event_affinity[A7_PMU_PERFCTR_LAST + 1] =3D { + [0 ... A7_PMU_PERFCTR_LAST] =3D ANY_BUT_0_1, + [A7_PMU_PERFCTR_INST_ALL] =3D ANY_BUT_0_1 | BIT(1), + [A7_PMU_PERFCTR_UNKNOWN_1] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_CORE_ACTIVE_CYCLE] =3D ANY_BUT_0_1 | BIT(0), + [A7_PMU_PERFCTR_INST_A32] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_T32] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_A64] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH_CALL] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH_RET] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH_TAKEN] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH_INDIR] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_BRANCH_COND] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_INT_LD] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_INT_ST] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_INT_ALU] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_SIMD_LD] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_SIMD_ST] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_SIMD_ALU] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_INST_LDST] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_8d] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_8e] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_8f] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_90] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_93] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_94] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_95] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_L1D_CACHE_MISS_ST] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_L1D_CACHE_MISS_LD] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_9b] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_LD_UNIT_UOP] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_9f] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_c1] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_c4] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_c5] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_c6] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_c8] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_ca] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_cb] =3D ONLY_5_6_7, + [A7_PMU_PERFCTR_UNKNOWN_f5] =3D ONLY_2_4_6, + [A7_PMU_PERFCTR_UNKNOWN_f6] =3D ONLY_2_4_6, + [A7_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_2_4_6, + [A7_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, +}; + enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, @@ -165,6 +303,14 @@ static const u16 m1_pmu_event_affinity[M1_PMU_PERFCTR_= LAST + 1] =3D { [M1_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, }; =20 +static const unsigned int a7_pmu_perf_map[PERF_COUNT_HW_MAX] =3D { + PERF_MAP_ALL_UNSUPPORTED, + [PERF_COUNT_HW_CPU_CYCLES] =3D A7_PMU_PERFCTR_CORE_ACTIVE_CYCLE, + [PERF_COUNT_HW_INSTRUCTIONS] =3D A7_PMU_PERFCTR_INST_ALL, + [PERF_COUNT_HW_BRANCH_MISSES] =3D A7_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC, + [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] =3D A7_PMU_PERFCTR_INST_BRANCH +}; + static const unsigned m1_pmu_perf_map[PERF_COUNT_HW_MAX] =3D { PERF_MAP_ALL_UNSUPPORTED, [PERF_COUNT_HW_CPU_CYCLES] =3D M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE, @@ -199,6 +345,17 @@ static ssize_t m1_pmu_events_sysfs_show(struct device = *dev, #define M1_PMU_EVENT_ATTR(name, config) \ PMU_EVENT_ATTR_ID(name, m1_pmu_events_sysfs_show, config) =20 +static struct attribute *a7_pmu_event_attrs[] =3D { + M1_PMU_EVENT_ATTR(cycles, A7_PMU_PERFCTR_CORE_ACTIVE_CYCLE), + M1_PMU_EVENT_ATTR(instructions, A7_PMU_PERFCTR_INST_ALL), + NULL, +}; + +static const struct attribute_group a7_pmu_events_attr_group =3D { + .name =3D "events", + .attrs =3D a7_pmu_event_attrs, +}; + static struct attribute *m1_pmu_event_attrs[] =3D { M1_PMU_EVENT_ATTR(cycles, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE), M1_PMU_EVENT_ATTR(instructions, M1_PMU_PERFCTR_INST_ALL), @@ -521,6 +678,12 @@ static int apple_pmu_get_event_idx(struct pmu_hw_event= s *cpuc, return -EAGAIN; } =20 +static int a7_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, a7_pmu_event_affinity); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -544,6 +707,11 @@ static void __m1_pmu_set_mode(u8 mode) isb(); } =20 +static void a7_pmu_start(struct arm_pmu *cpu_pmu) +{ + __m1_pmu_set_mode(PMCR0_IMODE_AIC); +} + static void m1_pmu_start(struct arm_pmu *cpu_pmu) { __m1_pmu_set_mode(PMCR0_IMODE_FIQ); @@ -578,6 +746,11 @@ static int apple_pmu_map_event_63(struct perf_event *e= vent, return armpmu_map_event(event, perf_map, NULL, M1_PMU_CFG_EVENT); } =20 +static int a7_pmu_map_event(struct perf_event *event) +{ + return apple_pmu_map_event_47(event, &a7_pmu_perf_map); +} + static int m1_pmu_map_event(struct perf_event *event) { return apple_pmu_map_event_47(event, &m1_pmu_perf_map); @@ -623,6 +796,11 @@ static void apple_pmu_reset(void *info, u32 counters) isb(); } =20 +static void a7_pmu_reset(void *info) +{ + apple_pmu_reset(info, A7_PMU_NR_COUNTERS); +} + static void m1_pmu_reset(void *info) { apple_pmu_reset(info, M1_PMU_NR_COUNTERS); @@ -673,6 +851,17 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32= counters) } =20 /* Device driver gunk */ +static int a7_pmu_cyclone_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_cyclone_pmu"; + cpu_pmu->get_event_idx =3D a7_pmu_get_event_idx; + cpu_pmu->map_event =3D a7_pmu_map_event; + cpu_pmu->reset =3D a7_pmu_reset; + cpu_pmu->start =3D a7_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &a7_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); +} + static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; @@ -722,6 +911,7 @@ static const struct of_device_id m1_pmu_of_device_ids[]= =3D { { .compatible =3D "apple,blizzard-pmu", .data =3D m2_pmu_blizzard_init, }, { .compatible =3D "apple,icestorm-pmu", .data =3D m1_pmu_ice_init, }, { .compatible =3D "apple,firestorm-pmu", .data =3D m1_pmu_fire_init, }, + { .compatible =3D "apple,cyclone-pmu", .data =3D a7_pmu_cyclone_init, }, { }, }; MODULE_DEVICE_TABLE(of, m1_pmu_of_device_ids); --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18BE23009E4 for ; Tue, 14 Oct 2025 15:04:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454295; cv=none; b=ljKrwbPWVBY6fCPvyg8YOUGWVOBFM1ygIYj31pwT8gKVSEsNgrJBEU/zhqL+3alzf4GV5Yqlk7faufsXapiRu1BF5h5cRs7pSFrNXywyJacrUsytLB9GikEZLHoW9s4o9rjUDjv6+p7N9M3WY2JGA6heK2zu7s5+71kNLPvUDnA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454295; c=relaxed/simple; bh=0Gjw2DLDf2HcgWJCa0UKXhEAmzcC7ohJTyexzyC2M4w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SixApAOumcaD99DEItCGuXEZBI/BsPH7nb9D7zPekmaJ/DZDMqilPOS4X+RJX3LAv54CIVWirbdcY+iYZM+J9MmhdwC+PajMxNV+cCxrqbvYp9x/hY2OnVG+sq9+GSWLhAluNnNTw+tGu4kkYun16eq2HBwnPfQqB7rQAYRgr+E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IeejP30n; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IeejP30n" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2680cf68265so42829805ad.2 for ; Tue, 14 Oct 2025 08:04:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454293; x=1761059093; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8gRaoB9vYf5O7cEPCC+wUggQERU2xhO24hdBoAxLCGI=; b=IeejP30nUwnc1VapOx8BnwEjnTAiYXCoYBdlucknOg+2wk0PLvE1Lf5EIOUpjIgZ5+ k6MuJx99fohLlemb2fakFgzikRhBMZ2TRwlCYE5mNn0+z/eAlvnBFIYjTiWW9vDs2DMD /HovHjthL54ZqAAwytr7h7Owe0zi2OD6CrrCmapWyqJJa2UG4sYmz5NwzJuVdlnn7yZv 3LPmps8bZfd1scbjVSNHZJvielVX5HYoR0CZiomM8PoEyuzrpzhjtaqcSDMCX3pAzhpN B+YT5zJ1vQgY2Z+359Ij6s7EvjAn5NkzNSnP2UOwCZbWEoND98/Y1WlmRAc0iLwSCuqC mxRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454293; x=1761059093; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8gRaoB9vYf5O7cEPCC+wUggQERU2xhO24hdBoAxLCGI=; b=g+ZTpt2X5W+KzOYyOhD0i1+h/1dIy0lUusEc9JPQ01senKa66LEWjG96mG2ovOwWFg 8Z4gYK8iihPtkm7pdCdjtpo6fWXhK4eJIDIez4+z23QZ5rMg/ukRIhfG90bIpzRUsxa+ xERoGVaREjZUpYMTqdumWeVPuXHHk3UHr/8kO+q3EKInxgG+D/xZ7Xk+lcbsMF69gvZC FjS87nk/mYAxeIzJmSlQLRM0KDz8Ktdz9S0IGD96qvN3NUKQdA6uJj/um8EelQuXlAHE EfMHHuq/tXkS2us7lGPu3owuRqesxaG2fxs2/+MQfHcrYREHfRHlnYt5tFLyI+EkptCu fyAQ== X-Forwarded-Encrypted: i=1; AJvYcCUQFtDVHHELyCPn0kBZiSAg2KZqM3gVJ/N6JNiTNGmDfnPSkG7JwrK1vztba5RUdiCM9h+U5HmbO/iQ6ik=@vger.kernel.org X-Gm-Message-State: AOJu0YwP7Xn5OtdsC61XzfC7lyOEwqwK1yJn2vcI/BAKb4giIOEURW3s wuVCoHwSbpu63GzPB/egARpUi+gzGqY3VN6yZHkbiGEIrezSZTehdqzg X-Gm-Gg: ASbGncv0zJuOE3kZzd92+hOeBmne38iyYYnmt8eJfd+mQ9Oo0RURbTksJU4XeZ9nV7u 6nI55hvehhp4xqWMYb13RN4Lw9gi1z0I1WuGDpErd9JUWs83JM5pFvxR4xejjHiI7dLa5KXDoQV Od0qqkMiU7fI3hdUM19CzCb4lcWbWjRP9VV2GP0kn/B0Q6Ekgkwtr2Wise7cWUNmS33LOy8PhoI D8awukWUoAidiF5Wpq3SZpRHeOVykuiYNj7qxAZsLfPeDYnOO3lI0a8hCGDHRHFW0dvlZcmEy50 MF7U0Bn3rmhnC9rcwi+cEi5qVPowLJNwME4AvUPKsrUQr7TodheklgME2YadxTs9mUdrm5juxYE 80QXKr7tkkhBFkKQJxG9OZop433Ewl6k66Kfe05WNsbE= X-Google-Smtp-Source: AGHT+IGEcexnjuWv4uKKhiZEMjQNaMjwxKJ/G051kvFMhwqPikaIZbz2VxIFWcJ6NHwQSErS4ckW7Q== X-Received: by 2002:a17:903:1b64:b0:240:9dd8:219b with SMTP id d9443c01a7336-290272e6eacmr332773645ad.49.1760454291450; Tue, 14 Oct 2025 08:04:51 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:50 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:42 +0800 Subject: [PATCH RESEND v8 09/21] drivers/perf: apple_m1: Add Apple A8/A8X support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-9-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Ivaylo Ivanov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7370; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=0Gjw2DLDf2HcgWJCa0UKXhEAmzcC7ohJTyexzyC2M4w=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZt5Nel8HBwey9FaRU3GtXghr4o7kWGTzGSP wlEoM9hXQeJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JJH/D/9IoVRkib5GuXi5rf4jezM4WlaGo3yNMjrHIZ6vQOv/0n3DE/YkcARSyqyXMc3OyF3o7jt 2O2/aqA/FfALiLzNi1bQY0R8Kecut6yyGx7iVAXzAeNyDEZBZdt7xWWBHQ+pHeUBVRXdFWMxJeL oO229maWEgcf/ho1tDmpObUSdFv/PgYhp5FR6eBdGNrJUWZ4y2T2urWircox+DJ1oj3rOWUrpuA 4h8fGGCcyD98Pj1NgBKIZjYedOc4zHGGR6SDs76Gt4bI7DLPAPPRBkqcFlXNOcswHT0G81KaRR6 hGSBXvmkAhyMG3gZZTGs2AtBslROQnVah6U2GGEnB+JkP4Fl4BbjGw2N+cEpXcPAfa/K7GNY1r2 +M5+DgzhiJWvHwuyGgCaVcUAXm64Lghx5j5+a9GEl5FgtH10VhUzlN9hwU4OA4nN7DRe1Vd311k Lo8Ctc4MNoP4SZ96nf+Yi5KncMnD2k/cxd2DXyJAjJovSvUDJBwDcnoVoNZ+ZGMK8SGknRh2oby 1jsJ6bSdEP8ype5wh2ktZC5g4SUbfU/su1tZ8NN9RTt58PC+ynG7YqGHoN1JqopxUTZ0ZvwBUhw NZKwL7j6BZDZ2qOFJNk0+n78TQVFQlKGYtZfPQb/Xy6x9Wq/uOuZBNWlFMPLov6I3jAJp3OZkd1 Xll4HBDbh8zwF6Q== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found on the Apple A8, A8X SoCs. Tested-by: Ivaylo Ivanov Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 124 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 124 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index afcf7c951379698ceff21c1a99cca31b3a6177b1..a95f4b717857b30284470487827= 954dd4b139010 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -28,6 +28,7 @@ #define ANY_BUT_0_1 GENMASK(9, 2) #define ONLY_2_TO_7 GENMASK(7, 2) #define ONLY_2_4_6 (BIT(2) | BIT(4) | BIT(6)) +#define ONLY_3_5_7 (BIT(3) | BIT(5) | BIT(7)) #define ONLY_5_6_7 (BIT(5) | BIT(6) | BIT(7)) =20 /* @@ -183,6 +184,111 @@ static const u16 a7_pmu_event_affinity[A7_PMU_PERFCTR= _LAST + 1] =3D { [A7_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, }; =20 +enum a8_pmu_events { + A8_PMU_PERFCTR_UNKNOWN_1 =3D 0x1, + A8_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, + A8_PMU_PERFCTR_L2_TLB_MISS_INSTRUCTION =3D 0xa, + A8_PMU_PERFCTR_L2_TLB_MISS_DATA =3D 0xb, + A8_PMU_PERFCTR_BIU_UPSTREAM_CYCLE =3D 0x13, + A8_PMU_PERFCTR_BIU_DOWNSTREAM_CYCLE =3D 0x14, + A8_PMU_PERFCTR_L2C_AGENT_LD =3D 0x1a, + A8_PMU_PERFCTR_L2C_AGENT_LD_MISS =3D 0x1b, + A8_PMU_PERFCTR_L2C_AGENT_ST =3D 0x1c, + A8_PMU_PERFCTR_L2C_AGENT_ST_MISS =3D 0x1d, + A8_PMU_PERFCTR_SCHEDULE_UOP =3D 0x52, + A8_PMU_PERFCTR_MAP_REWIND =3D 0x75, + A8_PMU_PERFCTR_MAP_STALL =3D 0x76, + A8_PMU_PERFCTR_MAP_INT_UOP =3D 0x7b, + A8_PMU_PERFCTR_MAP_LDST_UOP =3D 0x7c, + A8_PMU_PERFCTR_MAP_SIMD_UOP =3D 0x7d, + A8_PMU_PERFCTR_FLUSH_RESTART_OTHER_NONSPEC =3D 0x84, + A8_PMU_PERFCTR_INST_A32 =3D 0x8a, + A8_PMU_PERFCTR_INST_T32 =3D 0x8b, + A8_PMU_PERFCTR_INST_ALL =3D 0x8c, + A8_PMU_PERFCTR_INST_BRANCH =3D 0x8d, + A8_PMU_PERFCTR_INST_BRANCH_CALL =3D 0x8e, + A8_PMU_PERFCTR_INST_BRANCH_RET =3D 0x8f, + A8_PMU_PERFCTR_INST_BRANCH_TAKEN =3D 0x90, + A8_PMU_PERFCTR_INST_BRANCH_INDIR =3D 0x93, + A8_PMU_PERFCTR_INST_BRANCH_COND =3D 0x94, + A8_PMU_PERFCTR_INST_INT_LD =3D 0x95, + A8_PMU_PERFCTR_INST_INT_ST =3D 0x96, + A8_PMU_PERFCTR_INST_INT_ALU =3D 0x97, + A8_PMU_PERFCTR_INST_SIMD_LD =3D 0x98, + A8_PMU_PERFCTR_INST_SIMD_ST =3D 0x99, + A8_PMU_PERFCTR_INST_SIMD_ALU =3D 0x9a, + A8_PMU_PERFCTR_INST_LDST =3D 0x9b, + A8_PMU_PERFCTR_UNKNOWN_9c =3D 0x9c, + A8_PMU_PERFCTR_UNKNOWN_9f =3D 0x9f, + A8_PMU_PERFCTR_L1D_TLB_ACCESS =3D 0xa0, + A8_PMU_PERFCTR_L1D_TLB_MISS =3D 0xa1, + A8_PMU_PERFCTR_L1D_CACHE_MISS_ST =3D 0xa2, + A8_PMU_PERFCTR_L1D_CACHE_MISS_LD =3D 0xa3, + A8_PMU_PERFCTR_LD_UNIT_UOP =3D 0xa6, + A8_PMU_PERFCTR_ST_UNIT_UOP =3D 0xa7, + A8_PMU_PERFCTR_L1D_CACHE_WRITEBACK =3D 0xa8, + A8_PMU_PERFCTR_LDST_X64_UOP =3D 0xb1, + A8_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC =3D 0xbf, + A8_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC =3D 0xc0, + A8_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC =3D 0xc1, + A8_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC =3D 0xc4, + A8_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC =3D 0xc5, + A8_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC =3D 0xc6, + A8_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC =3D 0xc8, + A8_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC =3D 0xca, + A8_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC =3D 0xcb, + A8_PMU_PERFCTR_FED_IC_MISS_DEMAND =3D 0xd3, + A8_PMU_PERFCTR_L1I_TLB_MISS_DEMAND =3D 0xd4, + A8_PMU_PERFCTR_FETCH_RESTART =3D 0xde, + A8_PMU_PERFCTR_UNKNOWN_f5 =3D 0xf5, + A8_PMU_PERFCTR_UNKNOWN_f6 =3D 0xf6, + A8_PMU_PERFCTR_UNKNOWN_f7 =3D 0xf7, + A8_PMU_PERFCTR_LAST =3D M1_PMU_CFG_EVENT, + + /* + * From this point onwards, these are not actual HW events, + * but attributes that get stored in hw->config_base. + */ + A8_PMU_CFG_COUNT_USER =3D BIT(8), + A8_PMU_CFG_COUNT_KERNEL =3D BIT(9), +}; + +static const u16 a8_pmu_event_affinity[A8_PMU_PERFCTR_LAST + 1] =3D { + [0 ... A8_PMU_PERFCTR_LAST] =3D ANY_BUT_0_1, + [A8_PMU_PERFCTR_UNKNOWN_1] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_CORE_ACTIVE_CYCLE] =3D ANY_BUT_0_1 | BIT(0), + [A8_PMU_PERFCTR_INST_A32] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_T32] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_ALL] =3D BIT(7) | BIT(1), + [A8_PMU_PERFCTR_INST_BRANCH] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_BRANCH_CALL] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_BRANCH_RET] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_BRANCH_TAKEN] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_BRANCH_INDIR] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_BRANCH_COND] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_INT_LD] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_INT_ST] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_INT_ALU] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_SIMD_LD] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_SIMD_ST] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_SIMD_ALU] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_INST_LDST] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_UNKNOWN_9c] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_UNKNOWN_9f] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A8_PMU_PERFCTR_UNKNOWN_f5] =3D ANY_BUT_0_1, + [A8_PMU_PERFCTR_UNKNOWN_f6] =3D ONLY_3_5_7, + [A8_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_3_5_7, +}; + enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, @@ -684,6 +790,12 @@ static int a7_pmu_get_event_idx(struct pmu_hw_events *= cpuc, return apple_pmu_get_event_idx(cpuc, event, a7_pmu_event_affinity); } =20 +static int a8_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, a8_pmu_event_affinity); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -862,6 +974,17 @@ static int a7_pmu_cyclone_init(struct arm_pmu *cpu_pmu) return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); } =20 +static int a8_pmu_typhoon_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_typhoon_pmu"; + cpu_pmu->get_event_idx =3D a8_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + cpu_pmu->reset =3D a7_pmu_reset; + cpu_pmu->start =3D a7_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); +} + static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; @@ -911,6 +1034,7 @@ static const struct of_device_id m1_pmu_of_device_ids[= ] =3D { { .compatible =3D "apple,blizzard-pmu", .data =3D m2_pmu_blizzard_init, }, { .compatible =3D "apple,icestorm-pmu", .data =3D m1_pmu_ice_init, }, { .compatible =3D "apple,firestorm-pmu", .data =3D m1_pmu_fire_init, }, + { .compatible =3D "apple,typhoon-pmu", .data =3D a8_pmu_typhoon_init, }, { .compatible =3D "apple,cyclone-pmu", .data =3D a7_pmu_cyclone_init, }, { }, }; --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 24EE93009F7 for ; Tue, 14 Oct 2025 15:04:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454298; cv=none; b=B/CKlg/SE9OUdOUl66RXziZHlrbfP389gFoiwojz4ZF3Ax3nO+oBdZudKTQSiHIwdKf0l3fAsnhQXmXeTRTtKvWvKvJlQOWoG3toodKl7B1KnrcKwS/6EWh2ehKKUijfhpCPRlaij18i9Ie64imLoqfu9OpkYcc4/Z6c+KFd4lA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454298; c=relaxed/simple; bh=LUTF42ROOv9lWR+4KsOLqtJZDON2mQ0ehFAdOL90kEI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ti3NIfbVpRNroWhAfSPqnCnnUvlfH6yYuGVNzPQiyIEesrgkjN/fNO3mP5ZK04yTE5GmPeyi7iIFivw0LpbQ57lAiLj7ajNujDulXLmyXNykr14vM2zHv6m99llyfqa27oGlboIN4omYACNUXh4rC1fU2uBGAFtst9tTD16cmXg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MCqU7POk; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MCqU7POk" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-3324523dfb2so5347539a91.0 for ; Tue, 14 Oct 2025 08:04:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454295; x=1761059095; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kW/u6QKovqkYoXjfaaQ4q+qjIiyLs7/vzeRi0yEodtg=; b=MCqU7POkIth5pqk25ZI4nqhGiqVXWA7kcRQ8W0hsN4znygvnlVZ5heUPt2/+Adm91b PWE7mkHUNTVJ3ZJhkGhcay9bVqhL0c1IDvKZyJi7OLQDPFmjSZns5+ZKmwX5wk6lzhN+ cNZgM4IxnM4WORRHuineYiR9qDJaiG4t06Wzuh5dxG2mBPknxQ6gFrX9ad3FlVa6lAD/ Az3qT6hVRKKP4RsCECM/EGrkl2Aoq6qUoRRj1kw//IuziMYauyQ0eJfBaAc2LBh61Kpl Hxmmz3ofU+8KOS0o0iZSKLIXXDh4oS0SN2cb7F4KgN3TsdyVvSlHUN0mJH0ExMK8QuS/ wNNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454295; x=1761059095; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kW/u6QKovqkYoXjfaaQ4q+qjIiyLs7/vzeRi0yEodtg=; b=K33rgxrHuXAeLurfEXsi74K9w4nAyWDcYDDXj+W2AJ70CmMvMRgkDKoX4m/ziXWTqC OeF1q3cuzBxORk07exLrIapotcbVC8xZLwFTqKezOVcEVq1A7njO6ITxDBAiewP9XTd1 7QmAW61GTRaM8HYxW8ZNf/Ff8cu5K6mTfjccnr4Oqwd5V5wF1yTDGFEE0ujOKLa7Ao1p PkyEr1F3Dv9BFMrhloJBrQ1uaS37FnTBNR7XOQJGTC6UanRoBFGMLSFZswUaFDdaWi54 xdjoeqU8ZXD+M28/w0tSz2a6iUcU7b1FdGXJ/J30cFipm/+7uK1PAZLemKvcM6WcZKJq 14BA== X-Forwarded-Encrypted: i=1; AJvYcCVKad/L/sa6LxnprHuVZvXzsm7yfBEogcaEOi2hVD+ItV4JQn6EihsLhNQXvtvzCGjzpYlfUp8fHebtJrA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx03HeT62ZTfOh+7yBW4mM8eylPz/g+8aLPHq2kjjXBbgJm85Ar qmvxX+PLovMNVDs+fPKZoJ43c60O2MO9cfdT6xc1/5NIy4EUUcvsUNy4 X-Gm-Gg: ASbGncveNqr9/ctdIT2mNMA8m4UKqmbE9FYUEXHzUiLOXMpRZlXOWVMaGPU0xLS2NA6 pWxS2h2KhYGq6Y9MH7qsZ8iVd7mVzTdCNhYdEtlOn1S14V8WYt+VZENDmVEaoG1qKx/bvMNq8oN NxIeKF+fMONCn7NcDeOcZxH7vc/n+wcO95vitJyjytlUleiLXYY9l6K6Wsa5PrVrriCppJWGjc2 om6o99NwIV4A8N0SxeGAOmTVYTehDpYIOlWWQIFLfIbP9b7YDWk+LxbdAJjxgM9wtzzbmj9DYf6 wu/h3w8JJSRRik5hHGzdjiDba1ZGgkmc9D8hYIyac2LVOCf6L/Qn5zB0ntEp0bRoH9eiUd7uSCm soYUHSyfwvXEAnyPCJUpWSSd1P2otiqG/Mi79KB+kVTuYIGSoB9Uq5g== X-Google-Smtp-Source: AGHT+IGWEYfz6S7fBW8hYoBfI6lrDbXyJBW7+t8uQ+PjryqFALRTMaYLRekN7tr5rlO7RGXjszMx0g== X-Received: by 2002:a17:90b:17c2:b0:327:734a:ae7a with SMTP id 98e67ed59e1d1-33b5114ac35mr38359206a91.11.1760454294937; Tue, 14 Oct 2025 08:04:54 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:54 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:43 +0800 Subject: [PATCH RESEND v8 10/21] drivers/perf: apple_m1: Add A9/A9X support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-10-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6996; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=LUTF42ROOv9lWR+4KsOLqtJZDON2mQ0ehFAdOL90kEI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZtec0PQOYZIGiMTtpefUJyY3aDExejo7wKe M0ogNW4vKKJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JFenD/9yz/diCSxayNLMe2twXM9qZ21WmlERVHszhj72MD3z5IsUSKkKdc8zEp4smMU/c1o64HE 2Suh+l17Xx6+QzywU3a4kcA7Dw0r3OeQkiBMDFsjIa/51tUkrBBzGT5tEi8KuqPIzu1z/HsaL+1 RP5GJSD5tH+fNC2IcXw+6YvEi8L6JawK0nbfnZB0c+tLYjEWGqwJJ3hNgUdgBkWzJoNAxyeiDp2 yJKPaHvjOAzAFXKA8xZ9mJNCc6NVmfNrBrT5yLtpJcLLUuUYAEgazvdP+9o7hXa1Jz4eSVQ0JE/ Eun6hWVWIAODbXQiwyT8hlYuW00xCw1yavep35bURjjS9QPc7MNklls4F2A4vqoYQN6N8gyrhbk 0xiTB8gBYLtUya2LMtqRoLzzUgcTPG1ns80/g1pdIt7DaHFVqPa1XHE2dRTwba8YbsCKB5jQc2x 9kjUaQlzmv1ZdGCVdRswcEsdB+aU8BsUs62cV2mQgu9K0qXsgAOHPpZ10kgixb5u43hWGnSxrIe hsLnHnZE5S2FxKVqWE7Xgnof6EYKFX+bQORWTjUkI7ir9DYJW5luhWb6rXuVTLP/6RZKIrMrTPY a1szlmkWAg/kQfLZ4VB63o7nD7nTxDZK0y3My4QxVu74FEI68dBanZ0TrJyeBP5b3t88m9tYjlS 0/L5Tug+76MBAiw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for CPU PMU found in the Apple A9 and A9X SoCs. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 121 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 121 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index a95f4b717857b30284470487827954dd4b139010..bfaf926fd47b02a7d77ac31cbb9= 7779b5ebedec4 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -289,6 +289,109 @@ static const u16 a8_pmu_event_affinity[A8_PMU_PERFCTR= _LAST + 1] =3D { [A8_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_3_5_7, }; =20 + +enum a9_pmu_events { + A9_PMU_PERFCTR_UNKNOWN_1 =3D 0x1, + A9_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, + A9_PMU_PERFCTR_L2_TLB_MISS_INSTRUCTION =3D 0xa, + A9_PMU_PERFCTR_L2_TLB_MISS_DATA =3D 0xb, + A9_PMU_PERFCTR_L2C_AGENT_LD =3D 0x1a, + A9_PMU_PERFCTR_L2C_AGENT_LD_MISS =3D 0x1b, + A9_PMU_PERFCTR_L2C_AGENT_ST =3D 0x1c, + A9_PMU_PERFCTR_L2C_AGENT_ST_MISS =3D 0x1d, + A9_PMU_PERFCTR_SCHEDULE_UOP =3D 0x52, + A9_PMU_PERFCTR_MAP_REWIND =3D 0x75, + A9_PMU_PERFCTR_MAP_STALL =3D 0x76, + A9_PMU_PERFCTR_MAP_INT_UOP =3D 0x7c, + A9_PMU_PERFCTR_MAP_LDST_UOP =3D 0x7d, + A9_PMU_PERFCTR_MAP_SIMD_UOP =3D 0x7e, + A9_PMU_PERFCTR_FLUSH_RESTART_OTHER_NONSPEC =3D 0x84, + A9_PMU_PERFCTR_INST_ALL =3D 0x8c, + A9_PMU_PERFCTR_INST_BRANCH =3D 0x8d, + A9_PMU_PERFCTR_INST_BRANCH_CALL =3D 0x8e, + A9_PMU_PERFCTR_INST_BRANCH_RET =3D 0x8f, + A9_PMU_PERFCTR_INST_BRANCH_TAKEN =3D 0x90, + A9_PMU_PERFCTR_INST_BRANCH_INDIR =3D 0x93, + A9_PMU_PERFCTR_INST_BRANCH_COND =3D 0x94, + A9_PMU_PERFCTR_INST_INT_LD =3D 0x95, + A9_PMU_PERFCTR_INST_INT_ST =3D 0x96, + A9_PMU_PERFCTR_INST_INT_ALU =3D 0x97, + A9_PMU_PERFCTR_INST_SIMD_LD =3D 0x98, + A9_PMU_PERFCTR_INST_SIMD_ST =3D 0x99, + A9_PMU_PERFCTR_INST_SIMD_ALU =3D 0x9a, + A9_PMU_PERFCTR_INST_LDST =3D 0x9b, + A9_PMU_PERFCTR_INST_BARRIER =3D 0x9c, + A9_PMU_PERFCTR_UNKNOWN_9f =3D 0x9f, + A9_PMU_PERFCTR_L1D_TLB_ACCESS =3D 0xa0, + A9_PMU_PERFCTR_L1D_TLB_MISS =3D 0xa1, + A9_PMU_PERFCTR_L1D_CACHE_MISS_ST =3D 0xa2, + A9_PMU_PERFCTR_L1D_CACHE_MISS_LD =3D 0xa3, + A9_PMU_PERFCTR_LD_UNIT_UOP =3D 0xa6, + A9_PMU_PERFCTR_ST_UNIT_UOP =3D 0xa7, + A9_PMU_PERFCTR_L1D_CACHE_WRITEBACK =3D 0xa8, + A9_PMU_PERFCTR_LDST_X64_UOP =3D 0xb1, + A9_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_SUCC =3D 0xb3, + A9_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_FAIL =3D 0xb4, + A9_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC =3D 0xbf, + A9_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC =3D 0xc0, + A9_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC =3D 0xc1, + A9_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC =3D 0xc4, + A9_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC =3D 0xc5, + A9_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC =3D 0xc6, + A9_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC =3D 0xc8, + A9_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC =3D 0xca, + A9_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC =3D 0xcb, + A9_PMU_PERFCTR_FED_IC_MISS_DEMAND =3D 0xd3, + A9_PMU_PERFCTR_L1I_TLB_MISS_DEMAND =3D 0xd4, + A9_PMU_PERFCTR_MAP_DISPATCH_BUBBLE =3D 0xd6, + A9_PMU_PERFCTR_FETCH_RESTART =3D 0xde, + A9_PMU_PERFCTR_ST_NT_UOP =3D 0xe5, + A9_PMU_PERFCTR_LD_NT_UOP =3D 0xe6, + A9_PMU_PERFCTR_UNKNOWN_f6 =3D 0xf6, + A9_PMU_PERFCTR_UNKNOWN_f7 =3D 0xf7, + A9_PMU_PERFCTR_LAST =3D M1_PMU_CFG_EVENT, + + /* + * From this point onwards, these are not actual HW events, + * but attributes that get stored in hw->config_base. + */ + A9_PMU_CFG_COUNT_USER =3D BIT(8), + A9_PMU_CFG_COUNT_KERNEL =3D BIT(9), +}; + +static const u16 a9_pmu_event_affinity[A9_PMU_PERFCTR_LAST + 1] =3D { + [0 ... A9_PMU_PERFCTR_LAST] =3D ANY_BUT_0_1, + [A9_PMU_PERFCTR_UNKNOWN_1] =3D BIT(7), + [A9_PMU_PERFCTR_CORE_ACTIVE_CYCLE] =3D ANY_BUT_0_1 | BIT(0), + [A9_PMU_PERFCTR_INST_ALL] =3D BIT(7) | BIT(1), + [A9_PMU_PERFCTR_INST_BRANCH] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BRANCH_CALL] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BRANCH_RET] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BRANCH_TAKEN] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BRANCH_INDIR] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BRANCH_COND] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_INT_LD] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_INT_ST] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_INT_ALU] =3D BIT(7), + [A9_PMU_PERFCTR_INST_SIMD_LD] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_SIMD_ST] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_SIMD_ALU] =3D BIT(7), + [A9_PMU_PERFCTR_INST_LDST] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_INST_BARRIER] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_UNKNOWN_9f] =3D BIT(7), + [A9_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A9_PMU_PERFCTR_UNKNOWN_f6] =3D ONLY_3_5_7, + [A9_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_3_5_7, +}; + enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, @@ -796,6 +899,12 @@ static int a8_pmu_get_event_idx(struct pmu_hw_events *= cpuc, return apple_pmu_get_event_idx(cpuc, event, a8_pmu_event_affinity); } =20 +static int a9_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, a9_pmu_event_affinity); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -985,6 +1094,17 @@ static int a8_pmu_typhoon_init(struct arm_pmu *cpu_pm= u) return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); } =20 +static int a9_pmu_twister_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_twister_pmu"; + cpu_pmu->get_event_idx =3D a9_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + cpu_pmu->reset =3D a7_pmu_reset; + cpu_pmu->start =3D a7_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); +} + static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; @@ -1034,6 +1154,7 @@ static const struct of_device_id m1_pmu_of_device_ids= [] =3D { { .compatible =3D "apple,blizzard-pmu", .data =3D m2_pmu_blizzard_init, }, { .compatible =3D "apple,icestorm-pmu", .data =3D m1_pmu_ice_init, }, { .compatible =3D "apple,firestorm-pmu", .data =3D m1_pmu_fire_init, }, + { .compatible =3D "apple,twister-pmu", .data =3D a9_pmu_twister_init, }, { .compatible =3D "apple,typhoon-pmu", .data =3D a8_pmu_typhoon_init, }, { .compatible =3D "apple,cyclone-pmu", .data =3D a7_pmu_cyclone_init, }, { }, --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 87785301026 for ; Tue, 14 Oct 2025 15:04:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454301; cv=none; b=IfcpOZHU11OytkfP+fOwo48D3j5dVQcC4+O9LGy4aLWQyBU2V3OoeokOpw+EdFJxmsip563ByhD9WSvHbTwoQ9/AkUWTbQSPdVf4gjpmqcfwWAqNnYO08KshDjfhvV51dmHkPteYCDIDbPR1ShxSFSkJa0Y8WXFjAsgoALTaryQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454301; c=relaxed/simple; bh=wFKk1NRP+ZMWRbYofs8l7oAm27DHSag/Moujm6quV7I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kx9ql3UbgYWOcB3uZvzIKh+PKJw7Ia9/KLu/P5BYNyCLj06cQimnOYUeyYwu6P8Zns+/D5vNTmleh0Mdel7ZFbQDO3taEYFYmOKESOkj8lYeXeEc7bjwW33C+nOia3FN2vKz5b1k7MTBAyv6932Tsn2UoiAzwpj9IST8tA5z9So= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=D560tr3Q; arc=none smtp.client-ip=209.85.210.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D560tr3Q" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-782a77b5ec7so4901163b3a.1 for ; Tue, 14 Oct 2025 08:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454299; x=1761059099; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RWNYzRq/Vb7U7TDz4etpmaiwu2aIj7aVaqiDoz+nPgw=; b=D560tr3QW177TG3hBqktMBTVlGYWG5lHDKBw3zJdV/iK9NAHqBRDKHyNCFe1ATBETv 89LWvndYCaVar7rYXNk6ytBD0fdViNL81CChira5BWQpVZ/D98du+MW70PRcraNgjW/1 QstRBw1ZvUutpB4kefpphv1SSU1INGSY1++s4q/IdP7Yq5ruMeYcXnJYwC8qqP2krLSH LIwnCpECmWz8yvTJUN4sZ0Z6SUYuOhxn8mKKrDBwup89oGR3CXeVr/wTF6Rd93hEcet/ x++dQ4QOt65YR6+9UNYDD0cI/brJuSmNVoIhDWwWqu+sQgxpj0hdjlnRb4+1sGn+V5xK RlHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454299; x=1761059099; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RWNYzRq/Vb7U7TDz4etpmaiwu2aIj7aVaqiDoz+nPgw=; b=Im9p6oVtEPrUYpw84U0dsqUwXXuYVkbcHvK2PXzNy1ajWA59oquQR2gbop4KupCCOg AHy3SgbmnoSTTXogR/nKx5JOe415nf+iswl/KRYiIxvQQKK9VZX6MVg9ReKO9B/3K6RK h/nLAO+Q8iR36r3d9HQdPDIcoNgU5sZe8/OeChRdL2lxDCYhpdjVrenZ4mTGXc4UcqaP Cu57PN2Io/5ZC6SUL2pEO4UawM1P43wi9c3eL0boMg1DO4A2HxzIVjwDhNhqrPN0spvl 7wf4TqhqYv9iYp2mLa9WA9UWOycxTgMF6FKN/HgihOOsgx7kn5LGKudbvX8NjUVrerec Rllw== X-Forwarded-Encrypted: i=1; AJvYcCWzsZs1zs9eC2gZsfDaiu0cpIkYV7+vBwpfC7sIg1dAqq8EPbZDzlonyjNqG3Fcpp6ddUWi1/oT257gQ7M=@vger.kernel.org X-Gm-Message-State: AOJu0Yyr/3hUelpJUns/4YKwD+qwKUYv3RBW3jN67LdqGoavZipXzkPk eRKndCIer2pMauKSHWo4HjjvklGzlBGMZzi1y3WUYUHJwwNt1gmi7Ky2 X-Gm-Gg: ASbGncuYpYGUTEW/3AbNDLHL2rj3auperNPokZlsJB/u7jOOGwMEzVyTTRjepj/+yl/ fHDy3CNE39tMqaCW1Jqe9eojTxArOXQEf56zfk8sZCW/y/WIyONnMbylMGuqVWEOI9udGJTH+QE rmUSAsmyGSbMWZ+/tfLTVkIWgYiGzwo/9m6l37tCEkBDt1qY5IIpCX6B+M7V9r+jOBsp8PF2oYh Te6TrrPsm4EP/fpzemWHLiLw8LNfXconrESHcjMMONX57Njr6VDolGAyGItVzUjbRGRX/EMkFVF 9qXypscZQnT7Cz/CG7tB+EFQeKAq4s2AqurewcW5Swm1yvIoVWtE+UUHf6jodGx8sNVstb43IW/ hhIQ9bcM6hxhmF2IH8+lNY+ahUVa41em7RuR/DsBeIn6VNvDz3E567A== X-Google-Smtp-Source: AGHT+IH17YmuaaqO7JuZspNlHz+7IGQHcWblbQk91aIgyg7bKnTbyRNL3r3M0GCsDaVUz48ofFC0VQ== X-Received: by 2002:a05:6a20:729d:b0:266:1f27:a024 with SMTP id adf61e73a8af0-32da8512ce6mr32970237637.41.1760454298575; Tue, 14 Oct 2025 08:04:58 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:04:58 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:44 +0800 Subject: [PATCH RESEND v8 11/21] drivers/perf: apple_m1: Add Apple A10/A10X/T2 Support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-11-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Ivaylo Ivanov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7534; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=wFKk1NRP+ZMWRbYofs8l7oAm27DHSag/Moujm6quV7I=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZtrghSBd63x2uiE3ulWVEesXauzu0EUp+nl 3xycvNfm7qJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbQAKCRABygi3psUI JCmsD/0TMHIrIk+mIqohjGuDFZkVcYY7wosFfO7TX8EIX+NvCuartUNl1BcpQSuhMpdjOmbY6H2 ruFjYs1deLYhKqBUkDAqYKGA94EJK6C9B8s+InW1DpGrE5U08h5OTuLq2nEg/kBTqKvFSAyzr3j TAcaQJYCKwPM9iCQPaBx7dbdearoqsx6Z7B7gN8pTnSM28leiVzJoSAWkn4EE7LKX+FZkyV9pxL DDeTIZSkkrHH4s4aFxJZRsRmhN/JnbHFOJzoceEWu1TfnSnyiWa7OI6vMjSRZGiXGpQP6mKfCnt BFpBKOaljCkN9D1Ut00QEhKNFG9I0b21oA7FFfWD9kqwrD6C974dZdOd/wuJ43BwVFGFuodAiTN GYKPMhftwI1JqEVeFbftAbhaVYscOZH1xwj+Lgg0FsvJWyr1pEWfzk7BzoFMw9Ux4q4AUrjMrFc DAGqAZl2mDs7uSY1cRvAD1JaIan4WEpr44oCkC7gD3sn+Qg3EnmkNvv/kKRaDq8Od42pRIPUHr+ F4OBd8X0KXIeZ0sppzIKQgKGnHmacY+ojzr6sfgYlQrjf8+0NHWJo5RrxjbeLvofM25hu6/oY+B UbAwXHbvtc6gSTNyVrCl5XUIdekx7K/y4SlIgJg2VbEwnBPfGdHDqrhowbFQZkQfYxAjAkxPjvD XzkqumHwo6Th5eg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found in the Apple A10, A10X, T2 SoCs. Tested-by: Ivaylo Ivanov Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 127 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 127 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index bfaf926fd47b02a7d77ac31cbb97779b5ebedec4..37ca7e99aaad97526c468d3c98e= c7ce4fe115763 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -392,6 +392,115 @@ static const u16 a9_pmu_event_affinity[A9_PMU_PERFCTR= _LAST + 1] =3D { [A9_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_3_5_7, }; =20 +enum a10_pmu_events { + A10_PMU_PERFCTR_RETIRE_UOP =3D 0x1, + A10_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, + A10_PMU_PERFCTR_L2_TLB_MISS_INSTRUCTION =3D 0xa, + A10_PMU_PERFCTR_L2_TLB_MISS_DATA =3D 0xb, + A10_PMU_PERFCTR_L2C_AGENT_LD =3D 0x1a, + A10_PMU_PERFCTR_L2C_AGENT_LD_MISS =3D 0x1b, + A10_PMU_PERFCTR_L2C_AGENT_ST =3D 0x1c, + A10_PMU_PERFCTR_L2C_AGENT_ST_MISS =3D 0x1d, + A10_PMU_PERFCTR_SCHEDULE_UOP =3D 0x52, + A10_PMU_PERFCTR_MAP_REWIND =3D 0x75, + A10_PMU_PERFCTR_MAP_STALL =3D 0x76, + A10_PMU_PERFCTR_MAP_INT_UOP =3D 0x7c, + A10_PMU_PERFCTR_MAP_LDST_UOP =3D 0x7d, + A10_PMU_PERFCTR_MAP_SIMD_UOP =3D 0x7e, + A10_PMU_PERFCTR_FLUSH_RESTART_OTHER_NONSPEC =3D 0x84, + A10_PMU_PERFCTR_INST_ALL =3D 0x8c, + A10_PMU_PERFCTR_INST_BRANCH =3D 0x8d, + A10_PMU_PERFCTR_INST_BRANCH_CALL =3D 0x8e, + A10_PMU_PERFCTR_INST_BRANCH_RET =3D 0x8f, + A10_PMU_PERFCTR_INST_BRANCH_TAKEN =3D 0x90, + A10_PMU_PERFCTR_INST_BRANCH_INDIR =3D 0x93, + A10_PMU_PERFCTR_INST_BRANCH_COND =3D 0x94, + A10_PMU_PERFCTR_INST_INT_LD =3D 0x95, + A10_PMU_PERFCTR_INST_INT_ST =3D 0x96, + A10_PMU_PERFCTR_INST_INT_ALU =3D 0x97, + A10_PMU_PERFCTR_INST_SIMD_LD =3D 0x98, + A10_PMU_PERFCTR_INST_SIMD_ST =3D 0x99, + A10_PMU_PERFCTR_INST_SIMD_ALU =3D 0x9a, + A10_PMU_PERFCTR_INST_LDST =3D 0x9b, + A10_PMU_PERFCTR_INST_BARRIER =3D 0x9c, + A10_PMU_PERFCTR_UNKNOWN_9f =3D 0x9f, + A10_PMU_PERFCTR_L1D_TLB_ACCESS =3D 0xa0, + A10_PMU_PERFCTR_L1D_TLB_MISS =3D 0xa1, + A10_PMU_PERFCTR_L1D_CACHE_MISS_ST =3D 0xa2, + A10_PMU_PERFCTR_L1D_CACHE_MISS_LD =3D 0xa3, + A10_PMU_PERFCTR_LD_UNIT_UOP =3D 0xa6, + A10_PMU_PERFCTR_ST_UNIT_UOP =3D 0xa7, + A10_PMU_PERFCTR_L1D_CACHE_WRITEBACK =3D 0xa8, + A10_PMU_PERFCTR_LDST_X64_UOP =3D 0xb1, + A10_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_SUCC =3D 0xb3, + A10_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_FAIL =3D 0xb4, + A10_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC =3D 0xbf, + A10_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC =3D 0xc0, + A10_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC =3D 0xc1, + A10_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC =3D 0xc4, + A10_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC =3D 0xc5, + A10_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC =3D 0xc6, + A10_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC =3D 0xc8, + A10_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC =3D 0xca, + A10_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC =3D 0xcb, + A10_PMU_PERFCTR_FED_IC_MISS_DEMAND =3D 0xd3, + A10_PMU_PERFCTR_L1I_TLB_MISS_DEMAND =3D 0xd4, + A10_PMU_PERFCTR_MAP_DISPATCH_BUBBLE =3D 0xd6, + A10_PMU_PERFCTR_L1I_CACHE_MISS_DEMAND =3D 0xdb, + A10_PMU_PERFCTR_FETCH_RESTART =3D 0xde, + A10_PMU_PERFCTR_ST_NT_UOP =3D 0xe5, + A10_PMU_PERFCTR_LD_NT_UOP =3D 0xe6, + A10_PMU_PERFCTR_UNKNOWN_f5 =3D 0xf5, + A10_PMU_PERFCTR_UNKNOWN_f6 =3D 0xf6, + A10_PMU_PERFCTR_UNKNOWN_f7 =3D 0xf7, + A10_PMU_PERFCTR_UNKNOWN_f8 =3D 0xf8, + A10_PMU_PERFCTR_UNKNOWN_fd =3D 0xfd, + A10_PMU_PERFCTR_LAST =3D M1_PMU_CFG_EVENT, + + /* + * From this point onwards, these are not actual HW events, + * but attributes that get stored in hw->config_base. + */ + A10_PMU_CFG_COUNT_USER =3D BIT(8), + A10_PMU_CFG_COUNT_KERNEL =3D BIT(9), +}; + +static const u16 a10_pmu_event_affinity[A10_PMU_PERFCTR_LAST + 1] =3D { + [0 ... A10_PMU_PERFCTR_LAST] =3D ANY_BUT_0_1, + [A10_PMU_PERFCTR_RETIRE_UOP] =3D BIT(7), + [A10_PMU_PERFCTR_CORE_ACTIVE_CYCLE] =3D ANY_BUT_0_1 | BIT(0), + [A10_PMU_PERFCTR_INST_ALL] =3D BIT(7) | BIT(1), + [A10_PMU_PERFCTR_INST_BRANCH] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BRANCH_CALL] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BRANCH_RET] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BRANCH_TAKEN] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BRANCH_INDIR] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BRANCH_COND] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_INT_LD] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_INT_ST] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_INT_ALU] =3D BIT(7), + [A10_PMU_PERFCTR_INST_SIMD_LD] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_SIMD_ST] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_SIMD_ALU] =3D BIT(7), + [A10_PMU_PERFCTR_INST_LDST] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_INST_BARRIER] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_UNKNOWN_9f] =3D BIT(7), + [A10_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A10_PMU_PERFCTR_UNKNOWN_f5] =3D ONLY_2_4_6, + [A10_PMU_PERFCTR_UNKNOWN_f6] =3D ONLY_2_4_6, + [A10_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_2_4_6, + [A10_PMU_PERFCTR_UNKNOWN_f8] =3D ONLY_2_TO_7, + [A10_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, +}; + enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, @@ -905,6 +1014,12 @@ static int a9_pmu_get_event_idx(struct pmu_hw_events = *cpuc, return apple_pmu_get_event_idx(cpuc, event, a9_pmu_event_affinity); } =20 +static int a10_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, a10_pmu_event_affinity); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -1105,6 +1220,17 @@ static int a9_pmu_twister_init(struct arm_pmu *cpu_p= mu) return apple_pmu_init(cpu_pmu, A7_PMU_NR_COUNTERS); } =20 +static int a10_pmu_fusion_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_fusion_pmu"; + cpu_pmu->get_event_idx =3D a10_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D a7_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); +} + static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; @@ -1154,6 +1280,7 @@ static const struct of_device_id m1_pmu_of_device_ids= [] =3D { { .compatible =3D "apple,blizzard-pmu", .data =3D m2_pmu_blizzard_init, }, { .compatible =3D "apple,icestorm-pmu", .data =3D m1_pmu_ice_init, }, { .compatible =3D "apple,firestorm-pmu", .data =3D m1_pmu_fire_init, }, + { .compatible =3D "apple,fusion-pmu", .data =3D a10_pmu_fusion_init, }, { .compatible =3D "apple,twister-pmu", .data =3D a9_pmu_twister_init, }, { .compatible =3D "apple,typhoon-pmu", .data =3D a8_pmu_typhoon_init, }, { .compatible =3D "apple,cyclone-pmu", .data =3D a7_pmu_cyclone_init, }, --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F87330147D for ; Tue, 14 Oct 2025 15:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454305; cv=none; b=fHsKgWg0ynli6BedHjt2K10aFCXlw21al4L1W1fDrrovBgA5BtkHsx+GN++qr6SoRG0SQxobzq+aZo+NTKWfd7hV4NWHzeFtjXHWcyyJpslZPpfIkXquWRss1+pQ4ZQg6r2vQixbCtLKG6MYHOh8RQxzCUGG0mPwydrBNC23yDU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454305; c=relaxed/simple; bh=eXvZmBK39TeWTus25bvyHnZagmjkYHmZXICDGfTJwOc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E7Hbdjyf36tzEBpN4GFKGtjx5GsudpDlmkiC1IWlrPZlI37YSE2yYTw2d+0tW5+cfP3muW+6Hg0CRILlONQszaoIflI1ECL/IVD7ufUh7uVx4uyacwD0p2MONk+0nqHcroXVl9TVFnG2RVDeqM+ZrGRQV9rykWGOzK3ih+rPm9o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VrAto2ya; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VrAto2ya" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-76e4fc419a9so4947716b3a.0 for ; Tue, 14 Oct 2025 08:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454302; x=1761059102; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=071bn53SF5Y6btM+NHs+KZ2Murp+EE2d22d8zM6NOIs=; b=VrAto2yadAguI6j+QwEaFPMLaMIrSvWU+7r3QchIrhbqK+VOMg4O1bKQsmJMtcO/TG Z8fLHDmXlW8A38tSdjxl1tyTViZiUlu5qqIm233cvrZyfJfGm8ofsZUnKQbio+s7qVAt ZwfsUj5ogo9OpzEM+xsMWnZXHKANwSWLzLxl/ozkSfdBgdfCKqL8+c/qzqHyj+TyFxcj /fTQi7k0nC+YlSv1OwDkeiy/+P6gF8u3pnHqnZHCG4ckVMP4J2PqXd4zFGszxv0myjgZ FYftZ5d2MBq91SDdfQNpPU1bAC4qq+BL56MgBH7wDD4rnd3d3wkm0cmFSXUcIpwFtoaI 2V1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454302; x=1761059102; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=071bn53SF5Y6btM+NHs+KZ2Murp+EE2d22d8zM6NOIs=; b=s+4u8LsB/DqHSFiEpXmkmYhuXiwTlGp80gvqin74U1BwX7f+Z4ldCPZOLdX8yGP3Lz ESVFDTuGSbMZ9BDc3O54u/N9BYuHCBKfpoLnL7u0Bm6/mU6vUFIyRYr+JrxrkzUfvUvU y61mmFjiBiabzQ0OroJT1tUxeT/e/mvbKPy21kcpu9lemBzD1hwxIx3YInsYsBxkPAf8 WvxKRo0ud6aX0shB3VRSE0H+NsXu7sTz/CgXpf0LriRjo7PI9pLbsETQvbOMsusVeu7y 1SKw2s25LFD72yQPaQ+W04dwbsqvbH72vGvPydLExQZYl+VAQXUP6SZIFbMYhsmG7/b4 GhQA== X-Forwarded-Encrypted: i=1; AJvYcCWkkhprn+f8v1sMyyOeB6yEU7w4qyXItoNuICX4NgaXitrpkudIMKFNBpon9o1HZ5Yjry8gE4HC/EqzCvc=@vger.kernel.org X-Gm-Message-State: AOJu0YzuMsCG7JKDCIfftN/hRrev8NpxBiQNkLNPggXy2DGybwya6/pZ NAdxd4j/Ed72p93nD0jzTQg/FW/h9/CLl0+MrB7cd93QjLxhS6xeJyOe X-Gm-Gg: ASbGnctdoWFyeyAqRvw9a3Uspb6VAmPUN6jCHg+qLa2JVRmo+8u7ffDQkw0DwyfOlqC YRte6IuXtJs0O4nP6asXJ6tYMsC46t/WdhjLdAYqTecVcehME8zR6uvfvpN46Ea3oGkt5C4Kjxz eZkkaj+oscIOkC+15tCPfFNAzWbHTjpEPJ8THb538q7CXYS4rkpDjR858KcSUN9rDQYXtCsobW1 7DUfSWcdUUF54eDdlfpw8HQUxlbUSUQKXhKviCVRzG7s8KBd6VHPphkhvCWYVJ/t6qQDHNB3Qf2 xPw/hR/RbIxQXhVErrkyruKXbwxHhkjOpjSlCI1ig0OA9H1iLDy1+cKoDIxIy96NZaeOMtNhWN4 G14xwn2dqlJSI08E0nyCu37L9mBRXWWIqELlHk18ItgQpxXU2rdnRjg== X-Google-Smtp-Source: AGHT+IGf/1tWPGYX59Uyzndaw9ZrFEV9SSLlQVVL2aixKFwUSixfqB6fs6r7qMvdBLazZVur0iyWOA== X-Received: by 2002:a05:6a20:7d9d:b0:303:8207:eb51 with SMTP id adf61e73a8af0-32da8462f4bmr34021335637.55.1760454302091; Tue, 14 Oct 2025 08:05:02 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.04.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:01 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:45 +0800 Subject: [PATCH RESEND v8 12/21] drivers/perf: apple_m1: Add Apple A11 Support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-12-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7991; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=eXvZmBK39TeWTus25bvyHnZagmjkYHmZXICDGfTJwOc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZuzzbPmgTQISWzTZFHaZ8+HzyI+1/oresCU kEgfpRygsaJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JNsyD/9dPq6Gga0MhY1GAxBVjmCR0x+5S77Q6OZjp2t53U/WNUAerTGP2FRE2s2sf8/igr1VuTP p1KHVV2qW1EHUjdinEQcUVl4HBWo/BbZ7VYzpzuRDEAg75pW+NUMlFZYFz6KoQaR65iMBqNcg51 zhiFuccPlfJ9Q7L8Qe7kYRksVhSP3TSKF5xoJzIJZrN8qcySHYtpPZ+uVDCEgG/nfygrbMcSizb cBazO8x51IR/cCCWH8mL7jRjpdlHBVzl0tKMR1pWfag6fBeRbtRDj+a7qWQotRSOb0do66ZWWZa jm4IfrW88LA8n8xvV41Xoi17euLqrUerlmRth1LjV0VkcTGat1jsoFYf/GCoPBzbfqNs01QYZNO EXMQ2EDKctHiCxNjKNJkkoGClg4pAcRsdJNmEYkNFPySpJY7DdIsm8sDD4emtmovHpWHIjZtZgu VNPrzxUNwBIzPCiuHW9xIu8eICSCIYx71nmdT72LUvyDo3MifjNw/qT9oghLaRGCuQDD9ZwjhHd AdC8lZkLjomNFilb8PI1W8HYS1APFTfqKoQycY0/iYC2Q4UWFiPWSRrr+7choM0hqvVNPKnRvgv BowxRznKIbSC8cwFMN2P/OFJv0jpViWu/KfgK3Gcw3SQEyo7DFwEFp7qseCUqA3Q+ZK4fJlc0sg ELaC8ubGKnTsNZA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found attached to the performance and efficiency cores of the Apple A11 SoCs. This PMU can deliver its interrupt via IRQ or FIQ. Use FIQ as that is faster. Signed-off-by: Nick Chan --- drivers/perf/apple_m1_cpu_pmu.c | 137 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 137 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 37ca7e99aaad97526c468d3c98ec7ce4fe115763..31fe89c928364719ee0d7101128= 6a91adaf6b99f 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -501,6 +501,113 @@ static const u16 a10_pmu_event_affinity[A10_PMU_PERFC= TR_LAST + 1] =3D { [A10_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, }; =20 +enum a11_pmu_events { + A11_PMU_PERFCTR_RETIRE_UOP =3D 0x1, + A11_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, + A11_PMU_PERFCTR_L2_TLB_MISS_INSTRUCTION =3D 0xa, + A11_PMU_PERFCTR_L2_TLB_MISS_DATA =3D 0xb, + A11_PMU_PERFCTR_SCHEDULE_UOP =3D 0x52, + A11_PMU_PERFCTR_MAP_REWIND =3D 0x75, + A11_PMU_PERFCTR_MAP_STALL =3D 0x76, + A11_PMU_PERFCTR_MAP_INT_UOP =3D 0x7c, + A11_PMU_PERFCTR_MAP_LDST_UOP =3D 0x7d, + A11_PMU_PERFCTR_MAP_SIMD_UOP =3D 0x7e, + A11_PMU_PERFCTR_FLUSH_RESTART_OTHER_NONSPEC =3D 0x84, + A11_PMU_PERFCTR_INST_A32 =3D 0x8a, + A11_PMU_PERFCTR_INST_T32 =3D 0x8b, + A11_PMU_PERFCTR_INST_ALL =3D 0x8c, + A11_PMU_PERFCTR_INST_BRANCH =3D 0x8d, + A11_PMU_PERFCTR_INST_BRANCH_CALL =3D 0x8e, + A11_PMU_PERFCTR_INST_BRANCH_RET =3D 0x8f, + A11_PMU_PERFCTR_INST_BRANCH_TAKEN =3D 0x90, + A11_PMU_PERFCTR_INST_BRANCH_INDIR =3D 0x93, + A11_PMU_PERFCTR_INST_BRANCH_COND =3D 0x94, + A11_PMU_PERFCTR_INST_INT_LD =3D 0x95, + A11_PMU_PERFCTR_INST_INT_ST =3D 0x96, + A11_PMU_PERFCTR_INST_INT_ALU =3D 0x97, + A11_PMU_PERFCTR_INST_SIMD_LD =3D 0x98, + A11_PMU_PERFCTR_INST_SIMD_ST =3D 0x99, + A11_PMU_PERFCTR_INST_SIMD_ALU =3D 0x9a, + A11_PMU_PERFCTR_INST_LDST =3D 0x9b, + A11_PMU_PERFCTR_INST_BARRIER =3D 0x9c, + A11_PMU_PERFCTR_UNKNOWN_9f =3D 0x9f, + A11_PMU_PERFCTR_L1D_TLB_ACCESS =3D 0xa0, + A11_PMU_PERFCTR_L1D_TLB_MISS =3D 0xa1, + A11_PMU_PERFCTR_L1D_CACHE_MISS_ST =3D 0xa2, + A11_PMU_PERFCTR_L1D_CACHE_MISS_LD =3D 0xa3, + A11_PMU_PERFCTR_LD_UNIT_UOP =3D 0xa6, + A11_PMU_PERFCTR_ST_UNIT_UOP =3D 0xa7, + A11_PMU_PERFCTR_L1D_CACHE_WRITEBACK =3D 0xa8, + A11_PMU_PERFCTR_LDST_X64_UOP =3D 0xb1, + A11_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_SUCC =3D 0xb3, + A11_PMU_PERFCTR_ATOMIC_OR_EXCLUSIVE_FAIL =3D 0xb4, + A11_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC =3D 0xbf, + A11_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC =3D 0xc0, + A11_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC =3D 0xc1, + A11_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC =3D 0xc4, + A11_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC =3D 0xc5, + A11_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC =3D 0xc6, + A11_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC =3D 0xc8, + A11_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC =3D 0xca, + A11_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC =3D 0xcb, + A11_PMU_PERFCTR_FED_IC_MISS_DEMAND =3D 0xd3, + A11_PMU_PERFCTR_L1I_TLB_MISS_DEMAND =3D 0xd4, + A11_PMU_PERFCTR_MAP_DISPATCH_BUBBLE =3D 0xd6, + A11_PMU_PERFCTR_L1I_CACHE_MISS_DEMAND =3D 0xdb, + A11_PMU_PERFCTR_FETCH_RESTART =3D 0xde, + A11_PMU_PERFCTR_ST_NT_UOP =3D 0xe5, + A11_PMU_PERFCTR_LD_NT_UOP =3D 0xe6, + A11_PMU_PERFCTR_UNKNOWN_f5 =3D 0xf5, + A11_PMU_PERFCTR_UNKNOWN_f6 =3D 0xf6, + A11_PMU_PERFCTR_UNKNOWN_f7 =3D 0xf7, + A11_PMU_PERFCTR_UNKNOWN_f8 =3D 0xf8, + A11_PMU_PERFCTR_UNKNOWN_fd =3D 0xfd, + A11_PMU_PERFCTR_LAST =3D M1_PMU_CFG_EVENT, + + /* + * From this point onwards, these are not actual HW events, + * but attributes that get stored in hw->config_base. + */ + A11_PMU_CFG_COUNT_USER =3D BIT(8), + A11_PMU_CFG_COUNT_KERNEL =3D BIT(9), +}; + +static const u16 a11_pmu_event_affinity[A11_PMU_PERFCTR_LAST + 1] =3D { + [0 ... A11_PMU_PERFCTR_LAST] =3D ANY_BUT_0_1, + [A11_PMU_PERFCTR_RETIRE_UOP] =3D BIT(7), + [A11_PMU_PERFCTR_CORE_ACTIVE_CYCLE] =3D ANY_BUT_0_1 | BIT(0), + [A11_PMU_PERFCTR_INST_ALL] =3D BIT(7) | BIT(1), + [A11_PMU_PERFCTR_INST_BRANCH] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BRANCH_CALL] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BRANCH_RET] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BRANCH_TAKEN] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BRANCH_INDIR] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BRANCH_COND] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_INT_LD] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_INT_ST] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_INT_ALU] =3D BIT(7), + [A11_PMU_PERFCTR_INST_SIMD_LD] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_SIMD_ST] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_SIMD_ALU] =3D BIT(7), + [A11_PMU_PERFCTR_INST_LDST] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_INST_BARRIER] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_UNKNOWN_9f] =3D BIT(7), + [A11_PMU_PERFCTR_L1D_CACHE_MISS_LD_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_L1D_CACHE_MISS_ST_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_L1D_TLB_MISS_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_ST_MEMORY_ORDER_VIOLATION_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_BRANCH_COND_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_BRANCH_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_BRANCH_RET_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_BRANCH_CALL_INDIR_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_BRANCH_MISPRED_NONSPEC] =3D ONLY_5_6_7, + [A11_PMU_PERFCTR_UNKNOWN_f5] =3D ONLY_2_4_6, + [A11_PMU_PERFCTR_UNKNOWN_f6] =3D ONLY_2_4_6, + [A11_PMU_PERFCTR_UNKNOWN_f7] =3D ONLY_2_4_6, + [A11_PMU_PERFCTR_UNKNOWN_f8] =3D ONLY_2_TO_7, + [A11_PMU_PERFCTR_UNKNOWN_fd] =3D ONLY_2_4_6, +}; + enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, M1_PMU_PERFCTR_CORE_ACTIVE_CYCLE =3D 0x2, @@ -1020,6 +1127,12 @@ static int a10_pmu_get_event_idx(struct pmu_hw_event= s *cpuc, return apple_pmu_get_event_idx(cpuc, event, a10_pmu_event_affinity); } =20 +static int a11_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, a11_pmu_event_affinity); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -1231,6 +1344,28 @@ static int a10_pmu_fusion_init(struct arm_pmu *cpu_p= mu) return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 +static int a11_pmu_monsoon_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_monsoon_pmu"; + cpu_pmu->get_event_idx =3D a11_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); +} + +static int a11_pmu_mistral_init(struct arm_pmu *cpu_pmu) +{ + cpu_pmu->name =3D "apple_mistral_pmu"; + cpu_pmu->get_event_idx =3D a11_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + cpu_pmu->reset =3D m1_pmu_reset; + cpu_pmu->start =3D m1_pmu_start; + cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); +} + static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; @@ -1280,6 +1415,8 @@ static const struct of_device_id m1_pmu_of_device_ids= [] =3D { { .compatible =3D "apple,blizzard-pmu", .data =3D m2_pmu_blizzard_init, }, { .compatible =3D "apple,icestorm-pmu", .data =3D m1_pmu_ice_init, }, { .compatible =3D "apple,firestorm-pmu", .data =3D m1_pmu_fire_init, }, + { .compatible =3D "apple,monsoon-pmu", .data =3D a11_pmu_monsoon_init, }, + { .compatible =3D "apple,mistral-pmu", .data =3D a11_pmu_mistral_init, }, { .compatible =3D "apple,fusion-pmu", .data =3D a10_pmu_fusion_init, }, { .compatible =3D "apple,twister-pmu", .data =3D a9_pmu_twister_init, }, { .compatible =3D "apple,typhoon-pmu", .data =3D a8_pmu_typhoon_init, }, --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64CD530148D for ; Tue, 14 Oct 2025 15:05:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454307; cv=none; b=jFyrPCn7QdQNVwNu5yEulptLfgCaW38kY9fh3bHoWzD+Eot3gnl2MOSy3N6NKP6r9zwJeUoxNb7Z0x5uOr01pAP9G7y4wcIlnk3QRt9ISJRNX37fPc7Q8acxAkep/G3N8jURPF/CGfnGKly4GqTXmPSnp/r8SYvbwS8Cpysn1XA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454307; c=relaxed/simple; bh=XiGGX/gYUODKcUIpICueRO0ZWhSBnplWOTrgw4sJMTI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P1RhMbeinGxbK20Q3G8MLSSUpi9lzcSS+jSU1/d19x2Zf5IkhtYB7fDXSMn99/xa6GGPd27BPgQ4weL9FuAl24Z/v/+3VQ3fVRKqoFHzUAggHOsAh+Sy5ABIEGTj4yWHAnmqxTOeFTsbRUlKNgJ1YWx08lzxh536ySUIaccrgHA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BE29QtUf; arc=none smtp.client-ip=209.85.210.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BE29QtUf" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-76e4fc419a9so4947787b3a.0 for ; Tue, 14 Oct 2025 08:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454306; x=1761059106; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gsMRt6a+0MtEqKde4YWuihoSzMbsHghVTF7OAbgmvz8=; b=BE29QtUfYh6esS518jkriPB4TxAqDWouJ+j9lxtf1ucD+1+HtXy8V7XdaT3hlLrJsA i+E5EGHpbQEBIh1I7e0IrdZVZ40RdJR01hZGz58OotV+DVtc1tejojX7Qpky791W0UhD MLk2iYfpfUnlN5jaFMoNuu0OOMfOhgB/k5knUYm+RVe/ievHXSvnFZFNoW7c6I+D5cI+ G6B7F9fHYgAspAvq81HbCkLam9LCY80LgFTgQsF6NsuJDT7+5kcVNMlx0uNFQ6YE6rft j+TqfkxGYcmtMdjv1i8nFFPsCp8KaHjV8A0MQpVl4pz+S/o1HCtcq0hxSKrOqpGb/2oF fQYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454306; x=1761059106; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gsMRt6a+0MtEqKde4YWuihoSzMbsHghVTF7OAbgmvz8=; b=S9VE1Tg8DDqisEhdRBQ8m0n1kQ9/UTDPBKkj+Wgf31h1wQl8uGB9De8n/TuOYA87Vh o8NRlsvzD6zuja5l8ZIVbllMdmQzW5ll7/i+fVJV2qd/ZAP92zXsNuYyszDVXiOe+gOz OPAhWw1Ts/ebTOmOFhHBLrgtESuugBPH5yazegmeXyOhWizsNH8lWB9J1eYASlVp+a1g 2JLDAs92izdjYiSO6LZfb5auVjsI4hCa727wFTy5+gnUUinBE76qRwGZQT8AkOYBK6CH lP57WhjH/wv140eQko5XeCB8Gax0itCHBJeu2ulhiLHuTo5ZFQr0Q7bhz6vb/xYDrLAw 37qA== X-Forwarded-Encrypted: i=1; AJvYcCXnmFYVKHUiSb2mDIV21aDM0fNnnkv6m/+WGoXFw6yNLjjvNTaNkjSkFo9N9KIUm6M6EQrCKpG/Vn/D0cA=@vger.kernel.org X-Gm-Message-State: AOJu0YzKFH31MNbi96mmfPU3ak+Immi39wm6uR365F+eG8KoIkmc0XHb yzfzlZywdKRnUTT7DTE2D/3qMxW1njlhdQHZ9dlszxBs9RTPHTBCuzXh X-Gm-Gg: ASbGncsVOcv44gOX8Ma+h5nfrw2WaS0fsffw+GysaM7E++Yi5tRnk0zo2iq3rDgoxun nkGCgjoSgljPGvHrjmGPN/t3rXtnQAHNV7LsO8szqCyD0BlvW4T01bdlvtbLk26nypP2tN12ruq iMiE1F1SSzfzMrVpQllgJ2pVRftjECOqMEi2YrbAVnuRdDnCiLMwMYV9EiGiJrIAktf0qTy8xp0 b5MAevXAN8TseAkBjB6oZpRVJQHEt6qqfg3jKWusBUAHeCndAyYvva9Vr7Fm0RnJ2BMEa+VVSJS wR86kvfRwLrACjx7S6wuwIo2Yt+jwRJV1UadvyY4IXPVD4MjWQBPKCC02PnPrdGU+PMD0WvH4or dslzjNT/TugDKRgi6gWsXEmT81zk7N0rv+YuxOCR4GxXp3sihyjnhoA== X-Google-Smtp-Source: AGHT+IHfYvpkP9qBYR0QxPI4MGOvmRjmBPWouaaIKnO8VsRvsEyRGrUKru6CiIL2ZB5M9rvBGZzptA== X-Received: by 2002:a05:6a20:7d9d:b0:303:8207:eb51 with SMTP id adf61e73a8af0-32da8462f4bmr34021694637.55.1760454305535; Tue, 14 Oct 2025 08:05:05 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:05 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:46 +0800 Subject: [PATCH RESEND v8 13/21] arm64: dts: apple: s5l8960x: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-13-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=914; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=XiGGX/gYUODKcUIpICueRO0ZWhSBnplWOTrgw4sJMTI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZuP34mQJBCd6DStjvUZPuGtGfYF/188yqem GL19LCKE4WJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JBi6EACU9XHCs8g+4Qbt5yLz0F/EmK7cgyB1bpMgI6YWmKeTTXtIGIGFCPumMb5BOwQ2XU/cQhS pcNOLz7i0HEv7X/unBThX2PCscxe+9eSw59pvdHe4eEG+BDlHTFbIqZmPTzE2kMNZPLRXAGLdXU +UZWuG6HsNZSOknammazcOredp9P7t8+oCxz9X29YuMBXlzN6Tn95qwDmdbVUzuPBC4OvIY5/Jz uKigRJS/Jb6WCsRKMKx5v8QWbGRF4MRaBL2ddz8AIM9t73e0KUsnGG201jxuMUnEzPmQsxbngFi KdoT97UWsrW+eBqgVzrN/LoBPYcIGqskAcw4TRUmntFDVqi2S/cN3zbS40XpwnU9GNqwr798pgB ZYNP/Ay0Y1E2hbQJ4OqT8eEEFklsPT/7nw8hU+ZlcV2/2gIkSlUNN27N5M9fEULSRYK7hTYl3dB ft4GbH6QRVusX/oZVtoxaXQbKDJ2kvQw/mabUxusGg1CAsecpBDQYRky+n9DBIKRY+bqKVmWudr JrxS1XszQOq3013ZUOxJnDMsSMBtsekgfjST/EAIBJ4MZoI6WbQenxgZjTsIRFx7C7rpC4qazWK CFW4RAYAIuIArBchm8OO8dpRHXeuSnnWFezg3vOrr3cSX9TX9asFqC9xiSwxgfOcpG96SSTLWeq +9oQspGNJtE4Dtw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A7 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s5l8960x.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/s5l8960x.dtsi b/arch/arm64/boot/dts/= apple/s5l8960x.dtsi index 5b5175d6978c45052ded495fc0d18ee3a8fbfdcb..1a3a90f7b9ded42e371ef0b4105= 7fd3081579615 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi @@ -151,6 +151,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,cyclone-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "s5l8960x-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31D9830171B for ; Tue, 14 Oct 2025 15:05:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454311; cv=none; b=IodvEFoJRZGEM0IZSKoET/xEqR+WXcy8vEih+moCi63hIHu+ZPRygz+AxAR48Vl+aXMrWmW7v/9woo7HljYDPLLhvN7GW+Tum3KbyuZIuUcQUu7IYabQdOxD05eiQcghJMFwYhLWeHQLmAHZs+SD/CP6MF4beMQE3v7QCWNRKaQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454311; c=relaxed/simple; bh=1JKajXUwqRhul1ka4zSxgmuIZmZnF5dN2V8kqpA2Ejs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XrTuDO25NbfNto2/zngbvMXHIaH8kCRX/70816OFmEbRW9WNz3z/kOJUNfr8JddMkBIdsUN8gphuYLX2XWGiekj0mg5M6vXnPWd4ELAkOW7PzliB6Bgbx4jGbwEUhHOE8/w1sBSElPYsXvANc8pOAeLfdTzukx+35lgbXzlfclE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mJLtjcAm; arc=none smtp.client-ip=209.85.216.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mJLtjcAm" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-330a4d4359bso4515547a91.2 for ; Tue, 14 Oct 2025 08:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454309; x=1761059109; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FyHd36Q32D6LVFmjxrrSCjpcR8v8mTvafzGLYpLOI3I=; b=mJLtjcAmcPPCn7W+jLsrvXxFbu7U1gdzZ5om6PWWaLIR0PuqDyFi4zSay4+zZuUazW gwgDW+mbmzXkwR0q8VGQp6E4w+UXlYu5JvkR9yWSk++0Vb2X1/q4H6QV+9wfUman6BYe v7fT885Zt9S9mxJluMARWMWOeEkBueGqrMaLlgt539nwURi9cfodxufcB87K81efRQvk 1QWWwoNNFEckYeqzjS+fhCaKNpxqPaRrVq0fzJViQe4xked4h/Mxg8HRamTNcTNBRXAB HOUvt6Ab5NIT5q37o+6LcRJ/yRKIE8EoPRFP9qsCs1j/i7aV5oI75T8ZM15n0TqI4914 2DfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454309; x=1761059109; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FyHd36Q32D6LVFmjxrrSCjpcR8v8mTvafzGLYpLOI3I=; b=OSKbtEtGqeenQ4KewKAaZpe1Qk61wdhq/B37C7ef/nkVyCxzX7AmedZxpl1XjJnhWV L7AjBxY8QgcOuSU7XZqp565MtjEh3HsBUVYiG4oQqETsZaWTy6AhUzuq9S8O8HHTU2Rt zJHkUTg+hHcVXC45kkj4eX1GSlh1KKuM2DEOScRhkDLox2aKDOvEgVBFj38Yzy0c2P4N 63xV7AV9PA2LLF+8gTp8UVH3C4D1ihu0gRuIH/kSFP7skpRXRDL94exG/K4hmA+HRZL/ bUkXeuFL+0WrsmcSrDklnrpXApmuTGknXULpGw7b+YiKkXgOIdm5HpM+IJWSlhx3stGO FyHw== X-Forwarded-Encrypted: i=1; AJvYcCXhonrvHGH8x0fP337uhQTWfoISoHNKsZHynlAcpV02oXiaTY9dY3yQTHQq1bJpd51bfwst7r9WYNQoFkw=@vger.kernel.org X-Gm-Message-State: AOJu0YyqKNbFkDGmDID5rW/SdcWCamZbu8XdX5sw0KL55Afzj2wrQATE s5cHAEhiufFAsVT8u1dgfrZgYZP9IgyWbicyBZp0I849on+zEVhdk2PT X-Gm-Gg: ASbGncuD/MsWYH/JkKhIoplh6JMxqHehomf82wEctFTrGzdDSKWCsgF6A1EUeCLdL5Z PRc6B19RePAcr74mqsIkA09Xw86dr+O6LpAsItM2orzefsXhOrhprVvjfYkHTrLgJcK+22bdKug CCvGLRlaijJE1zX2OPnZKhm0Z7PLc7Ql3+QsTlzFPu5+fOpQH4HlK30CtuAS6vqb6seRcWhUyEj L8BbV1aTZjvtwklVgrz5WQCx5qRFXDjv6ELqwXX3+Cpt4OsrWef4qUVA4s9yfRvbVYxDuu9pgbN pTc+oHPDLinnqIW3HRiLtN6j48qGSKEhQA2P2MpFUNUmR21RIKwgyD+vv4EjzZueorYTIrr746c 5eo0f0L8zGTkHLB/IWLwliJbVEsI4Is5zv+bGBpxfT2U= X-Google-Smtp-Source: AGHT+IEjY7bDQyIY5jvN45R8h40HRz/mrkV41Wrt6tjyF+cIPRkH0RZhP/fAaYofUftjWnewdxxDUA== X-Received: by 2002:a17:90b:38cc:b0:329:e2b1:def3 with SMTP id 98e67ed59e1d1-33b51168d95mr33754194a91.10.1760454309043; Tue, 14 Oct 2025 08:05:09 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:08 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:47 +0800 Subject: [PATCH RESEND v8 14/21] arm64: dts: apple: t7000: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-14-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=894; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=1JKajXUwqRhul1ka4zSxgmuIZmZnF5dN2V8kqpA2Ejs=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZugCbmni6EPY7dskM7QjCDK0rY7DwO1/bBA DN+fo8D4aqJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JAEbD/4iBlLYvK5aeVArd4aJpETMdoyQya2/cnTtxya7scu4bEBXmzUl0lxJiBj5ca4LuUsXV3H gPSzIS5mC9pa2dL7nGt+hTIZUXfvIIktGfltui37vlUFxUPwopY+xcs75U1bjVGX7b7+gTYagjY FZxBe2W1f6iwEIZtUcT/6sEcQDjQbuqWUWX9LlzO+LFVa8wS55Xmf8gBwA/UIFn5O5Fj48BjhIn nOEWG/kV9QDPi7GvQ8Oenq6HT57WCMGX1sQGMTXIUTftuSdGbTM03sN2amh4K7g6X6YVoass1VB IAKHZwYiVjObkjB5zXQKz83tTYq9ewTqR63fSmuGSmaxfkX2q4fZXKTMjPlyMU2NeoNsX0Ho59K yydP42BIWTjH+9g53VFhlPUsTBbSdCghjHMQesPf8+GSQ9uzyeWenr73lA4nqVxqVIB6ftJOqus z8CGKz3bVyob8Zhg2OGhAz8CEu2pxZonXUqcH2duqy3WISGftEU1XxkxXP4W80dFbku5SlZKve5 eoqx4vvPKfJArysAkflnRpKJ5bDqUUcLLYGo/X/x6Dyv5Bj+DIunaRNXNHxjOrfLUh5SY1s+uNU /cwvoL0wK4LBZ/pw/RWav3cNh+cbohqQzucWj1yyQyCmewgbMRWc+1LE/A4bcbRMQnAnkCndhzC Kp9YaPmsU82RlDA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A8 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t7000.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t7000.dtsi b/arch/arm64/boot/dts/app= le/t7000.dtsi index 52edc8d776a936ca5ba58537d4d68e153023f536..98c41473a84098bd70df86c2728= a8080b05b41f4 100644 --- a/arch/arm64/boot/dts/apple/t7000.dtsi +++ b/arch/arm64/boot/dts/apple/t7000.dtsi @@ -206,6 +206,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,typhoon-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "t7000-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C61F3019DA for ; Tue, 14 Oct 2025 15:05:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454315; cv=none; b=n8Bf0gN61f8uy2nyPIZagIyXMkr0iWD6WuC6HjSxgb2W6geyUoHjSNQhHlEfQMJOJTXuNz7rpFTyq7LXDvR4I6tpaJt3yuDLcieZtsxai5aEPUH4ANU1PADcYvtYDRoYOeRJAORXIOsU7kh7Sgr3Sc6e276E4mGeKs6yOCCluFw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454315; c=relaxed/simple; bh=lnaE9Aql0p+zaBjSHyK2yyUlKYAm5n38nVhdpv7cd64=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qMKPJwZsmbxc6jKlT67gxvIg+Paefjlo5srL2Tr0H9fJ7pqRV0hEskfU6a1vsuZRtq5aoSJwfpbQQiAT1piTDVF4iQ/DeFJE2gG4fpEP+Oyb1y6MXPPKR25U5mkLvvl4DUbs5WCKif0QYe+0XsQEBfVv7dLHKWlGcLwpge7+2Ro= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=m96IU29Y; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="m96IU29Y" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2897522a1dfso50826945ad.1 for ; Tue, 14 Oct 2025 08:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454313; x=1761059113; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QdXx5WHPadAVmQPefLqhuYKaW1K4eJN9K2RwteEElB0=; b=m96IU29YEuSnAU9V9yGpb3EtECi38KJDGd8pA1nPzDRK6GSL4+OOEye9dGaIMpmTgG T0FPh5TOcaeDUJD6x/Tc4M21NyG9PFX92O6Xb4WzgcTxYknwm4dVhp9mJ7UVB1uNmF2H 0EhgpWdY8M3GY5wVHQc7nOBeaptqGNqagSEFyn+Q8/Q8f9297CUu8ZOa59S7JRXKtFjK 6zAYDnaIGaXQ7haBmjxa8FNca0tqGipojV0HqIQRPWApNgKzpedr8hV4d8WxFVR/cYHR Ia6L+5y1E5t0G4BZEo3o09neMKnUSP9JhomwIAi8SedAmc5laWoZlkm2ZdR0j+L/sK8/ WrAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454313; x=1761059113; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QdXx5WHPadAVmQPefLqhuYKaW1K4eJN9K2RwteEElB0=; b=p8bqFl8+QBPlhFWJxiRZldNOH/9o4hElrqxnsu+Usc4uQXcHfV0s7gOpR0//C4dGG3 yOsM4sKr0Pb+ua1oOyIExRL0Fpoe98CJERUJAxrp52fEUvxOaNut9Ly+yXUPWarEjgKX dJjgCgqBoO+M7EXCfnAMk4wOzH7tKjsrwd3Y1M2QTlLTlYCz43yR/QLlI82LWmUiwrLF gO4ERR4DhJvLB1fi26dBAy7puEzWMvh0+a+JqbxF+0a8sIYRDP+76csj5+Y3MHmljvKc /B2IdwPkV7DG6+N8I2AbLRKUF9LeS+/o1IsIa34eg8NZQpzS/HmUGGHv9jsX4XE/jyl0 Drww== X-Forwarded-Encrypted: i=1; AJvYcCXhGBqjOoxo8JO26PYf1KSVO5sbz4HJ0q78eJ5hWOV0MSUOFBlx66rajljtV0aw1M3u5pA4s9tw3NFyNSQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3U3CMbc8nSAld0166iL2dyyVM/1uFHxIGV5AWzgZR/6Pt/8u/ rPGGBeZKX8fVxcMdB/bGfZyaDlWJMIv2RtTVpGl1rCVqCUaOn1E68XnL X-Gm-Gg: ASbGnctcv2mthQeEfwqDwTI6aK/blt4A52+oHYv/rQp4ucTEtwPperiLzMuoKu6/gM4 ufspu5YboZWbKmV4iX6hiwTY+OfK90zAWcZ09irTVF0n9WiGcd3tsFCAIA945i7GCB8DOBF+KR3 66VEaqQqtUXNG+BRKD8UcipOcWGycmi2Tar35L324xLMUXytru/xXsAOw6yaVe3wM19ODJcAS8G 3tgzd5oGMBpHURCfcPltgBxaqXZFvuOAiq3rM8PdjveP2VScHpwWdH4avGy/AEkd2qAz8iOwdVH I6zrFen642341ZZgE3Y89FEFQsXo02aS+rMNgmCcReiHNkNxnfnF0b0XqCHYZnFkqzvsLsmwE+n R4cg4BwoptFY8CC9VLU3ahGROZnZeipAUg9K9KiU45CkyjO//M+iYeQ== X-Google-Smtp-Source: AGHT+IHzoB9us+k1Zg476hidLtO90F3jrjp+605FzoN2M+/LQdkvNujqWL2evXPEkPxkAjKdrdfwDg== X-Received: by 2002:a17:902:ce81:b0:288:ea7a:56b5 with SMTP id d9443c01a7336-2902723b882mr362687865ad.15.1760454312559; Tue, 14 Oct 2025 08:05:12 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:12 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:48 +0800 Subject: [PATCH RESEND v8 15/21] arm64: dts: apple: t7001: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-15-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=946; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=lnaE9Aql0p+zaBjSHyK2yyUlKYAm5n38nVhdpv7cd64=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZubTrG7nely1tzAQg7wIlykutHNDRueaZBf ed+SCa1nVWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JP9aD/9O1YtQ/3d2Uh81AoFfZe3N4gJv+zw+TpF2LNskS9au5ii1jPnoSk3o3g6XP1jBFJarWrN pxCJsqKY37tidCii24MHmkbEuRJdiVwM+wYt7A9AgXblvhDYA+fciSOW5qHKtzhvD6+W8mNxWqF Ju1y/WNuqbD6uU3W/G3LJ0pZBfawka++YSU1sFtWZECr3GchFTbyIyR/Qr2+rwmlbehFQE13jbj z53bvkt3aG+ZtKDIAXiZOgBQ/t9vQerElHCA/ADoPBczZln8YrdsmBgR88YYSgMpnCDfUre5424 WngPsYCCfVTxh7qG2EL91wLKxcLfmzjkzOHF9kqzq56pgOj6PJv+h6Yj6obo16bDhRURCfMeh6G 1f5ewGz5M6+QIuEnMxXNsdMjVRVvqcV4NP2LBPULU56E7F0akXRg+DEQbaWDtE9qDjODZulY/P5 6DDcXzdBg8tSYDrt9E5rXT6QQsxBVD1xNqaLU6fv+JpOD+8KZbtDe+eO5Djl4YQUZaFbJzta1px BfiFXS6HoTB/p1j/lli6vBUk/gFfZNYTkDb8Q563YKBnDMe9kVXTsOkRJSad1Yj/mC1HHUY+hOM B9ozCNLR6FmORwDHeEQaSrUDFQnv8A7mjB1LRmModrNWBpg3INC5aRB7OvA6WtwWsw8+hYVRD5F VY9Gcwd6nL+mwhQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A8X SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t7001.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t7001.dtsi b/arch/arm64/boot/dts/app= le/t7001.dtsi index a2efa81305df47bdfea6bc2a4d6749719a6ee619..0e414018f5acbcdb10db92bec6e= 26ba32e53c781 100644 --- a/arch/arm64/boot/dts/apple/t7001.dtsi +++ b/arch/arm64/boot/dts/apple/t7001.dtsi @@ -199,6 +199,15 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,typhoon-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + ; + interrupt-affinity =3D <&cpu0 &cpu1 &cpu2>; + }; }; =20 #include "t7001-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEDFC2C11D4 for ; Tue, 14 Oct 2025 15:05:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454318; cv=none; b=ngEJSUY8pUyorJ7GPGQc7WTuf3TWpO/zLRNwMvnzEaRWLmgMJu6AydIvs3CvL1YrhZvqJAXnq3c/qnCqRRFysYmIhs9qJesOQ8ozyJydgpuzEKs6W3jmBC4XjeVVn+x5IC5WN8QJUk/QHHN9FUXTnDzo+yATreXalm5KEHyIusY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454318; c=relaxed/simple; bh=KUmhbvVhE7a9qQQiOxTeh6fcRXxeiaIPFMb6Ibxmxag=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SNIv8S7MkQP0oGqS3RDZpM4kF4u5RV2C81bJl5QaH3MBOtXiaz/dInkwnJvGBY7JzxuP7GCxpSOKTxw+XVmVfyXUTX6eWwNFd+MmwTeZukga3bY0N4h0ZBgyFq5/I4VYkkc8nPMI5QOoF6ELd5QXxEZ8fttb2v8E0XdlTYcP1eA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=A8PojeTv; arc=none smtp.client-ip=209.85.216.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A8PojeTv" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-32ed19ce5a3so4874360a91.0 for ; Tue, 14 Oct 2025 08:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454316; x=1761059116; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fKXUCmU9jFowxknRpXATBfrh5U5iaqmYG7UiFDMEOEw=; b=A8PojeTvlfFKVS5PGNHbyOH4iEM6J4XOJ6WWdSQeASnuECU1+TjSc9LddxWbrxyYOa bqBC0elThwkeP9KeDe3zOtC+o7gBh+a2OYnQLc1nwTRhkkwd3BgqKtmT3i+e8jyoIH6Z jpmtIwGl5yddxaGbXzXB8Lhzgr8ODO+cMMSEnJb31iwtGYD0hlR3BOl9Yqvuga/VVEDo aQKcP4vR091ywDrdUnOpnY56RKfDSyac1ytMbf8++T5N6ptaEFMTp9OZLmxsWmZJ9BFH 8v7RyS7U6lUTRlr7Lf3yTXZUGLO97V1RPVJYVciL1NT+qlRfsJtJ37L2doMuP8fVkoMb 60zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454316; x=1761059116; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fKXUCmU9jFowxknRpXATBfrh5U5iaqmYG7UiFDMEOEw=; b=imCvJfer+D5afRgCIQtLiItR7T0tn2Qkrk9bUbUbp6srn7h7n9flsFsGJS3kJ3E9XP MMNQQe7z0t3ZXdzZjqJQoMZfGoPj7hTe0CcVnr94JjtxWPwrHG1PQAQIkNFCTACTKFBA p3YFqyDv1g23fZ/fPBumT2vOPXWmf0Rfdk1aNYOvqyhLOpklSVZ0oSQdA0DExYxcR2L9 0x1rhZkotOALCjc12BoaLz43tPX2fbT/iNMV7hEaOAAjtbig1KJpZouhtiB+09FWIqZS eiCRGeAAeX/PjPW5UEbfkAZ7XD4d8LHWlht/Zq5WTvVjCShItWZZNEn4ftvcnZ/3WX4w 7YYw== X-Forwarded-Encrypted: i=1; AJvYcCVEJCPGU48HVGzE3H0RFjqsIyXgF9jOeVb4COntdiqJdeDJyMeFbMFWmO0fW6ZWdpouFBMY7qwaahnxH1s=@vger.kernel.org X-Gm-Message-State: AOJu0YysafmbQAWKB6SojPbpcvMHA3qjgzO2nUmxBuFshPnOofxeHZmz wL3iVWhaHFM/hT51cvnqtB0vprNARmbQHPkE/CVKP6Oepp3rbzyxlKpR X-Gm-Gg: ASbGncvDaTu9KPX58OQENCvMVAx9Eu/72P0vME9OosQ92KzFeiD6C0DUPbam8966Wby 94yti6Q7l/nF7JrosKSoSXXQlwaI31aMw5f67JRzDmpFmfSjJ3NW03+EDT+IoIXtlDoiVXvAtrj V/FSh4F5jKIcxGJZPO8yIvKU8d0d3257SV1BOe64nBTwNIL/QlbFyNyum2BY3mdtyYd+jMyE6wk ZwAohaHDMXkG17tDlQ4O0GkG5zQ0FV302mJBg+ouEl7wqzgGciAsc5QKKA618o1y4znFqoclrvS pJFaORHnB9h+BfydLoRyz+sSxj4+C2hJcH8pIzdyGYg0VGixSGLJbJlO2xbNRT+j5P18jUIeXQp MbYfzaf2S4fJfEYHNht4ko50hp9Yb4vu+Ges8grPhdC4= X-Google-Smtp-Source: AGHT+IGBkWS8gO3ZSwZOT6x7Qoh3z6cOoLFKGH3Z57P8QReIcdrjAjkWJi2zfQBYmSoAjoVcg5azOA== X-Received: by 2002:a17:90b:3a92:b0:313:1c7b:fc62 with SMTP id 98e67ed59e1d1-33b5137591cmr34129260a91.22.1760454316096; Tue, 14 Oct 2025 08:05:16 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:15 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:49 +0800 Subject: [PATCH RESEND v8 16/21] arm64: dts: apple: s800-0-3: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-16-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=912; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=KUmhbvVhE7a9qQQiOxTeh6fcRXxeiaIPFMb6Ibxmxag=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZuMNyJ7OTVUXLasrGIPIVb1HBj9fWNw8yZt x7jbIc/tzOJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JPs2D/9uehUxcAwSWk9iIwuMFWleyYm4LiS7tb15vFvqVEPXMUdQbk3G/e3eMusQArCpn+ycogj GJnwe0S8BwwKu3XcYLuNeIltnBhYG3ttIWXlIv6+v0wZd9gnGNEfgBUFUdV/jOuBlYRltuPxhhT eZiVnlIyArZJXWC7ZUPvjvnAGUs9HsJqJ7mw0BTcxhi4fUowK/2T5rPvDO78eBAARkeF5YGWqKc V8zTBUCHNsYb/mKXrGMVQik7gN5e4OPRvelEjnJy5vydwcTTKWc1G8skj/Psr85LG4blw3t2OF8 9wzNSPW0+qJVs6nJTw7OHP6HWqVOk8Ahm0BWROI3WF7NFa2lKb68hQAnn3r+/xOT+VDTntFMu5w J9qwPqKEBxkXTbCBlnsJaXOFhvNaYmgcQjbFdwyunGgv5/kBIpeOYbwPVm4/LuAZvHsfONBXSK9 uX0EnZrWIBvlEfOo8x4ZBITYaux26qtx2xk6fMsFhdgDXLTmZmu9gY/leIam/UuI3i2tCEkgjrH Axn8Ce0OR7Qp2DpYzHEwFlnI/jCaQ6jhcyI/RoUTO1NHPydclY5HYZObCyuVkR/xJVfCIpBCfks gKH0riwiIyWOaccR6cKpl6YEpjYknaMSuK+/sBaQsNs69k1R5YYZUVrei24afzpvPjXdP5OjYIY r0MyYbipMVm75+g== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A9 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s800-0-3.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/s800-0-3.dtsi b/arch/arm64/boot/dts/= apple/s800-0-3.dtsi index 09db4ed64054aefe5b8f8298553d87fe5514e81a..bdb66f7e0de43a6a751af37c9ce= abba44ef907d6 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3.dtsi @@ -180,6 +180,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,twister-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "s800-0-3-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65647302171 for ; Tue, 14 Oct 2025 15:05:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454321; cv=none; b=YXCNtasDixq7PbJ8sac6FsLrFvcFf8eULZnXJoiSyRLEQr0Cp+MZXacyVPHi026GekJthxSP3eSHkT50ASywSh/z3qcGojB2gD82obZFGXUZ6hctZ6pA1wV2JSLyD24MUfp0nZGa6gY0Os71acjkKyW2gflxQM9hCfaEi7aIw2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454321; c=relaxed/simple; bh=q41LAG04mQN+h/yjsDMGUnk4+iW5c6zrOTH+jcEbjrs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kx/crIe8jY37xSsbDDtP4d3b+FSWY/acp1oHzN+7/g4A9zOZikBsQ8za4aTAf0H7KVPtF3OFNa1Tnw6Po6Nd6Dyn96bPqfWNWIGHN/TamxnBYWCtNqXkR/GKPg7KIF1cxOpXHLDzk8T2JTzIXrSn3nIuxQ1R+HzOp6GBQyvIOrA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mhVMdPJd; arc=none smtp.client-ip=209.85.216.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mhVMdPJd" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-33226dc4fc9so4903131a91.1 for ; Tue, 14 Oct 2025 08:05:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454320; x=1761059120; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=G1i7iqUxmgg/DXwXQpNr1KmCqr3Rj4mhCflPyxgc9Us=; b=mhVMdPJdHU5DbG+0OJqXtyGs0xJFGfwe64C8SfAVEi1WTHRblGvIYlIzup4eTLfk1E j+VNVXRyFuvcsJCTzxV1LCxT40vaGUUdFp4iY1MQpEvMMfqn/WnN1D7QMWMfAhBfMa3w S3rHp9EKyRXlcaTyfItHAAsCTWUX9xQeq29J0pEE3oNswsCtRo0kU/W4srlJKHHdjNch QZHug+S3FIsD1R3/yeNq3mwIJGnifq8ffd5vqg8D4RFWtGWsYJE9x3NiD5cevsWohCpm RFz+RBVYbCisf6kkk7IZ/DQThoyyRh2z2CThS/B4VSu10+MaGzKlGP1/yrveELe+Zawv uyDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454320; x=1761059120; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G1i7iqUxmgg/DXwXQpNr1KmCqr3Rj4mhCflPyxgc9Us=; b=Ah7UduoJWanytNkP4rboJxb2Io5Gm+ynCtYLzAusqdjqT02h/3wLQDhmwceswFsOGa qz5UJsxh5BeeUlebN0yDCnMsZScVTjf9841dRUg/Qm5OJIzK+M52hqp5TnOvnzoKbQ+9 s35Dtqtg/oU7ipWoeElY0hy6W1Oz0nxNe6uWexYkpREMNyddq/zRXDOF+eAD3LAz53sS b0+NCg91+jjy2Wi71OiXHlXu+PZWd64pQzNchiA8RnmP3lGvMpJQAMxVpHonCDpDzWIL UuCoIFp7t3UsrlE/37kAUU7IidKqFUcqobUFJdVrPkDxIzKV96BFu4ErvhvD/5IEAQps 9ygA== X-Forwarded-Encrypted: i=1; AJvYcCUkng4B2ryZG5w5o9xXjUkssgy3MuLbOZMEEMhZl0f0m+L1OUmjz6UjwIhcsk341UG+dqDe9b8eiDS/A5I=@vger.kernel.org X-Gm-Message-State: AOJu0YxvUBdAYNts6wW4+UVhLrRe3kI8/Wa9jdlcp6WYUkWj+QnTYpXV NkurIArGeXAaREVLkih16KvWupzaywbc4VMWFDsdjq1oNuCgaibBm/x6 X-Gm-Gg: ASbGncujrv5Boc4DuJo4kT4IOqQ3gGRcWCQerlAsR/7SC9lDyTaU0hh1ypm/gaf8lKj +Gipz49EJGdsY/c5SZo1JUFx2lz7JouholfEZuIB3wdBEpxEblg7mPcpMxZs+A/TvTceW5f2ryw IQf0Hqt46OGFkHb8kBrWhE6hpwIQBxjk5ukrZ6NbrOUc3rJQ/2Wbr5ILo8ewFYEEGyUZd6POgXE v0sCAyvF3uHKpGFEmhHtN1lwvS6q+XU5XEODN2golDiHAtzte12zxLDANbWFP/W/rLObHakzaIi o7eKO+IJFwsus5kWXDkWZ38jO1Gcd0KWvlBCmphEMOScJXd6RroRK9g9uH9uU0+WaJBgQA6JUU6 5wM/YcvUcdqRkKzowD/iseni8FVff6y31m/pH84dsZwaNKyNDy/KcHA== X-Google-Smtp-Source: AGHT+IGxU1aUYANixpQW6+RfJwrDQsy0lpaNBp+StZI5SmcT71Y9IkZbC/eBjms/hpV0Ia1TiVCOIQ== X-Received: by 2002:a17:90b:1c81:b0:330:7a11:f111 with SMTP id 98e67ed59e1d1-33b513be2c9mr33511721a91.35.1760454319490; Tue, 14 Oct 2025 08:05:19 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:19 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:50 +0800 Subject: [PATCH RESEND v8 17/21] arm64: dts: apple: s8001: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-17-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=895; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=q41LAG04mQN+h/yjsDMGUnk4+iW5c6zrOTH+jcEbjrs=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZuq26ljD+z+Y6MIqkOiTRV6L4Hn+JOROQ9G KHaTtZDhTiJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JAyjD/wPsIPDTqdU23/DJv1noYw4bjYDPRNP+6mTAR6BfTFdSrVMb87GTXJiFVLJA/BdtCdKYUE G7yhhrNCrXaschGxzuQ8ryViFpkYgEEZvKlUWMpqBfhaoK0OO66J+qne8ZNvAShnVwoXXLZauBx rajcv0TGz6krDyTimriCyB4cbKzvB4Q7pgyz0MdtaH0JTRWxODkrZh//gPjVdYy4TNPmnlSGsEf WVYVHhLdKOQZAXRDXqRwIJWugYgYKodtn7P+0aEYAUBv8sTQ8MqprSnglNZBfnNHhxp2hTE5id2 PeuQQ+nV2v05y5J3A20srKU1MBsNZzXCq3zKuSUzlPQADPsNJXSdLOmfBF7qhDKJjaDRMpu7VMc cHZJnplzhOz4tRc3u39wPE4Uby3q8ks/mDy4s1HzaGwkFt0IQeXIdWe/pwuK3s0gnEtFkkGZboI ZPRpXp3D27UByUNRylPxQ6mcnqFIKExaekyf+oL30EpcEruYJif8e0jpYzxWVg5kg4je0eMs/Ms EcMDV2RTzujgVfyFjFZkL8uFEEdwNaLEFB7semPfrdcEUKE71Un8A+qjevZfDxfV3Xpw/XVQL9S IJRRkb1FohBVPqW0Hz0odA6o7Owk8RluXHygcYYAr3Wnxq3Z7dlrHRP/vBjweGnxtwBWToOGDm9 R0So6USZLiD2QLQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A9X SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s8001.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/s8001.dtsi b/arch/arm64/boot/dts/app= le/s8001.dtsi index fee3507658948a9b4db6a185665fdff9f5acc446..ee2702fc807b678023915f72b52= 76cc5a31e1222 100644 --- a/arch/arm64/boot/dts/apple/s8001.dtsi +++ b/arch/arm64/boot/dts/apple/s8001.dtsi @@ -222,6 +222,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,twister-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "s8001-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28032302CC8 for ; Tue, 14 Oct 2025 15:05:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454327; cv=none; b=iOyimVsYeEUn78xlbtcgU4p6sAHL3mwYLoJxIpEcduaYzmpsyA7w1w+piaG78Te3fxzJRRuovhJyFovr0J1DxoVOAo+1fgJWVBL93GRSgifDq7gvvSnKeNG0OYYWgYUuZZG2xXjYym/5uFKt7USoNmM92PBbL0D9TUFNeUTFZrM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454327; c=relaxed/simple; bh=I5bmZCvx8lSOgqzXisEWeIL6b++oNn2j9gQ7uou5JZQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QunJ2a2jMQRYPtopAMp7s8Ab2EykTP1IM6N4fp289fz+wwA2Q1dNGf1wS8Am10NwujKwIIJtLNRnUEiflWFUWrff4BUMo+NPcQqfFanHIIq/ESUsbofub1KTQ+zvQIFDCqOwEjLmWFEmqNPD/AM5wQvoZrZ5emIgSjUXHcC6TrY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JQxqfGaS; arc=none smtp.client-ip=209.85.215.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JQxqfGaS" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-b632a6b9effso3354311a12.1 for ; Tue, 14 Oct 2025 08:05:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454323; x=1761059123; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=c7UzRpURIuRgTvljraCf/vxpCIMLGtFavfo4dJ3/GB8=; b=JQxqfGaScJYm3mojr6oCmF8adxLQP70AM+ea5d5h6td4HjftWHiS9PXUa2K51BAWJo PuQ4gTBHBeTYwp46BtafoWk5miNkp/BkStHyqyF+qTuJBDF0KkLQY5PbuqplPUK/Bn5k lYFLRxNa6Fwqscab2Yv6E1MBWPWUg6bd0k9xU6m4qyC5fzZctQ4HtfpIjUobWmrRpo0C 6O7ZZI7SrTP27UeHqR9aGKHcRNv75V9/jQ6bCc7IB4id7z6aPcKfIDVGP1N7ly7l9iaT P/Ph5w5M1JKMj6MFIH5YSpZK23BpIJa82J33Q91sBAn+1a1oQwO1/NG/fMyXpnCMpFJD wYYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454323; x=1761059123; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c7UzRpURIuRgTvljraCf/vxpCIMLGtFavfo4dJ3/GB8=; b=KBKMQLm/wNAVG+3dJClTGB9oFXpXImV0kBjk8iBpUyGpHzKu0LEMV3dEHiqo2QbTiR OK458NqD74uWMb5aLdQPW3WrHgn4gd7yi+zNKtHCQ8DF9fTaYZROW2XJaSzKyU9cL3eB cHTZzRc2xmqUHEtsGuRWjWzh53mEXxYOju3bVUycOc1f7bfNhbVBsrWjNKIJ+soCkOtt M3hgfzkDNL8tT9yk5KfFdfnnnb1d52Nxm5fhgq5b0mVinDs7kFLH9xTDoV4vnOG2QphS hG7STs+CwAHQkK8yNIdqbBLVmvitrYKC/SlgEtV/xvgFgK460a31dXZJUF1OJg4wbsqT xOig== X-Forwarded-Encrypted: i=1; AJvYcCWvQlAjNZH+dVu0UfDqcSHOlkNtH86TC7VjAxjnZ71jf5aHcbCj9UwuEMcug6zM1NEn4jnEFbaQCLurj/E=@vger.kernel.org X-Gm-Message-State: AOJu0YwuS8vky08fsDYorjfJUZTY0rfMgR7r1dh8b1w68qHyJz20K297 2QgLHG1gvxMya9cntn2acgzfExNpCt/68cCc3dqWF/t2mafx10+uLa8F X-Gm-Gg: ASbGncuIEW2XMbc9mmJzFXs3/sQa7VgD8jggd2t1A/iATh1iJ0XZVIfvKF+FpBJBlGA /SqGBFVqurQb6/ganSpTbnkfo5nkx2fYQk38j5QA66jNv/pfMHS7OqtDMw7+nxJQlWpyghwSMT4 rGGqqd5besPW/X+rz2ncP3Qawtvu5oQcHIQjc2MfGqcn4HSME0XuoEic3Y6V+DqiDPmxhxN+nED CgxdrwnEvidtp6DHjhwITWP2wWqTH2EeIMkBL99Qz5i5aFFLPrBxseQrYBh+YlYS/DiYYlMKpIC g/dFkaR/RWTq93OggM77Hq0eLcaVoVBCKAnQ2+HfIG2LaX3gnFlRl3abehNt0v+KfOmxhHBIpem UGtuzx7wpXAepUd2ePsC8V323plNyRUwcl5kN5mSkkDQ= X-Google-Smtp-Source: AGHT+IHWoti0arhwAJ8/ehOp+A7jTPL4DfjepOYMl0fCMINaTjupjut/t4zvp2r+UEnm0n+I2R1stQ== X-Received: by 2002:a17:903:2b0e:b0:254:70cb:5b36 with SMTP id d9443c01a7336-290273568d8mr282473335ad.8.1760454322930; Tue, 14 Oct 2025 08:05:22 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:22 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:51 +0800 Subject: [PATCH RESEND v8 18/21] arm64: dts: apple: t8010: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-18-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=894; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=I5bmZCvx8lSOgqzXisEWeIL6b++oNn2j9gQ7uou5JZQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZuYkjRFb4PXdnwb4fw8h24z1bFwhtr/DQZY FpwFq8WkAyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbgAKCRABygi3psUI JPvuD/9ymjV0qW8N2VaqTxRqTnf7Wso+LimS4Evbq267jx0oIEEuxIAxTGDbeQWAWyet9DAebNA tHZjixPKFbR2gP2QQkaVW2uG0jZ7xSumkITy8nVtog1K6USKN06PNnE2L3D9oAfhg/kFPhym874 eY3cdNGD4yoZhDeH441f44UswbG6ioxOJFOJQvBtWvwMRr3M4pX+6jFutcsAy9hyd1bAG99Xfqq A94kTQmdAJ7IWGM2LsC8gKNAaQMTdlQ5pGI8mdVDLMpT10fqOTt7sUk9SvMF6cffSuf6t5yV2fw HAnndoskEI03SeHfRmAqLzonuDsa1I4NQxmRZMUq/DsGjoBMr6nHp9ChSC3ve0awXWQo+0oeobB 6J0CpZ5KYPeluNH1qA3WdyRWLIp8nWZwFe3SvuSUWUpJhSrB2j+MoBxjPg8gbRnGgloqHbbe8RO 8jjLSG3KQ9QBRt/dAkIxfkGB3VMtHSz1Tmx3ElsmxIKdLPIwmQTa2DlqERHfztZW8lEQPyZwz7I 12zfqcYDWhn87u0lyqFVfUZ6kZcRUx/tTBSLp1fjXm5JRJ2KmTb7EhtwHmwQOP2lcnSMpq2opY7 d2UZgRW4510C4wxfSWVNPuZfSVJxaWJM1UiqpE88/hPoMl+WY0g3i/R6/wBuCiOrq1vmlW4fqrj 4j5IZLtJeyaobJA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A10 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8010.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/app= le/t8010.dtsi index b961d4f65bc379da3b215ca76d5f68691df06f4d..d187fbf7e7a214cbbc1027034ef= d0724ef7f8b83 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -256,6 +256,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,fusion-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "t8010-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D67D303A10 for ; Tue, 14 Oct 2025 15:05:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454329; cv=none; b=pZWKPc0M1o9xCvUssbEyHy1b+LPOhPNdwRYQ3mpaTtrmF6qXIG3BYHzLEj5j1LchPyAbDOteWRomPFYYppOt2TpLhthLiMj+NEgkMlM19M+bocNSerYvM0aauDxBOiuXP0Ptl6wnBTHx3I5SPzYsVWSnsGXtlOAXLSP+UmBOVXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454329; c=relaxed/simple; bh=K4a8tKqeVL9BaqFzY33bqex26zqvwpxkE6HkJdl3Qlk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JeFbnjrdJO5oDqZg/haFjY23E5BoSety2K3rRknhgwi6l1NSXwK2r0UiWo3DPafi2hgJY1zyc0p7URe73f+J7mosIBd1Pe3C944tlXJqgtzQ1wxkI83n2dxtP+KIHCfZ5EM+N4obCSEFROY0DMqslr+Z0BMWKwEb289B+nVEoY0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PNG57BsQ; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PNG57BsQ" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7930132f59aso7317595b3a.0 for ; Tue, 14 Oct 2025 08:05:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454326; x=1761059126; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=7llkAP8rKH/Oo92VHhR1v/h5PxCOy9CRKJV3/2nzc+0=; b=PNG57BsQHnDfnWQFEsYNBNEC3iFvC9hMPaf4vC+eVhFS7uGMEbLkdDFVA8e8FZSghJ erkbrpniFlCqxXXcnbLNY80aPJ5iw+6iLENb93LFh4KgIQ4uCjZKuRRb71gOO67yP9ZY nt1VEqJKQLV/4DX//35aO82iq7joRxNyYjP/mbh1nwGm1Orqbub1Bd/Fc33ZFBo04IsP Jog+AkeAQF6ojjnMURl4sbOJ71VfId+X3TFdiGitCe7bmRyssK104DuEtsfQruzCp6GD DCgCgAsl+rfRUJMVFVOAxyfG/cggVhyfwEajRFpO/qsheOVrWo8BCI1/zMUaOn4ZJwJ8 VyLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454326; x=1761059126; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7llkAP8rKH/Oo92VHhR1v/h5PxCOy9CRKJV3/2nzc+0=; b=nDIJXp4pj9ghKKqTHOvo9RGow3rnmJNBIopsOUe9L6XFnKjThNlqT4Us/lLud3yVsG tWaSEITmRef+ulG/qMi2Qtr5Zw0f0vOxu1LenGtaTpX+rCe3e5oBoA7uskrnBb8aAB8f 2rNuRzV89c8nCjs8ty23rHPctffPttLFnO/Z2bftSPBjEOApNsBzJm7yR4btPYE5yxnq uzwQG6CNE7NitaMnw3pDgAFudu10XZQ9fdpEJCBDopv2sVulzT/iTaC+BT1xYdz2L56G cYiiL661xCpbCChSff5UFDe8bq23NN8iZsr44lc76jvVx09piyCWQoIZReGy3sbyqGix 6lKQ== X-Forwarded-Encrypted: i=1; AJvYcCU7WuFLgfyR1V9hhd5lz1bua1GS0JMi6itzu9TsQ5TELuokds6zE0c6a+7nxCrAH/cGjCaMgQbczkPJDfM=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/HEIsWEScAla/N2fV5VL8xkfFUfbdwEAu4ZZWW5gpZAweFmzd XxF8l8h+imYrmawNuBqbFoMZxXchaeW5XOAj2E7YeN9f3IGrc1t9081W X-Gm-Gg: ASbGnct1FfvUGXuj8somZbkWe0//EDrFQzfCYV0Z0C/qCXNQPs9HquAluKl3R281uKv dDptXHWe0B4QWFNjEufzjmd4AfUMAv1/dEdZlsU9DLzkrrQX/+WtcCRRpyNEvtOofuva/m8+Rlm zh123gR6SiQ0NJNijGC6ZlFpPfz1WdqchnIUr+SGUFm11biA05L3iusjmcQEt8sJYoGfwmdOWBP 3kHrwc+rVSmcdDyoJlSajhabrJcyw54zXg2o22ZDytq1MzFhzlJJr97gLCGQE75NJUS39IO/Quy IU1hM17qow2K4nv3CuX2JWLvpxXpeGO74WPxHQsm3jFGRkajSw/j583jfCKZEdU+sTB9tKOkq+I xSwBCORY9Bm9S0TfR+Zn3t/oj29QEjRam2fbwaLZxpJA= X-Google-Smtp-Source: AGHT+IE3NxAaEns2gk2qdEx9c+kwoggzTSTvFkrcp8epRBoP1K1fTKpenPt9+hbz3q8VSwNcOXWsnw== X-Received: by 2002:a05:6a21:6da1:b0:2fb:4ac6:6662 with SMTP id adf61e73a8af0-32da8139364mr35196981637.13.1760454326327; Tue, 14 Oct 2025 08:05:26 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:25 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:52 +0800 Subject: [PATCH RESEND v8 19/21] arm64: dts: apple: t8011: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-19-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=946; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=K4a8tKqeVL9BaqFzY33bqex26zqvwpxkE6HkJdl3Qlk=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZv94ncF/y/perEeYBY8+y70nwkVMNq1VRMG 6Ac1teUQH6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbwAKCRABygi3psUI JNd1EACsHjSDCSxZDW6ph7m64UGBZOj0NCWE4q8pP2G2+ojKWdMmmM2B+m+uPXfdxyQBGim6jbX ef/OEysjJkFl1lD7pueuCDnH/yOyiOAJtf/Ew5BJVSqRc0pJZKj9HW1vAcjuBO7s/aokKO2NdbD d4PFX5dhOZS6dY6dZddHT32Q/r2Uwa//W5LyquKm14YpY2pS/7IEg7wYeyuHCjrVPTQflRtBL6E 2ZobaDsC2cMVo9qt/PTqF/EzIV0p5A8i4DLHNdckv+R2mivu7oUEXlJPeAygORYT5jYE2jc4sns 5TS4B2SjwWkf0qppUxUXj7X15U8BXGdkC5M85omLBRiXmFCf2vuvLBuWQ4LhS4CKpi3tXo4HQ3p VJyhn/yxyHfr9ZSbO2a3GAvmPf3AIAEInCD3wSdk1ovr9s/g+gGuc5g6ElVy+Gtzm+gR8pWvl9i A4bEcW2QSi3HRMk31eW7VKeCYW7p8FwRpb4YrQCo0u8Spfl1gzXrcC2oh7Ar7L0shlvfydUb/XV sWSMDoN5aeGNmjzkfeM/zmfDchwwRt+w3Wy9TYdY/PNvY+x2qkul2dVhGhw9kla/78WbO4R88Nh vaDg3NFpU7aOxG+r47otn04n+jaa3zgkV40PVqL6zg/mfJZzQ0VJMXs5lD4tG5HvZs7uLmAnvf0 SkiHDA6Dxhfn4Dg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodse for Apple A10X SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8011.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8011.dtsi b/arch/arm64/boot/dts/app= le/t8011.dtsi index 974f78cc77cfe28d3c26a52a292b643172d8f5bd..ac203ac4d6eca75655cd590deba= 5c361accf2375 100644 --- a/arch/arm64/boot/dts/apple/t8011.dtsi +++ b/arch/arm64/boot/dts/apple/t8011.dtsi @@ -253,6 +253,15 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,fusion-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + ; + interrupt-affinity =3D <&cpu0 &cpu1 &cpu2>; + }; }; =20 #include "t8011-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8DF0303CA8 for ; Tue, 14 Oct 2025 15:05:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454332; cv=none; b=TfdDSHph0732Ghi66PIOZg9Gmu1QoZeCdYSlKGea1fgX5PTPCtbE4DEpRkXI44adPB1Z1kgYvo5GXsuL7nsJcIUPm5qXFYYQ9UmfuNaspBWeYvyjsvRIcGKzWOpagPP/AnNeEdEpZfKpxE/EUXxVymMoDMNuppJzCo33Zl71V34= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454332; c=relaxed/simple; bh=aC00DD3jiZSVPA6I5+G806JpCyFv8tDWkvwqkbp+yEU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WESm4YaF2gh2X+T9vq9hEH3/jfmILgI0hNNbqnCC5yS+dLttY6GjqJUyW9WNxFJXsU3FJ6aEut0bXItjFDofr49mGptpirRNpn/8SihF9kAFaxTWDf8YX3uIYFNzgM+iOwLPw6eX3fnSpdSK+PRpgjUk3owHe+ZCTD44jpFrvmI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BiJoUKNL; arc=none smtp.client-ip=209.85.210.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BiJoUKNL" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-791c287c10dso4621455b3a.1 for ; Tue, 14 Oct 2025 08:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454330; x=1761059130; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=L/G/Lg7srDy0beJ935wpO9N4JjYVVtt8v3yHlGagArU=; b=BiJoUKNL3Xsl97qEd/TblDRuW0w20oeAiQAA1sj3O8VqYX2PzKLgxfUPEitY43dUW+ EuJ1a90tQ6DS6BVQ5fgxsyY0e1Ts0VO6F3E3SPSLwBkS3BXfogGD9ynFf5tdYFe3KXg7 R2ZzxzVFmt2mm5Tb5+jh8NQLTTruX9IhQjWcFBb0CvnAAdOsP8PToeSC1h3f9LlRgPxb JPIvLw3TjE9+aFH0SPn4ADyvw670n75zMEdHZaxZkDfmGaAilE79UPa9LLerZ4unfgVK +bLhB/3v9U3hG0n8DCq5VBsGGkf30o2X+BXRxn20QGhGML881FDTqjM8phuQtogLZHJR Cv/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454330; x=1761059130; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L/G/Lg7srDy0beJ935wpO9N4JjYVVtt8v3yHlGagArU=; b=pAKEaeZO/y3s/aZJyy546ps3YzlK7JfotU3QHaYXQ17G6wNNIG6vCD6aab5EIJplFG e5x8GRGyH0dfBS6NaY4JD4M3ByP77I6tVcn8NfowBzwbbpijMQsHJtd+2snPlshnY0rD aiCGrYWF1BHs4Au35ppCIgAffsQqBR0SwNcDSBOhcyTSiKh1hWGYmiu677238i1z4yEC XETCt+EO+dSvoVNUhnSCBDVwoPvBs3C/fsTm1dekMw347rjZdJek7s5DVaEqpuxn9eo/ 4frn6O60cYQUXRLuBICzZjtv+6UNkAvaFkicoTs7i55W/ndifiHiFBJfk2sL8pNyO2A+ t9ig== X-Forwarded-Encrypted: i=1; AJvYcCUF6WxVxO/8mIuoaujtFbUNwHI/u/uPDkNULA3eR6NsZlRo+ZE7YXW+pt+gj2aESIyfiL97QTJturbkZfE=@vger.kernel.org X-Gm-Message-State: AOJu0YyZLXdkrKxY5vxGyis/inSS3TscVhI9oFl9/bMScyTAuHLbbE7c nzMcN6XAcStz0EOH7XntVJYoC5juxeURvzpyBMtPb7QEEAqgNUbavCAQ X-Gm-Gg: ASbGnctyrOjyuiaP0lEm9A69iSTn1ZtstpPwmHJNuLiWlXYzD1w/b3VvidWDzf8h06n FfQco0DHgU9juzm36+ZjAkYRAxsh8Q6YQdmNJcW+CwKK5Z7HF8Safw2KO6s38g5AmaVPYL12ZNh 0RZ2q05qBXSzgiG3vSe6ojz4X7OiQrJFccgGUPBH9BwO7e+TR9Fwtkz55Z7eZaHowfryUK74kdd lGL/YIEgG1p/Gvm3hPEz/vo5tswZhRKj7qeQKJ57GI3fc3zCxGy/sXTO+qS3dBXvqHt9WZiGXau X/+KdNQsrSCuoT9B4Kd0uHfFz9UB6BQ1aJPNQ21tisOooXTAZ2wCG95mm1CRCdFcu7SbuyR8b+d 2i70oNyNlRHObbDdA4ILY5C28wzgNtUKe4gZMXsViaL4= X-Google-Smtp-Source: AGHT+IH4HBeKhh0rs/WsBsl8Ozw9jy+22oWE6s7x8YS6IasXPfN4lyvr/JwIJU3w/u8b0njenNKsAA== X-Received: by 2002:a17:90b:3884:b0:32e:3829:a71c with SMTP id 98e67ed59e1d1-33b5112974amr36908126a91.16.1760454329752; Tue, 14 Oct 2025 08:05:29 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:29 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:53 +0800 Subject: [PATCH RESEND v8 20/21] arm64: dts: apple: t8012: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-20-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=893; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=aC00DD3jiZSVPA6I5+G806JpCyFv8tDWkvwqkbp+yEU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZvaGEqO+ZN55ucW9OJJdfiSgXdY2n6ZdLkV GGDjJh23h6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbwAKCRABygi3psUI JBpoD/0YSyScg6oLOOGpChZtwSJeca8rNagdikOaYnLGKmjW3R7hJi5e3gdGkunPGdPyfk7SVPI EmVSWxvpMzLwYgd8uVw0j4IFIBIl2Toxd901AgnsGUO/gBoILkvz+lzF/Px2HuO8n9scQMiS5pM 7vdWYHXt/s3f2DLx482Ja0H8BdHULUw59x87M8nzGlStRpqp/cFGmeRFwSQMSADPgaz2gkYuQJH f2bA+gLhHnz2qJ+uYMiYQBOj9iK0oa42bUdXwSiqV/DXiFiaO61DreTME4PJaP384XepWCg7jQu 9pUmhh4lbnuqhSqNDtCUupSCaYWNm9EvBk1VrLf7Lfb4ZiKxIfMjjytjLDxchio8brg9Spb/IPb H30YLe13hM8Ofg2GcaTSowwY0npE6vr5QSxixPbDu10uaAhaK2z4fo3/V/qrVuAQbSQafE7KgL2 amLqImtDuMDbBOMzDfY65vwwZTAqqCKT+imkfjt6HPMA9DbfihgoZJNGZleeFmYVWpu0mI4S8ld wLP6m4BGRUK6alHAGcHXfs5sROr8f/F7V8pcBOMHvth9aKZkWxNRjYJpI6k88eUEb4GnCkAGKns gEbC0XPjHQz/9w4kEILzGbXYID6au8ewy4bc/mBEUv+QmnwudYoopjOUAqKhNKA/NMNfoMkYK1Z x/RqjAo4T1ySY6g== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple T2 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8012.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8012.dtsi b/arch/arm64/boot/dts/app= le/t8012.dtsi index a259e5735d938cfa5b29cee6c754c7a3c0aaae08..fc87ab818d975974dd811cedde2= 7292ec79f2c8b 100644 --- a/arch/arm64/boot/dts/apple/t8012.dtsi +++ b/arch/arm64/boot/dts/apple/t8012.dtsi @@ -289,6 +289,14 @@ timer { interrupts =3D , ; }; + + pmu { + compatible =3D "apple,fusion-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D , + ; + interrupt-affinity =3D <&cpu0 &cpu1>; + }; }; =20 #include "t8012-pmgr.dtsi" --=20 2.51.0 From nobody Tue Dec 16 21:23:27 2025 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E88B3002A7 for ; Tue, 14 Oct 2025 15:05:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454337; cv=none; b=Z6hTk+d8gjaBNS4Wtvs28v7LMDAJNCPuAJGdOA4LOgUzZXQBwRLMSyqzTWhsFOUJuPVFdYu70yGUtOlEiO1CoaEIXxEhB6MGn1OsE5m4QPonH2QJSdv3pSg+OyOy8jot+J+C6PfvJYmCXOB19BsqMhQC8vLyNf/oh1MOARFA1tI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760454337; c=relaxed/simple; bh=NgiaadnBWzmQWHLVGXTkghr12q4e2Z2pGwu46CpKaLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L8EUIjELP491WKOluTO2CUEPlYKZyFgtbIbmnHviZodOB2fOzn3bYdYZeGQf5bm2CCqzAVQyckFtqeDftL+k7s+FSdez9J/ibfkppv/lOfEzAMffzn3YUAjS+PTcmI9WLM6tI2IDuc/iL9zcoxO9S5O4nmmg+c6KO8PNIxlMSdE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=l1ODXOwH; arc=none smtp.client-ip=209.85.215.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="l1ODXOwH" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b556284db11so4826557a12.0 for ; Tue, 14 Oct 2025 08:05:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760454334; x=1761059134; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kj7fG7XAER68na8hgLjfPolxfyD9eQkGEiz9N4R6m0U=; b=l1ODXOwHX4RHTUMAokaq07RB32KPCjn0Z2UEf/39fX+bgFSerj07NKdYQLmS6oeRp8 Drz+geJ7JXGfx10OOy2OvgXohnvCgAvoW3ZJIF8E08xwy4QCwFi+jeth6OBQ9KQ9TbE+ zFrP7MulpTLVAHGw/pODksDelJZIRBzs7QkKXVNENVDTfkhnfs6VxVVucB1gdKo80hoL pyRB/2JkQ9AHM7OYYTyMBaM0oHMRnYCd3nu9qZ0Qud9Smbjz6q0QOTH/X4qYjFD/wEMu MEAp4DuYSYI2dIV2QzeGlOFuARUS499e2amUUP4mhaRFzfgGxTmMbxK4UXUgv+0zkkWL r8Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760454334; x=1761059134; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kj7fG7XAER68na8hgLjfPolxfyD9eQkGEiz9N4R6m0U=; b=Rx2jsB9oSQQQkOBoK/43PmeWwa08tlfJrEYlN1H3nRTzFy+gSt98pE28NfY9Vfg9D4 rW+z82Bdm9YBAsOLQQowu1S7WADFMWNn/2VwhBUExfh5xnrEh91LVSDmHkt9jEOu89sc ngZvWmsRPi3fY2Tyt/num5DV7IbDDmXdPlq1QQcbCdMnLnPFG2iXRl3rWeEJdb4zLRe0 3Vd51g4dAmm7D+lFGGwxhH4LGgKGPRAK74ceWtsuAQJ5m6gmEaZQo4VNXFl3p11K2tHG 25AV3S3OUH1xFjRtl7anDxXrtzqF20Qz5Y1i6z7bLyDS2Uy1/+1VSa0WdOqfP1e3YJ7N HOtA== X-Forwarded-Encrypted: i=1; AJvYcCV3IcBLPuPRqjnMOY2VbvtK/eR47o5zB9CJCDSsOZwTenqxGFr6PdD+oSQS4jK+8NJtIpGo/cD2vZDkXBQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyrM7UPn9eZMqEkTMYYKNIZogarqT4DmlYLk+6Kk48bn1txqruV 9ACURQQeUN5SdKnhMAaK65Temfj1iQ7qsPIH0wg7/oPrr9qabOaIGFyIomsjqQ== X-Gm-Gg: ASbGncsYgMoTD1NGyz2edokeDK3M8CW4bYGgTV3Kd3FJgcZBd5G0OqkqmMYxJNa183a VKq52dy2DsctNVYBuRaXgvcjSvTaDxqvVJW5AjP6mANcBwu3ICdWop925hdmZZQmO5QFCgq7Nll PUT/3js5X1cKN4UrHPKPg0nD65334nfoSe3ekMVFp42nQKh6CSKt5BoZDEBPzK97DU/Qw+4BJo3 uqlH2yT3iaqx7H784qyAJMe1oC1gyZ7ebSwwvbt4Y6oTJsG08/hrFv9wYAS7RAke7hbfeBle4VV vfbvqBDS9KARyIt7NTmF8BjGAoJDHb70Gz9a1NbfvoA/NQEf3iL1mPU+ZyxCGuyfActFMsSRCQk kZ+5rUEYlC7lJAMIO6yFj8oThO3Q3ltzZiO3sg91///s= X-Google-Smtp-Source: AGHT+IHbjYg+JErGsDXlogYv4U5n/Ev957SikqxwbnwgsM4THfPZkc2ANoLT1k5m1jk1sr8QGnevjA== X-Received: by 2002:a17:903:1a8f:b0:252:5220:46b4 with SMTP id d9443c01a7336-290273ef076mr279316715ad.37.1760454333232; Tue, 14 Oct 2025 08:05:33 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-33b61a1d3cfsm16258161a91.2.2025.10.14.08.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Oct 2025 08:05:32 -0700 (PDT) From: Nick Chan Date: Tue, 14 Oct 2025 23:02:54 +0800 Subject: [PATCH RESEND v8 21/21] arm64: dts: apple: t8015: Add CPU PMU nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251014-apple-cpmu-v8-21-3f94d4a2a285@gmail.com> References: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> In-Reply-To: <20251014-apple-cpmu-v8-0-3f94d4a2a285@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1462; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=NgiaadnBWzmQWHLVGXTkghr12q4e2Z2pGwu46CpKaLI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBo7mZv5D6VFnHY7xtzs/SFP7ACL+A9EPJr60YCu l4xx7HpGz6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaO5mbwAKCRABygi3psUI JKcQD/40/H4Fdg/0XKvNk/ItYQoUHoX7cpR1j5MG1alkId+ifV/HOPZMjKMjSRzMBWEFpbI8g4V O6OUkcbVVog+LpZYlwx371Vrm0G+B0pRV61KchCZ/kvp9AQg8ndMtQr50YU83ZYfOtadimZJPVu QoUgY8jK2tUHciPv56GZXM52jMQObX5HxyStxCJzUI2zB1vkbtBQSGXn6T87ivVS2XuB3OMV/bc USy7QhDP0YG19Ebb+i7ck1ZWzvZQio+cgRvA/DxGCmYgigKvmoJ+UEM/6W13MC+tfvEQddvjUSQ BpsWJLbERjxTj5k7R9HyBfYhjDt0jQW+7dYBpuoZel1Jw66Gf4+Kx2az4LuCHWcOhRngr+y1wf9 revK8izGXomy+QY3xFi//K9Qh42saySjl1/qTUVHVizoI9JHc19TWM5tTFFmiDnY9whiJjGHXiY lyluNFhn4Xqza6j6Cs0jFuVtftS9a6FNkZwrw4WeR/6kPh+He9okbF3ZWKAoWRzVxhxU9CSW1UF ybR5ss86Mp5fxT6x4SOQPPAbgnW1tOA+J2Sx/217mVxPsQoUGsgBkUzNvQVLr2+mbFnPESUngbR R38m7Yq3XQPAlQfy+T1iQev13fHjEhR2/9QCGV665dG3ZFCmJEgbvP+1X7oBauAkjhRXGiZgCmz vLivvLjl0yITmHg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A11 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8015.dtsi | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8015.dtsi b/arch/arm64/boot/dts/app= le/t8015.dtsi index 12acf8fc8bc6bcde6b11773cadd97e9ee115f510..9bf5157f0e504b7394ef5354411= d3d37e8d5760a 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -284,6 +284,18 @@ aic: interrupt-controller@232100000 { #interrupt-cells =3D <3>; interrupt-controller; power-domains =3D <&ps_aic>; + + affinities { + e-core-pmu-affinity { + apple,fiq-index =3D ; + cpus =3D <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>; + }; + + p-core-pmu-affinity { + apple,fiq-index =3D ; + cpus =3D <&cpu_p0 &cpu_p1>; + }; + }; }; =20 pmgr: power-management@232000000 { @@ -412,6 +424,18 @@ timer { interrupts =3D , ; }; + + pmu-e { + compatible =3D "apple,mistral-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D ; + }; + + pmu-p { + compatible =3D "apple,monsoon-pmu"; + interrupt-parent =3D <&aic>; + interrupts =3D ; + }; }; =20 #include "t8015-pmgr.dtsi" --=20 2.51.0