From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 0708A235076; Sat, 10 May 2025 15:11:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889894; cv=none; b=f8qN7qW3Ke1gzYz+ZcsWLhxJj2tYdAy4RqIiYNhg42b3PocHNgKT/KZS7dKaercu6ncpEQWfkjNgjmysSRxpoRMEbtiK4MVGh5JiYltjxgPhppk35gzQ2SzDN/mq84JEzw8R+gx86h+Ff3M5KFglGqReYk7x2DOpZ+HVwGdfQV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889894; c=relaxed/simple; bh=nvc6B3SNJrX+OFSnYkWwiXKVem6neRj112hzdXP5HLQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qvRS9cv64Htmd9eHEwv3ihBNx86G6OQllTFUjapyIbodhGM0OsjzixLt1m/ZasywNg8CP2GK0Tm8fYdiKy973mIjh0y8hNOGy2eIxZ0DVbauS8SW6wS/mozoqQd2bLq08Nm8H60pDB4f0Xo003aQVumwzDPe3HULTn6B+mZ7X9Y= 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=eK7Nzyiw; arc=none smtp.client-ip=209.85.215.179 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="eK7Nzyiw" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-af91fc1fa90so2503280a12.0; Sat, 10 May 2025 08:11:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889892; x=1747494692; 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=1WhR61nr7Ljl2PHcEGBKT0kq+BKIGjpo8813I6tRUqE=; b=eK7NzyiwV+u8dihcjSVN3NNDIHh2Mc61okPBFP+/eBYpR85QNiMGftclgg8oojpxuG C+hQAgw4HBUcrvfBtVtBDXUmT1W16pfg4Nzuacbt4whWs306z819sJBT+P1KeEgdxl7N BIUcok9iztV5iSHdmO3M09nvhIKdLU2VEEUkmhCsdRhjbW6DAzb/D0wln6nSRfdQJvE8 htNyDGkBi27SxQ5i5EKD2DsjHKJcturPwg18NOpd4OkFmwsZ0cqOJxI54QeAcpwWH/ZU rqN6KacTlfWQzXoPeOh6fNxEOr3gstoh56Pgosvlfja+xplpNhiIoAc3CpCiV/cxKzRj yADg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889892; x=1747494692; 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=1WhR61nr7Ljl2PHcEGBKT0kq+BKIGjpo8813I6tRUqE=; b=A0zvlWW5MIs0+O4/mWeMznTMZJTWjXdJlHy9CXw7PNz+vdcE4A28VpNajcfgvw6eOX 3oeNyKH9vWjt4rhjq2HzFnTfmU9WYqi2VsDAQ+WbbhLEQkXVpg9J7nKP1DBuxw5Olj3K VS5MiLIa+0+MVhrCklrOVXjzzvnn3ozQUW2DbUbnaerWgJG4yOeZ4vpBny8IwG4pocFS KJIe4HcagIzEJmOpGLHQrmoL/QnaqYCoW29OigwfQDBCDPIUzEHLXhi/NY49xa+AvTYw E8YqBOwG4qNFmcHxqMMvMH/KHJJCNcIeVK408YG9xIa/c/yqHt/QXq863TJHzc6svVYB Jb7A== X-Forwarded-Encrypted: i=1; AJvYcCU+dRxfXzMm1e03oIAl0p0tMGuHFppCYTNtn/VAIiKMvhy7Y8bXhN8ejwLfgxoKyox/ByyZmf1JraYSry+Ts+flGg==@vger.kernel.org, AJvYcCUWQ5va1OlWYsAcmFKsgCUNz7Hq5KDy+lWr5X7/mcdIASkzScKOQi8IYfPI2eUkKYuGiFuucQz6o/aitteL@vger.kernel.org, AJvYcCW3uRNF3+n1I8CjMJD24H1tTkO7sDeHuYzc/r+FA8Y3hUuHJLiD613LW57DUcGloqKW/BowB+cS09hr@vger.kernel.org X-Gm-Message-State: AOJu0Yz5TQXmEXooLFqkF0++YuquBLc72uGzVKI46BbAqR2uxMR77v3b FV0I2Nl5XHdyu4CAN6lXdaNMP2YIi+7fS/BOX7cNar+PBYfMr8QY X-Gm-Gg: ASbGncuNmA6BLPir+KMIKr/NYrlEfrESAT5sXHt7TCZLIQPWZ+gtmkGb3htHczf9IDS f3K/9w0ab8J2i2Kt0bjeJCDAvtnoKNAnqAwhpZUZfvhsMO2OiXycpii2nCUjA/A9gpELZXXchWr PGcVFVCRl6AslF746DCpKg3wy7CC4wK5P85Uk2e+oOwDInSMwkukhJx/mbLZ2V2opXkkcPq1H2k vbDIs6ZNYuDyLTgxvH3v7moDAG3UyOCu53Vk8lezdC9cCvqKbhefturegZv/lyOTdwaRCsiFxLk 412kCX0zysyLRiHgbeQvFt6dQ7lrFpkeOpnxudPEsZ6K6d9bATv/2A== X-Google-Smtp-Source: AGHT+IHrMovLoBYB06/EjKWeBypsMBRxgshoSisDFkycvgWn5VOYB/k1ZbKV4M3dF8qrnRM0Y/GUUA== X-Received: by 2002:a17:90b:4a4e:b0:2ee:e945:5355 with SMTP id 98e67ed59e1d1-30c3d2e355emr11285339a91.19.1746889892151; Sat, 10 May 2025 08:11:32 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:31 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:42 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-1-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=nvc6B3SNJrX+OFSnYkWwiXKVem6neRj112hzdXP5HLQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yaA4PzDuDwaa2SwrJCn+pSUhc3vXjTbIK3Y ZBYp0Kpu5SJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JJ83EACDDpTag1arv9So+EYN0Rqul10K5q2wzppnkN9JShqvDgPNebEuzwTqkYBwJwUKqiiCFv/ v6ZsMDt0JXkMPIz3TDaWWApJE0rlXL9sHugoO3WiBMUHPn7U20KF/lwMM7oRYWjfqq88d4SSv/b 4Z5bhlvE0TpiMvgLPVzbTmkezwgGT2/EB6306pmzdfkpSVXLVyInZgiINknE0nxXnPsEQwxk6TN eA2xq2C6W/YFCt6PofdGY28mcf+pUUbFinY49rLOSXQTc2eAPje8PG3tRZ72Sbs9IwM4eQK4yyq /aQwSogTYmOPOUiVgsemR1FH1y9951qZibKgs7m54V67S/eXMHJLuaTtTrcd35XFP7MWyrdl34A oUXwrHfmreo95V916qgUtBWRe/915JXyytXaQ9cuKXNaY+7F2UQVToTPz5LL1p21FGOeLYIKk/a 0gcL0+9xkFUGiEn00PtdhXbOzO2ycYS1p2r0cqupvSek89hFdeK4q8IdYITMxiEG8RhMuChews1 aATU2TY+2GUASVgp0h04fK+WYB6tn89hdEh9B8MMVY0Ah/cg4/GwMbhvPGkOVruMZlQP95OzkUh SAFw78LVBhKHYN+udFOYM31qWvFYN8OJj258XdUugMlHNufB2zKN4vXrzjmwksWcDyJ9T12FWG2 k07olloAlwHGTjQ== 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.49.0 From nobody Fri Dec 19 20:13:25 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 54D6C2405E1; Sat, 10 May 2025 15:11:36 +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=1746889897; cv=none; b=OsDz91tZ44gnNzyP/ovjUgIg9NyjarUBEyZFG93NROpPW+vfo4uRbu04ygitSCrgulw5hDbkTKHdMVBcF39b7SvMeCIP5I9dMnem5P9HOWmsJK1MQ6+qI+nAgu2YO8ylglvgNx+F/6k+v5hgNz/H8tGufxypmXtlbA842onTA4k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889897; c=relaxed/simple; bh=Qn+UBxFKpVtKUsbAnfhiKrUYfNaGPfBOlGOEhF8eJS8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G9fbeNMgH0oV/PzZBXqTH2gLpj7fE/DFkLgqJlKIX/YqnBZBg6ibE6jX0PHtdEhSQbBGPGf/3NlXSLmA/cmBS956wy0AuYWP/8Y/PvPacVnDwR3SwYOBcJdvpb/3G8J/oLvGMl9G5AurU+CrXGNHCCWTDNbS69Esco22cOIgkj0= 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=OvtWHId5; 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="OvtWHId5" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-73bf5aa95e7so3202315b3a.1; Sat, 10 May 2025 08:11:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889895; x=1747494695; 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=xedAeEvApSvQrplSU1ekdbA9NGbHkG9Nteo4ChiFRyw=; b=OvtWHId5gk56+Pih/HRnOEIYWNnBKGVGSHuRcrHflzAU4eJdnYcojCd+BX8PKSU8We acqM6Q2fpQP6eFPYdjczXafuxiltf21t8SCGyL35kSz1OdVTtl99WoHJF5S84fE5onFO M+VlJCaydvf3wwrDIxUotQUIy1HMFtm+IuVO/d2y5PNnHrVkNCECQk5qUJm6O1N86We5 LKK2V1xFvLcVmkKshfFVEFscU5QN2IlXe0mwpZP5f3Z27zH3kHcdc1yzc7owoBPsOjoa aQsrWaO+GGnJnTtYx5U+/IVcYXpPUXgJhO6AxPDRLSqftcWeuDIdJmXrKI/zqzoLPbcZ j1iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889895; x=1747494695; 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=xedAeEvApSvQrplSU1ekdbA9NGbHkG9Nteo4ChiFRyw=; b=hn5HlaJwPdX6vULL7VABREIROJqZ5sIl6ALSsPA8sQNhElKlG4HfYV3LlbH1FnYq+t Ce3k/Lp9YxTUoDq390Qj0bg8k/bCuVQOBAfhmy9z6ogLGk6XftnDWr501bdW4o/UjJ7x 2wZ5sptspUfP/+AeLUikwBWNeCYBJ1gDvrP4G5FoSYSrVWrmlGZJn6CHJ10IxTctYPRS Dt7JLvhLJscN07zG+NNDvAlWFr/ozswZawkxb3H/7gK5+wIP6x7p1o12J3IPoUsbLzPM OLUcKV9PRwiQi8aF4HrB9a30lTn5dPNr0I3oOjRvkFewmGmnjNHSVaKbKl/TsmkNX78d 7K2w== X-Forwarded-Encrypted: i=1; AJvYcCU75U5PJlL6R6l7DmQmBpIAi0jjibE4DkrqLp5iiIRRSYB75OQK2zokSv5jrC4puXO+aWx6B0PXz2q4d6eB0r3aIg==@vger.kernel.org, AJvYcCV+1Hk2ygTfLVyQ7JqqigKpcIwELDEDfrhi9IGcdM2GOWnBHnPMnwoBHt+DFuWx2lHwuye6heNj1EIV@vger.kernel.org, AJvYcCWdb2agU++Fge+8DqWWOiAp1YESCIx+OL5tpfMiycY7m3tkzyTKCjrzPoi9uqmKAd33PmI1EuV3NOSJRE97@vger.kernel.org X-Gm-Message-State: AOJu0YxQlvmhB9v1tbmU5LDOLF2WX3xeI90hnZV8JfUSo/6UmrNXzQYN 1o6giqHGLrExLilOfuRGuv5Y+IGAUh+tBZX3l44ClcnXuuu9Wylr X-Gm-Gg: ASbGncsQ2kj8T/w87HuLqwi/nc6Agi9JK4HsmfcdmQT95X97KMGsHuKCXUaE0yI4YjC Wn4pFDUNDUy+WoM5XyldD7KZbc9UkhYcceJbOrknn/3C+VxCOWiY7RikxU6PLQUV6Exg2Mx/IYc 30U9/wic4FNulcHmSuVSEgKGuZt8QeX55WajkbcbW7y8VQxWxeAXR1RwxY5k2zLWzBEuGgLz+Nj Zf0CPhrdSUtIUpjA8JhH8UphVhmy0Xi+oz898rL67t0RpjiFzDtlt95TsC5uP8OTmWyvWvtIUlz 72toiCXAHq2/sBZHK6J3Ns+R1xHEJ45gpn/Ix6Go1P8FW7lEhMBW2A== X-Google-Smtp-Source: AGHT+IEpcdU2W03L+ngH4AWr9L0lLRQkWIUU5gRbEMYis7/i7CZr5CfIxvk9oscXP6NkX/AWz9ny+Q== X-Received: by 2002:a05:6a21:6485:b0:1f5:8605:9530 with SMTP id adf61e73a8af0-215abc1734amr10948928637.28.1746889895444; Sat, 10 May 2025 08:11:35 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:35 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:43 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-2-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=1091; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=Qn+UBxFKpVtKUsbAnfhiKrUYfNaGPfBOlGOEhF8eJS8=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yav9dcem4A4esX8WAldqGX7YwMpYCRI7OOn 3K7b8i2BX6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JLe1EACLtRiC5KVJXJwXQjR6Xb90p8ucZZefv3oZsoNIBadLSFhJ8NJIXGk6/RcQiTB76WSWRcM O7VXYLdMVE3s1XAlg6KISddaztrqNc+lUCiBvAjp+GYPw/QArSfcSa77jH5cON9XvFq7BjlI+CD balJfX5gfKBehIBeNZUbVanuqxvDgPe5kND2ER40WAJXclW+kF52eBtHXkrVsZHBtjxUv4RrlHA 4yV8pXtk0qXOyu5xrmr8Zb2fBHFbKznsWfFPGjFSMPNXnWN3kwbYrenSr+c4QbXFb5iSh9ssH1c pdkij9B4LovNDVzSOF0mGaAxnPPAl08EcQfDMiMEvLm8U6xuxiVEZsBIB2UmUhuTEn0NQ7GWKM/ PxxG6Mr7pjzpNxy5h8Yu++0Hu4PVC63qyBIyrmeO+FsZisAbij38AacFSCC1b1p+phPN2eCkpef XFFgjfTIsFf9wO+4wIbD3QB90583LrpNsQ5YOLLLZxH8+WX8s2RF1/rWPfOqw9e7TmZHV8mvbff D8LIYSW6VSYlBUwuG74drWhuvONC55Oxy8nd7JdAhRaKCDwQf8No+mnMl32+2Ow6wfwyAxZLR7G jFCr3J4Trd25S7w+Ywugz4Vq2q2LjkHr9JqZvfAyIVW/FqtN7wF+Mj3QjnuVEvSmqni/HEMed4J 0qIAWTXJlqHHgXg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Skip initialization of PMUv3 remap when EL2 is not available. Initialization is harmless in EL1 but it is still a weird thing to do. 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 df9a28ba69dcfad6f33a0d18b620276b910a36ca..b800da3f7f61ffa972fcab5f24b= 42127f2c55ac6 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -646,8 +646,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.49.0 From nobody Fri Dec 19 20:13:25 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 9631F235063; Sat, 10 May 2025 15:11:39 +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=1746889901; cv=none; b=DhK4tC19Nk19APcS/MJ7WvZME5tMubZxBmD2fCflC7SWkzqbQwdQNEY48TvxW0/yemOwJFLPAd21GX6lceIZFFg9BKSjIht9PLq078Jp6/XlOaZMgwe3/MXza614KQ/ujgS/m+QAwM3WWB9FRkO57D2Mu4vkr0wulUB2NRcUZNM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889901; c=relaxed/simple; bh=40iBkshuT7rxTV03RILkcUaTWGCgn/IFCgnsDvO8O/4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GryQWnEjopWDcMqzW6LUSakKUcSlz97uhUszkWXGHZdGekiYCp67xiWq4k/UtOU0Lwo1chbhyLesd3/SJUqWQhlQdRF/anJhbVn78w2+wxIaWWXRtKQDvg4Jsw0bTeC4/lqmZdyblBXPWhRDKeVtkqYABjxlH9maXaEQVxcZMA8= 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=ZU7hDHJR; 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="ZU7hDHJR" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-30a9718de94so2980403a91.0; Sat, 10 May 2025 08:11:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889899; x=1747494699; 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=gMIBDXt3IAT64Smd/QsEmSBW2Kr7RYH+ZBjKqzd3OdM=; b=ZU7hDHJR5WCn4Hh7BkJuF5NBF203J+fvVbN6J+XPAbCrM4WXLBequaDupJtvzWbkJp e5hxiS0js1wXGW9qYHl4C6zj9YaTfpM4ASiP+2PAqzK40Yvgn2v7RzN9hLGO+rzPiLO/ 9hu8eQ5o24AiOeRTo9lUdBrl8nezE08jODI5CaaQ2fUuIRXHpXOQ7DlMyqQWQRJmUWBJ v2rH69mO+EMPwG5zTlLfIWtVAICNmPhYSFrr/9vufA3XVpy0zt0y8be/TeU0IMKIF7sn b7KsJLoipM0bv7GtXqXl6mVpnUYMtOfuCvxkzwg1T5SUuBkkGKDwywoA4h6J599k8s+/ Lk4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889899; x=1747494699; 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=gMIBDXt3IAT64Smd/QsEmSBW2Kr7RYH+ZBjKqzd3OdM=; b=W9HFoxHbcQkrXk4didFqVaB32pKF5YJjQ1bLiuq4ZWPX+unRfHN9MTClKFUgNhIhTm GmgTMR2iYny0xjx4exu7mY7/lNqHcj1XkcrzVLTBSw8byX7q3nxaWSqHC8eEDmo0gKx2 L0NbPPZKLpVuNWc+475CbAtJSlAvRNcgBYtqFg2WaOEyGB0TCYkyNXTLAqyA6Zk8tFLx S0+BI24nTzT7Tgsb7EVpt5QW1vhA4c/NyNiQ9jaXku3CO05UqyyW+17rTCuQUUPwhT3W QtTLtCUwXkpkA98NZoy0wW3vtoNpFDgW5TMzca4CnG00FlzcRsFfJFANa7sP2PBDv75q vTeA== X-Forwarded-Encrypted: i=1; AJvYcCVxUhvrlaZCYoSAy1Fj5WMoGrKsW9EdiJAzNRbpdJoJcgNA5d/Znnz3brYXJC07rsWhFLmaMhlqy2oPS6C/n+gvPA==@vger.kernel.org, AJvYcCXRyOcONi0huxyrRDVyyk+7sWmKvDixOE0pbZSKzg58lMNT+ZeuSqHvxF6e9MPvgXD5NmN5v/eNnltqqc6P@vger.kernel.org, AJvYcCXa6qlR+giNrV6Hr+KHNewGMlAHN6MqQEn6cQyO50/TEINxvpg+kByDMOAxFZasPVhkktcVdLiz+giV@vger.kernel.org X-Gm-Message-State: AOJu0YzbiFNU92dm/VBoLmsj7vyDX841DSq9HFK+/eMmk/L8Mn6Gcna3 6mhyI/mqXEoe1ZBlO59qJX0a3UTMPHHajzT3h5dVe5/ickNfH82v X-Gm-Gg: ASbGncu+KN0USm/nDY6ST3Wgixwax33tUasnyKO//pWVxkyJMVkkvyuS+h5kpjI7uJ8 UzdxEzpVRmXjT51jM8BiKofrKXGTQr2fTUXbX7kdxrR9tOe9Io4YTIECrTnh1HW9pXmMXkMeVcL Z94ex47x6lm6ZygKk/rLIkbGQL+XvUGlWcHF9wQg46W+ncNM27veTAP1DI8jhNCTXx3QUWhMwEN IcZllvxUECDBnKln2vrC82zv5v31z/A7IfSA1vo/toent8jtQclarGOAc7wXvNZ5eRPMWTwGvBP 84y89D3K3w2MagMAdGx0ZsuNTkv3h1p9pm/SaqmRFchQpCjAinivKA== X-Google-Smtp-Source: AGHT+IFGAQvSkp5FuP8s6Ekd05DHEU91mrsGXhbEbbmC5koqmXT9CbW191uBwo7jB2JIqA6kyeBvLQ== X-Received: by 2002:a17:90b:1644:b0:2ff:4e90:3c55 with SMTP id 98e67ed59e1d1-30c3d62db0emr11513587a91.27.1746889898831; Sat, 10 May 2025 08:11:38 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:38 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:44 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-3-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=40iBkshuT7rxTV03RILkcUaTWGCgn/IFCgnsDvO8O/4=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yayhIz5PCA9CQkhAbNeCgQ9GQexfDTqXWO0 ctPUr1ixGmJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JCrnD/sEgdFU1NJujXIghWMxs8rHXtSyh92JAPQV7u0sEkfidYyYNdEBnU832xAgfr+6ZQsunR3 rWcYGRX2GW+01RcwFsuLZL920aI4I/GYP7gxElY3gP0be6Q+yvzAdRxwkuvGwtCZPYS+tBEbyEK N7Yz0yOLPZ5PnzA0dalNlj5b7m5ANTN+7ET+RnIl2u/mQV2+PyBWTk4yiM3zYRSLHIxvML7WM8r Zpxn5CFnzYBtgme8YaJC3jn/ayayuoaCAC19ASVf3GLbRS0bUu3LrCd90VDKeD1VDU1Wkb5CVxd pBwFCDhk9fpg7XkQY3fBExa++uOWqfHkEsOfcqGY0zAEalO1U+GJoQkoPkBH5i+jyL1zlimpT8G 1uQGwAKzgwZo4UIjme1mXlONbw5/5MeWQC9rumXb5KP/f9s7saX4geoAwtyZ1D+9Fy9zqMxGUym R1bewdXG8LVu3F80f+JOmgdkyo1vW9NjAkpPeMzhlH3GltCrZ5wphN2P1RSCRxFN4Ig9mMqjyfX tvyJmDwiPBicJycEOz83WDsZBxoYHnC0d+upLPcXviqnvGM2fKyhmy87/0yqSPTHmVyuVElIgNN xaLzn03uXyBlnp/Xdbo285lNd9cuI1T1pA/XUrxoDcc0qLud5cGBL9uvM0DehczF2dCQTqy0zMV fvPHQWZOd9njTVw== 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 b800da3f7f61ffa972fcab5f24b42127f2c55ac6..c19a433ee6478876e4cf6667d7a= 85a193b6cb069 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, @@ -494,11 +491,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 /* @@ -517,6 +515,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) { @@ -544,7 +548,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 @@ -552,18 +557,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) @@ -624,25 +640,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 @@ -661,25 +668,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.49.0 From nobody Fri Dec 19 20:13:25 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 2DAFF23507D; Sat, 10 May 2025 15:11:42 +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=1746889904; cv=none; b=LMOUN5X6Gy8Pi+WB+xlK1qX+Tagq9MRb0gc6bErUmkIXy+/AhdwMfqx3nr9fuogxF+/DTnf0v0mSDykIxbS2Z+17Y1d7Fhd4S3gIjy2haGEyTB/vA9tkAO20S2tFYAlyoKdURuECQudUeKSOVnvPzFmBWqhwy5YgS7woFXeQJHY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889904; c=relaxed/simple; bh=92neIFKGScRdX0M24usDNCsl0ZJtczDZfCVErT5yl+Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V72LdViG6na4r/L2he0v2Gt279/wKAySzOJxiYtRX1zzEIjB5gX3bMxA5kyqFK/tsSckbh03L1MWClygD5TmQMfiBFwgj56edtC3tk8geSq/0cWKyjYVXzi7P7HbbaDVVHOsi2W0wcJUNAa3nPm5x0pYXlj9tu5a0lfMtEbiAWo= 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=mUS994gH; 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="mUS994gH" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-b268e4bfd0dso548691a12.2; Sat, 10 May 2025 08:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889902; x=1747494702; 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=RspcmdC6N9FCe5+5MFitUG7n/lZdN0nBTHTU7ItA6Ws=; b=mUS994gH0fKzdxNX64lvPR2OHESug/9U9hJfZDoPNBKQiqNuAsMgP7w/SRG9dwDQSE ei1JPER3wpFILTMqo/HAqxwVCUb4iT15tsbbQY/icPMB6W8i3WeGWifhQxGi0EnuumG4 W/SWXg0Saanf2ODP1zpN+p2knc9pP3QuE3xuLKqs8+gdepc4Rn0ws65Ly+D060bOV4ip Sy2kEGMhKCTYctrxIqgtaRxFmoIUDgWXYqAN5bHmqFqOersLVNL2DtMxl5kJv4ZKJ8+R /8iZUqEjOeNSW1XwfGA2xM3uKifu0mffusVyKLEJgFpEv/AGqtYlDJqyJVl7a0pCsoeR tEqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889902; x=1747494702; 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=RspcmdC6N9FCe5+5MFitUG7n/lZdN0nBTHTU7ItA6Ws=; b=Ln9gL1aVuJDr4xAwnNqx4Vw3yG3u3hrEn8dQmNUBkEXOLD6QC686dyNHjJTisoIHY3 VafQwGylXR+BgXVGG/A3FnT9S+UtYUS4LU70w9opQezcqsVhHrJimMTCr/zIbz2L4FHO E0fSjwgxgPOX16sShi8aVND0aQbm84o+cmw8Sj6OuYgaZUMO3IlpSpkwci8WELg4xxk5 XUTZmpu7RmzlCSBZuTADqurFxw3tlsPs9K4p4dYEeoeca3/I/DjUu0jnK8PwWJ1azUOW O1OPXNqrNQiCj++W5LKSIg9A2+2KY1Q3DJQBocjxYvzbE9LFPbE8kDHPP6i0pJb7ju/h yCmw== X-Forwarded-Encrypted: i=1; AJvYcCU1kY+ozee6GbSJvC6l6jOYj1qT9y8NnAjlM9wn043k9eOgRZcGFzQpVeSxtX5Ht4hZ3XBNAMe/yZ2kFuWv@vger.kernel.org, AJvYcCVABiBmuZ6pypwW1KSK4hbg9i+SYK4XvHtvZPNYuz6WTVvweL1JBCsU8gwsk36XhgQDTcJd1a0rw7xQ@vger.kernel.org, AJvYcCVdJS0liTVRsO0LRAo6dmK6tORHwDnssyWvyMqNwzbDM4hqRM/Ngmzkf4qQCfdwZd7GTWozCX2MHQJo7+qtsxe0ag==@vger.kernel.org X-Gm-Message-State: AOJu0YxkOpuQaeCv50Vro2+wUmf9ZdYXktWJ4UdbyItPhtr1YhDJKgiQ ANxYdJHXtyvALsbqDvQVDMIuCqMQLErJDWwzuXUJcF6CH94kHbkX X-Gm-Gg: ASbGncuSLlorI4wu1M6hI4kF2XqizZrpujsLjaIrVHXIMtNO5cYIyZ5aRJ8kQ+0mF1p UcksWFA0NIUTHSYq5VLft55brMUVMRmychYB32fUszgVPUA9EJSmtQ7Vbl6fqDw/Ks0CWAm/1Cu aFR/p4qt2zFUBY4IknR3xfm3+xipb3mxgHda61o0WjZpkb2sSioqKkaPAxAWX1iHJQGcacLMS/O cNBJQh0rXQf3W774hJPnL2HUPEedV6FHKKxjQXYRZPRSG/j96vC+Rcq9Bm23denF869Gf12FSwe izphmiGAuEH5zxfvHUSjXumGgNGvspwO6oI8M1DMXBgMVkoJ+Nsm6A== X-Google-Smtp-Source: AGHT+IH6LOQJxyz6csgZLr0PJhoHpZeb4CPb2lTMFD5ePFD1IshoBGWDGCQdrqqAtaHGRZzB1c7pDg== X-Received: by 2002:a05:6a20:3d81:b0:1f5:8a1d:3905 with SMTP id adf61e73a8af0-215abb54c9fmr12010580637.7.1746889902187; Sat, 10 May 2025 08:11:42 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:41 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:45 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-4-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=92neIFKGScRdX0M24usDNCsl0ZJtczDZfCVErT5yl+Y=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ya13gcTy6b8qRQIOa1Rt2jH8B3xfc10cesY +t9h/brlf2JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JEwQD/4tGlSHmelrEbyAMqwr3JY9m9fL8G5QuPRBqxpH/HEK2SdBMAf4zpfWRhal2UOeIvwc1BF KtPrgrTQblsYBwirT7CF5qOxJarGpL4su/3RNQUaaTYaww+yjVIrz8dcZxC0lQpcA1L+s5hh5MX Kbwwe8kUeArHmk6lSioRZDQ8gk2N0CmdTvUl3P/6ANaekpxtRgKu1ZcnfzpI+dLV5Y4TI070H8j vk8KIYB1AMq8hGfyPJDhYDlQH8KXdCWRW99vWi6K4YNi6VwGT0bfTWoWMIObyvkn1d/XxUO/hnv blrqqCYLAvCjpMlnAFXT4hT/qYe64sMzNc7u8uPm76RcPAJkT69K5vE5Q3fnDCh2nLGAUo+S2lL 7PAa2N3c0oOKm/PWuuyEgRX1V+E1ItNdjGpBBYkeYQvaT/3P5+/yb74JrMpVDuHg53j/hjV5KoL M7b79TeRhGibUqm3x0vbMtdFTBMJvtPl1wPQ2PuAjY2sr1sdI3yaX7atITysaDeRyrRl1pt+yTn h+lnmmYekfDGgSNkJ4ZlPpY64fU2frfiWCrxBhHXPjmNbyKc8U+ysUQC2TEDVyxDfGGbOduyQS/ 1KcMxZWZl4l3VidobhXR7vjn4WFSCrtFrw/nhlMkcw1kXPk8m7FSIR0Rxv2rvLLvg1Sv7shgupL Jt1xLBWw8vPDGRw== 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 c19a433ee6478876e4cf6667d7a85a193b6cb069..35a34eca403384c4908c2bba2f8= 186ea854d63bf 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 @@ -507,7 +508,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; } @@ -602,13 +603,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); @@ -617,6 +618,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) { @@ -640,7 +646,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; @@ -650,7 +656,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()) { @@ -658,7 +663,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; @@ -670,7 +675,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) @@ -678,7 +684,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) @@ -686,7 +693,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) @@ -694,7 +702,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (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 951D425332F; Sat, 10 May 2025 15:11:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889918; cv=none; b=YR22vnXqEsDPSlViOIxOhhXoU2W8ebXtk8WCtTDMdv76kpFhZByfAjFlkVj7ZEMvqoSy+DiN/YljFcDo/qnc9OYh27SRwsFBE8dvptTivyE7bMMBajBicZL3xfLe2XBIcP9WCgiWSGUW/kMm/twXdAKy3Kdvy37k+UtHpn1slRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889918; c=relaxed/simple; bh=4vsiGjbxOOsY3kUJRZG60u58GR8XjzbCD4n5XW1wFKA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=e/5p82B/2L4TMKqmgS7Q9YDf9V8tCY07c8pBaPCpSc/I1+KEtwIn7QLtYvXSm662GqIemLUJFawtc58A0x16eWBFgXOTDSnFEQqE7NyFhvmM/lp/9U9HhZE5XKwPuUi+PjkSGd2WbIa+unMtTRAhfbhrU9lVNHSAla3LG4NKe4g= 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=a60sAIla; arc=none smtp.client-ip=209.85.216.43 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="a60sAIla" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-30a8c9906e5so3923610a91.1; Sat, 10 May 2025 08:11:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889916; x=1747494716; 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=bYLyecdN8PG1dIKA7P3TjdSo4FSHEY1UF26fpLNtgEE=; b=a60sAIlaQLDU/FKKFiarXzOhzTRsR6IeLKHPlMX9MBiEDLBC54j7jX5S4mScn7FHq2 B6HdMeNTY3vBANpf8Eo22mgIgcl4S1f+ttEoYNs8+/SckKwebbWOMxtbfnmALzXJMLoe J8HSPxE2VW8sW54JGpY+fME6rIN/AJEQ26JdufIuCwuo97LO4/ophChMacLDwbh7Ugip w4uoiqWn55QdgqhRRZqTFO88CmS/9QaEIpdTtWP3+gJDIkhbfGihEQNpkXAeROkRB7OC 4ZBwvfhVYlNoCrcHkHlHSbyWlu8pcBmyr4D3amuST+KVlwxFnN4cXzkqj8gvW0wiJKWn Ipww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889916; x=1747494716; 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=bYLyecdN8PG1dIKA7P3TjdSo4FSHEY1UF26fpLNtgEE=; b=AoRaLvlQHdO9yKx5URl9O6RP/QaGpQDRG2PthVi/RH9OfM/+/f37yjXhP3rCx0cBkC HDifLeqY5qIK6uNHDm8QRFTkct6wLQ6OJQvQQXbCcruvBoCVtacl50GsrSEtV4mobqrr /Gr2niqg9ND+oXuKNA3k60fTOjzTHEsQxWhRf2RfHY8Kp0wMVKNLCV+OYWk56druOvnL KsHp5IbbsDVWX+OZ5fWY74GXN8fAhHq1oRPYlTJst6hLa6UnWzTybhMKPS1aenj8u40A jEaMcehlhwG1EnjcpcvqI5YyszKs0zjCDLNjJtoPNJlOQiSZdmFRMZNalRJTe3+a3VbP Lp3w== X-Forwarded-Encrypted: i=1; AJvYcCU9WXQrXl3/iy4P+EiS51X4cDQZXLmtTEANUGKlF4OCwJ5DSMUzVR/Ta29y4cPZx2mVKE+PUoL3RsY2cygcX+R7dw==@vger.kernel.org, AJvYcCVzbKwcxsswfOKC8tqLKhK6VccUM3KXkimB5b6hzaXQMx23oV0M66lWwWb10EZXVK+S1zykqOKezKYmNBeN@vger.kernel.org, AJvYcCXwMAidlhinnUkydruGiRv+dO011VBWd/9sbcgw3n4LjrpFO6qFlrYjbby2QTPmyKwbj50PEgm+57nY@vger.kernel.org X-Gm-Message-State: AOJu0YyS2tFLei2HW6Iw3vQhm13H82bkrFV/86Ku83eUl5jTb4HAQ5YM YzHYaLG+6B2xRQ4mVA/SJZrgejBxTcYsf/1sl3gIH0WctVA1cXuiAF+9Pg== X-Gm-Gg: ASbGncuG5LUnH+bw0DuJ7twC7Zqz8xofOXr2/KHjDTmdy013SUKAX6b4najmYRJr0AJ E4XA6FudoaznZm2agNzDV6eFqEyk9Gr5aNrnbg8mrKf7q9Xm28pSeIbXU1kQ/eTAsOTK7zKPVEU tBcY+newYMn9jAgLpJGJNAA/IU3TGxLkro5otg0m3XgFLkxMMV5cBmrk/46bf6HcQNh3Q6uoOZG qSIpjWeHBtHIUJSax4D/bb0dD5An59Ic6TmotLemPWxv6BG+bkhk3EVFEejcxH9aZVrES5e3GjM C/mcozPWPQZSFtfPumzblAHd7HWUIbO9K1MhVx2HJU36WcbKHaAiUA== X-Google-Smtp-Source: AGHT+IHcSsJsPUQJf19qnL+lf/YcX8LuJ79ufQZ2jWGNDgK47ozv2MZuV1cSxeZMATMzYf7GqISabw== X-Received: by 2002:a17:902:e751:b0:224:1c41:a4bc with SMTP id d9443c01a7336-22fc8b5fc4emr119601235ad.12.1746889905538; Sat, 10 May 2025 08:11:45 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:45 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:46 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-5-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=2122; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=4vsiGjbxOOsY3kUJRZG60u58GR8XjzbCD4n5XW1wFKA=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ya/JiyijSsDQMrBMPaDuhz7cPbb/hJgSRe/ SxItRnIMquJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JDuED/48k5PDcjnT9sL1OYQWDPVIRxhEuQxRiOmqJbBxsSKMghmvGpumRcR5TboH5ts1z+zAG9F lfRhwbVySCEc6qd2KWhGPEP4XYrzVUwqG/PkDMLVVU6V7nMLy9m/ZRmFXaevGZ7+LTLSIUC75Ia kD5WK/gbm2c3xNlj+2+oTky2hsEW2aiO719Touqvan79rlqktfg84ylTbAQk4MRaJbaI8WDt3yq Jv6Pe/O/ceDRE1jIv75l8NhYtCh9Stgq+BGXHlZadrHSlnEOLlol+TWcGOE55xTOEaCa/wCCn4E lHOyIP8lGMcSsTigEcG1Me1c1y+ing5J1KrKW96HipdJUyWaO9i5OsFjRrqoE4PRSxy/Z9aXlhz SuY7qnQdOwh5bCWztB3ZiMVhcV8s8OI42jxzyZ99MkCYWkDh7HuzDeEokckyrniqziPm+Fp2Pna g2CNapN6sj84RnrGRiD2aK7ye1AlOi/t5O3T+WcAhA6bYBRXM8c/zoJIswM2n6lqlLg8ExZS6HE 5uPzhINeXJaXLSfD08VlKs/d+QpdRESR9PJtbCQB2GXInxcAshAWlzhUstt/Yp8Ai4imMhsRtW1 v0YBd3t/J9WtBhpP8+3F2fbrEDbZ3k3Q8KFg45drsPYHWAReG4LBB36ZdV7/mTwzAKcXjusRCtx 5gZnszXtva9kUrg== 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. For documentation purposes, also add the bitmask for configuring counters for 64-bit EL3. Signed-off-by: Nick Chan --- arch/arm64/include/asm/apple_m1_pmu.h | 3 +++ drivers/perf/apple_m1_cpu_pmu.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/arch/arm64/include/asm/apple_m1_pmu.h b/arch/arm64/include/asm= /apple_m1_pmu.h index 02e05d05851f739b985bf416f1aa3baeafd691dc..6e238043e0dc2360c4fd507dc6a= 0eb7e055d2d6f 100644 --- a/arch/arm64/include/asm/apple_m1_pmu.h +++ b/arch/arm64/include/asm/apple_m1_pmu.h @@ -38,8 +38,11 @@ =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_A64_EL3_0_7 GENMASK(31, 24) +#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 35a34eca403384c4908c2bba2f8186ea854d63bf..6736909a7df672a08938a392d45= 0dc9b5b7bce9e 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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (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 CCD0123507D; Sat, 10 May 2025 15:11:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889911; cv=none; b=OF/6qxw5HsHvGZLAfKMb6iQEO9OG1ELLlzws+lViErHgCQweZpBswDTLXW4Rxnd4/TV2gYlOrHt0bB2nX0jwNj54F0xIAKFvpbOJLb/KKkss7pSWVCweCvuV5hzUGCr86cUw9Hs2irBdVaPMuk2NRGx3SolSsDtRNxmmndi6+F4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889911; c=relaxed/simple; bh=EHqn1hF+O5cx1kCcX9b9emwg/l7WZgXjC8JEUTZtaNY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QHykH2eJ0sjkmDxyHbpWHYLxu3dZLkTxuF9QL4G61GOOffMRJPL/Wr/fH9H7tmBY6qJfAkj2ObBCyn1av2s2B37zaJoLAduWhQs6LQz/91gJHXluulo2u4h7O0d3eKlVjsLZp84BRAtvmUjUgWujWc/H67b4TtKG9lMnXckSL4g= 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=HdEkthmN; arc=none smtp.client-ip=209.85.216.52 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="HdEkthmN" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-30c1c4a8224so2126159a91.0; Sat, 10 May 2025 08:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889909; x=1747494709; 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=D8V1iPWcqNA0HiKYEXXLEH80k6K3piZxher31w9nAbY=; b=HdEkthmNytK0TlKIeXzDeALm0dZDIcu/NsrBJSVLyrHMfKO9ni0L4BiPVZEo0LN2RM a/Jyws94XhYa8tA5TFTUOx2+vM52r6dSRjH6+4aoO8VW6ty7uJqBnftyQGCEkhiWAESE uyJJ6wJ8/Mw3p/4ktjlx2crfigA3kRyq3QUkTGuNm8nSMh1oECUkkSLa/X+PctR7y8gr ropX8uWZSKE1ft3FKRcC+UcARiq7wa0LKSP1qQ93Vj60LxK93UflNPDn2vcTRcX1HImJ cdimWv9Seb7OzFj9CL7a1aMlu0TbEv2QjzGfuti4uhPXUiQdl4Op1GaKvrl4UH70CfAC yMMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889909; x=1747494709; 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=D8V1iPWcqNA0HiKYEXXLEH80k6K3piZxher31w9nAbY=; b=gFg2NprGggExx1ia5LQelTQ8b8yWpO9sjXfDBanOmeIUlBxL6IhC3ofFJmjtCNO2ON E2kvufqwbwRIFqNt9Zr/fY0QNO/33Pb1bID5wT1HUf55kQ8CvcqQe9VildHJfOAOJHA1 yGnJRccW2UwGw5HNFQdvDhEUKei3x4D5wtnfW05MemVUq747gjFmkVBGY9c5cMAl+uAC BqF78BIDdW7Fi+CZwWFYHfkybanfbqFNkS9lZWkCCAkUBKJOvqawFibgUlq68+fZBeLQ VzreOJfPT0cYqJ0X7/K/Fi5UNf+dQfnZt8cdkt4/WIYos1UZ7JEdOwP1TEI9SeSUlrsG HQQw== X-Forwarded-Encrypted: i=1; AJvYcCUHObpIuxIBus/QIwsBahM8wyjT2K9okenznFS0AOEp5yIpLw6TuZe4BtQ/DplS0Zay48jqiayZJ20D8GqK@vger.kernel.org, AJvYcCV1x4WzkgSoP1plE0StzcTARSPFPGFtMsdo/CuoUCU7GzuB3nR0SQtpV3Fa2TX0sO+NRGe1Z670MACfwW8Eyqt9FQ==@vger.kernel.org, AJvYcCWDnyfrXXpuoPIJwUXsgEVH+R6VVKtx/wDkjYN4HtTCeT3R8QP3ziTcvTA5c+8hIFi1njfB2Tw2OQbP@vger.kernel.org X-Gm-Message-State: AOJu0Yx1ia0u4Mu8j/lWr8c5hlpa1nTvMI5Xt+ZnCQJzA02/5tJAfE3e eGAZHW5e4/duyRBbZe6Nfr78Cw/1I2acNXJoc8dU9E1VE1puoyL1 X-Gm-Gg: ASbGnctsUIaZWED63d6T4HfBps9QBP8/kLJH0wGt/PWcub7WT7JB4LFt+pZzJy0dqkj TCn6aQ3103IItDcUF6j+Oq/5X7tGStllOMu2FZGpF9dbzvsRwARurOA5I1gVM8M1OV7eZGh04pi L/rceFXJJXEkyao6PDE15PkV4o+QSXJ1VqTtPqUkg/X1L9m76MQIzvghfEkOL14zESuXF4Cewc1 eoZbHoVxAnfXTLcK8+nU4ExQWxMb8OqyMTKg/kBL+14fY2Q40eN7/fy5aA1ciJ0qzs0P+Woi7v4 Sj/YZqXDcx4o/PnoGQQjECgyx+qDHn8LMtLEZLu7eU+eyj4sydUxug== X-Google-Smtp-Source: AGHT+IG+6iuaHV5VMdUjI4NiHZ4ZYI6UNAo/RMO/6rakgw1KRm9K6rCnAM+HbTPpoBA2+u8ionYImg== X-Received: by 2002:a17:90b:2d92:b0:2fc:ec7c:d371 with SMTP id 98e67ed59e1d1-30c3cafda23mr10665386a91.3.1746889908845; Sat, 10 May 2025 08:11:48 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:48 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:47 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-6-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=EHqn1hF+O5cx1kCcX9b9emwg/l7WZgXjC8JEUTZtaNY=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yalP9EYa1Hto2s555HOXngh1U9zcmMv/j18 10nML/8yWyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smgAKCRABygi3psUI JFPKEACLAir2vysaJA4vW2/wJNXc3LFvdB6JbUIkeCnNhdYZBqPk1wOsy+4D70Zpndy6fUI+g9O pTv4FMrBHZSJGO1gIVgM4uy3qYT8TyQiX88ZGV8TEy7evFYsT2HGn/wmWmnKuXX0kS3ZsFm2QgX HqYYqPnINxdvSzgENDCWcqRxaelhXDu3j6EFVS2vIcJrODPFo70JquC+FJHi231FTSkCo7gxuIe UsU4DL4Migghp4vlXdFCmrfVCH8YEo3ivJuXHljZ150YJNKAyxV8Orfr7MiVTo1zsiiEeTuq61z 88CwjDnbGvTwTYI7iFoXM4RHnMFiBUFDmyeKIiSizQSIOxJVjq31LbiXCGDyF2zFKlM4FNnKwem 7loSz1HSE6p/Ps4RAN0pag2hl9DqPGdmevV9ZrczVaCSK2AkuNdQvw7qSzXC8vVY2g0i3D7xI1T hQLUE8XUtC97EkKkUXjXSx9wd3o0IMZO1VWYuM6Br+Q07NCv6r5H4ZTQtkP7+xGzmGskU6/IhpQ Ini9u3C/Sm8s38ZXLNJUo42/ciLHuJlpNiKFIogWlnAmf/3HZin/0mFixUTV1HlYIoPnCsBa8aM 8j7yR4FDBuKbScHabpHy2go+ai36DU1SZVQSJCBLU3ZP4NErrfSoaXyKV3FYwNiyya8yXJZouR+ 2JCVzmaTrq26L+A== 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 6736909a7df672a08938a392d450dc9b5b7bce9e..f4d8da4a8aa0c197cd16af422b3= 3f4cd943d379d 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -660,7 +660,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 @@ -682,6 +681,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 @@ -691,6 +691,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 @@ -700,6 +701,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 @@ -709,6 +711,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.49.0 From nobody Fri Dec 19 20:13:25 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 D50702512C6; Sat, 10 May 2025 15:11:52 +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=1746889914; cv=none; b=GjcFFaf0oMZztnLHBGSR2PL6fmBvAKXuGSFPneS6f0J6iEJtcmYgWt3hNBcKO8DnzZ8WfrQqJZi6br0eXfRrTBOoGbdO1CUlqhQW+7zSGsFzZoHbTEOjfL/Dpdpc66FhKK3mTkUGJP7efnJFbERwDE+eGw/bPedzpl9o2cbPUj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889914; c=relaxed/simple; bh=rgncqluFC8hqHT0y83Q4VleXE9Vishjne/f3KrvYdxI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BG0C/JqUZIbrnogg2u8sbjzhO6f8SpTfoygBLqsR5ossyzv5m/sa0y+ujtoHHLWE3AAlKlHOoInuuDiFQuK8OnOF43k2TsJwHZYMV5zlBmMw9g9X8+alicW4oHia13sPnePn6MNEGmJPyfaT1yFB0q9vnp5t0x50wScbHSwn6eM= 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=TpGYtdms; 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="TpGYtdms" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-7423fadbe77so1558799b3a.3; Sat, 10 May 2025 08:11:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889912; x=1747494712; 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=PHnX3hiTgygahZWce81xiavlKw/l1jLJfkiYMRd1Pzk=; b=TpGYtdmstk2dc6IB2S8lIlhiKpp++0W2JNXBtNQ4NkJZ1ufn2lhVkO6XRlymDN6t1c 10oag99pOkJYM4En3wvr4Kor2FjzSQ4ZCoA2RFHa0C35Uu0oXCiEU/TvLPEkqWAv82fn KkPDA2IPt71G69xuq7KxfxNqqZ0OTsuH347on3koJr4Zo8GfsI0rIVnYskUm7AMw6WIW HrcBCxOuRla3fmIfz8rb50l5JmFIHWcA5Y30fSGLwNPBogJ3Yv5A+/aF108RDwiIct91 9ALEf2V1QD7EDTm04jb/XwROGYE/mTdNkotTM+HIGdIx2hlj3ckZ6jgGmt1paNPlFzSe t17A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889912; x=1747494712; 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=PHnX3hiTgygahZWce81xiavlKw/l1jLJfkiYMRd1Pzk=; b=EV8K5+1ntVwAWNJ1r13z4fLCPwI0oT/vvZHcJr87D70Wk8ACiMsKMPIkg5MQoOzf+6 ZWjQZVXN3Yn1ApxDKdk2uNVF5yC0IixzL+TJG55b5jPoWdBE1NihpL/xFWX5byq20TYl IBTNFYQxhCzKZ5jLTnnO9ZGNcceM0SEh4TNa46Jc0pTY+Tb0/o98fyFCWvNvevhykBnB B4bboJ0G2Ywv/zIEPkzFaSem3aM7q3UQpLfMwVX45aMlgzbld/zuHO7TTiTu7kENkwMF 1HQ7bpCnXUbGyx6+SpyVa0bckrmW0jWUeK35yzD97aaW0BLp60WHVLY+08/chPRdbuMs dSOg== X-Forwarded-Encrypted: i=1; AJvYcCVpoCt3NnUU4+CVe/voi5UK1uLx5AmCR/1BEigbZgTBhb6vfUaixtTLSY9SCLEeWoLdiu1708wPeXsHJLoq@vger.kernel.org, AJvYcCWgDVt0EQkKpGOr2Ltu0EriMYwuHszQ5MU5ayNBI1cQxXwlySACd7UVp+FlnJ1/tSbkg6LNhdLjIAZB@vger.kernel.org, AJvYcCXCX6452fu3FJT+GDT4rDomaBnIe+b+u0GK8GIrIc+JSgCjmJ3KadxHq38YpUJg8+naS3R6hfqdb86XkQrrHZTtOA==@vger.kernel.org X-Gm-Message-State: AOJu0Yylem2IFTkjOb7VnHnchC9EdtihnGkSY/yGqBwBikiNADhPQlrC cvXs7PwgWRAyxtJAfTf/IkWrk4KcahpnXD01ZrMtBLfvYWsUjV7R X-Gm-Gg: ASbGncvv1cX18BIFylKj71keZic5FgTg3kFsoRnuJWKbiPs1l+ykN02M3Y5yDzlIjf6 pgoUdeSQph1M4GJFpkmlMZ+w9XV748MzqS+ABe7tKXDYlWHppMpSe6IGahtVqSMtHsXfc+aG+Yi JYIHV4R8wDKkqfQ3Q55Bdexqay9pKGGzYNdY6Knu44SVpb8wAjhdWQhzg5Q8my8/NzAhWgnVeiL s+GgR4NfQZShFwmgzu0pXluiMw/b9t8X9vrXLfeftIRil6qf7+22t3x9kXfkr3LUxbbNMNl6Abn x8MnJrQeso3mYw0BJDK4jWhFtodyfaaLZnjHnWO+WcD/6aHQnqDmJg== X-Google-Smtp-Source: AGHT+IG1oolXpZC71xiAK1KDLMdOMfFPZFR+zlNsziZN127vpwNtiOQFawx3Ol2KIxb9Dh20vgJuBw== X-Received: by 2002:a05:6a21:1645:b0:206:aa42:8e7c with SMTP id adf61e73a8af0-215abb03fbemr10867630637.18.1746889912215; Sat, 10 May 2025 08:11:52 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:51 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:48 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-7-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=rgncqluFC8hqHT0y83Q4VleXE9Vishjne/f3KrvYdxI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yb7rnuCR7Li8wbbvfQFTwLfFVHzy6bxk2ON /21Wc9QrAmJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JF9LD/9CH1pB+i6CUmG4pNuZ2YBvdZwzfb8JRt6cxM/87YohcZxQbGI/3lrVqHmcaLEWWyFez0N i4Va63nsAm7S+vWinaCwzBufEyhbneBRTmL+Vr2hXow7Q1v0ubMg5llq+e11EZIU0SwkenR4izr Cf9suozi3ke/QNH6RiOD/8bOHfoLuv2BhefxXTf/PDjO6pWdJqwcyk5SGFOieFpSZn/Yi6pVTlI 78zH2nSOqAVyg9/JfjPMcE2ilWZUWDhtciYHclc3oh/Zf7UW0KBtevYjTsRfJwag/hB4ESaeDe1 UjVTqerq9sccgDDRqIGIWbtuCHQWC2ru2ValsaKUr96CIlpBVMoVigMpCymCXW261NWYvYJDWYN c5t7jhHYPkw3FOPAIs/38lW/fpfruX76X4uOGcpJAG8II0qJ2IaDOjKGGSmegJhftIXGKer7gkA 2UUYxAcQK9DlJgLrDNYbvmo/5mRyVI5OyntCY02k0BPCTvoZH9HHeUj9rzdAH9ujEAfv7joVBiL YsSw+zN+TQTQlPp7gzmPB5phcoYVhhBMnTSGnf40L6fAT63gMrF+HfPQepU6GPQMPTnqx9oz835 ZKldCvRWQ/i/QWgGWqpPR7HRThpmRD1Pw3c87goMfWaS/DGX0+jJjcZ2nzx6NJT3MfE+qQhmx+1 bl++riHSQxrXkUg== 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 f4d8da4a8aa0c197cd16af422b33f4cd943d379d..74e9e643cef7f9a3c9ed599da36= cf9b04b124810 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -669,7 +669,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; } @@ -682,6 +681,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 @@ -692,6 +692,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 @@ -702,6 +703,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 @@ -712,6 +714,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.49.0 From nobody Fri Dec 19 20:13:25 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 70F3E25332D; Sat, 10 May 2025 15:11:56 +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=1746889918; cv=none; b=dfL8T+BfgEQMjhZeTJwraH5Dw+onxrLUQ10KOnKdbj4kEYi1MF2kX1xi5cZU/d74sCkYB4gBawW8+PYpEDYR4At82uuIMlKwQvMsZJRtP5wHaAM540XpqRVLvfJvhcpv6QZRRmXv+VWPZR5PoEam+ictAByIQUI9sAOW9PPJZd0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889918; c=relaxed/simple; bh=pQGdfMsvl9m9TngcNZsP+Jy/Y/QiLcqbmIk8c2DGdOI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d3Q17uNapQqUeA2tHF8nChvW4EQBINfKD9fvQ4HogOlq4GBeJO7rRodp1geYr3dc5FY/QeMphlIk0c7qBuIBaGcJLKOffhEQuWCQIudb4dwx0rzxMgQ1lKgFcWNNsFvnSTN64RSvWC0E/wOr8X9SvTfLVLG67/BRG4a35u+/glU= 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=X6lAiUTX; 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="X6lAiUTX" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-879d2e419b9so2589665a12.2; Sat, 10 May 2025 08:11:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889916; x=1747494716; 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=tMOhCJ2DEfl4luSEX/aj3tw2XOC0NMHBh6BFzr+2cr8=; b=X6lAiUTXcxOv0rDIYtSU8LfTLTC3fo1DLfNRJ6itKH6h9TOIdc9hCvJtsvJ+IMTcR5 /eD2RVQXspCJh66JwmxkAx4Xwxy5jpWibB6MZD4jD211zdvDdsnX3LRS+zwWKJZNlS5z 3SiuyBkU9vqZ6J9uVBS4CKR0xHVC65YYNviBp4Yj3h0v4ywhUXdCXtzw85ESSnV2kEeh Yvb3IRIS+X4wrcsbK3MOychtV47D+0yWLxIAopok3Eb3tfpkdkuZcy6zdYepr35QzRZw G38L1F7o9ywSSsGNxkvufas/aCoovfTSbt3ig1lxqBbt/HzaRu2k1VApudUtQ4u9gehR MpBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889916; x=1747494716; 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=tMOhCJ2DEfl4luSEX/aj3tw2XOC0NMHBh6BFzr+2cr8=; b=e6EPrrIwEmBXttd/Qe7jWJsHHYRPuu7CdMPezy9S8RDSJiVuxzVUADMQ2fIHQwgT0s gQw1dNsVKt67xjH02rnUylPacb+v5xEktwK8Z+dyT6GXpSYFar/FrNspiMn2VxNuz/d3 mNSk6pIeUIf9kHch8qRaWZN2qS98FxW3NXPr7kRfgxebRIH6H8HoaSBMbVuhjF0/JKwr tUk9FvbxYvx5wqp26xNqUAXFpHpCN+rF2c4jglk93TNFs8cYe+Qkw/zGLIUxVnWD/aQf jtqQknVmnrWO31GsbQVWOcpHtkHtTfTzdoux0Qt61N3gzkNBf7emukZ17dM8//1GSLu0 fu7g== X-Forwarded-Encrypted: i=1; AJvYcCVunKzOBmmke7OBDLTCGhchMEr/Ist8vAL9psVQFZvVPFEypfAsF8uAC0UjXUbGhmGDu76EjMLJcjDd@vger.kernel.org, AJvYcCXp6Kcpgx6Jun/NXLwPG8YZ86SGBU22mjd1JDVYHKdIb6JeRQ4Oy6VxtcesEyUJuq5lGZ7FB4X2e/+pVJ/j@vger.kernel.org, AJvYcCXyOrjwv64iKqn9cnEqQJJzlOvMYv6WSuEFaxGNn4bZKOMFENN4nXV6oZiIqNTi0Ai0C5BPH0hUbRktmbYfZ3v1dA==@vger.kernel.org X-Gm-Message-State: AOJu0YwerbuiHd3HkGuoSYvoxd09EIfLj0+2U1idU5oiYMUlkPJ2v1Zw cfsYoJ57OHz929uxymqs39kFfzlBJqRXuWKqOryKOPOlwOuYTewS X-Gm-Gg: ASbGncutPYt3g4RFq6tHWv7Rgla8ZBJX3U4XdPJJiWauObILmNzrRzWCpULQZfyuIM9 25OYX7muhdn9nfZ2/lAuFOlGDME5Lp4gBQ+QmquDi/GHPNpHowEu3axIxJxj9S4BtFDABY/zE5u OZiRSpiAdqKXuZz9E9SA4ZDs8Yyc7aYaf6tE8e8xfW0zfVONGFvlviPdw4WFBVaCe7VmXyZDX+2 jCYdwUgtO10XervW7IxbWnE5oeQs7Lc7ddbhPyjg1ZtOFlJS2YXTay/oclsG/r+ehmIVh1Y+ymu 9EUTWRyDB0wqGjaraCD0ei/I4ADOWS+anEwOL7uaFeuGgBI5dskrCg== X-Google-Smtp-Source: AGHT+IHP+DInz0WVVeQjQfwQbdNdkvSDX4WZHtAbKu5dMrE5OsOMoHG375DcWF0PyDycFpAfkQ5xLA== X-Received: by 2002:a05:6a20:9f48:b0:1fd:e9c8:cf3b with SMTP id adf61e73a8af0-215abd22368mr12082203637.30.1746889915572; Sat, 10 May 2025 08:11:55 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:55 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:49 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-8-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=pQGdfMsvl9m9TngcNZsP+Jy/Y/QiLcqbmIk8c2DGdOI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ybLHtgU0cNn3DhWGMLn5HpC6us4Od2hL8uR 5y4M5dDHo6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JNE1D/42nYCvxNh+eeIS3NV0e/a5eXVPnJBJL6KNRBLFtBP+r0mmv+p+c8RSB0l3XzxSDYo/f0x kVlIG86HSEwjdE3TxL6sT9V+B0KXjaSRRonVLQONa1hweTyfmnKc5yB2Z1pjKdQVxjYgdxMMca6 T9fP67l4id7xrVIA3x9YMqehC2TNAJXcqLck5uDRA8hYgWD5t3GK5UGEpCfpJBsH6DUy6l20LW0 dsJrbq48yp4lczTRCnu5dNMUBsu/QlscdJW30Eg5Z3vlbh7aYdp3BS6t4/XRi7gdGm9pgqCMaoS NHknlG9qHGH1LgQTHxwfNczkO5FRVzQB0jijtPw1J0k3PNXPkuDFIKNlpO14tM+ttAeNWISagR0 gk26s0j6yQftFl4jG4qN4TCahH4lI6LOwKcgkManhOdY1HBwLjYMwf6ZTtD/jWutVpNYTKsQafG +JGfdRkdeZtwdRbnKxPT/3Dxn90Cka8jLbxmdnRYTkefSr/ogLtV3x540d1xwr8GIXfJ3InkFdM QE7qtdEmcX2LoyM1dYo1snEgRvk4D/wvzmyA4kF694gxJTdDHyWVAVmEtRfubkjiOw3UnNyvF75 fNWwSO9uOo8w5RdvPLM1gb4SOIixDGBekChQ7AO4FXQp4cZKx7u0sqQ7BrUsvsvFL+A8dB8IsZK tjA236UBCxXv07A== 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 74e9e643cef7f9a3c9ed599da36cf9b04b124810..ac9beafff3d691b226c261f222c= 2dfb057959a56 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), @@ -522,6 +679,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) { @@ -545,6 +708,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); @@ -579,6 +747,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); @@ -624,6 +797,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); @@ -674,6 +852,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"; @@ -723,6 +912,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 9A6B0253334; Sat, 10 May 2025 15:11:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889921; cv=none; b=hEbhmiw6+670boZatNNznxOPcIqSJ1Lc996tX5LL2GcYiIpyGC9EHdJI6DqCv1wO12HuchBaAFSSr+w2sJYMmMLQ26fTxWZFy+U2XTIHQBxQ1siRqvkO2HnGzLmIHAXUka+OWHtkpcL60q9bl4my3LtNblrxwu4i0CukokOODOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889921; c=relaxed/simple; bh=YYxBoRi9tg74DJBz5VJpYdMNCrAuGOPZ8JV7L/qISSk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VP7qZKG9Od2SeYtffgOAvX6D4gTK/mQIXfGX3ZeI7Gpdwdw0WsrI7Twwu9e8WlMZWc42oRiy6u4Kat+g5dS818LAlBTNn0k4GfQm6v6KxQ/xDay0oC6MNRVsc5+9+gj5w+WPGtOjnlaRZXg1WzIwZX98Yoyb5eDVhUyL4COr+qM= 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=GrUYmI3E; arc=none smtp.client-ip=209.85.210.169 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="GrUYmI3E" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-73712952e1cso3121270b3a.1; Sat, 10 May 2025 08:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889919; x=1747494719; 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=+1Ef58P4CZiJKncAdu2DCccWJXMfX5tqD5QoG4RSffM=; b=GrUYmI3E1zDbH+iQdjp5dWdEi9NWOEZ/CF7g9SjGzFhLFqTqIxsnMMYVx+jc8bjVYd q0w9ku+/Z1/SeXLmVK9uxlQB0ocP+DvPe/3oaQsdDTGImz3xudr1VryhagfD6tqxcNXT 5tDz9qhRPi+RsutAp3HCFECAu5kVPas0SA8JoARRvWpPzGb5cKeeoWUm0HOB33qr2qip D6X2q12El3im87+aUaTA20FUub/OqoUdjL/M4bJEDhs/Mhb/a90gsBlzUkOIhK+cl/QO j6f0uCu2GGsl0T302cOUQ+8EdOePF+k1Q8/zAFrHHnXS+e0bBsIlTQPlTdgVNjVQcoJ4 kXpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889919; x=1747494719; 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=+1Ef58P4CZiJKncAdu2DCccWJXMfX5tqD5QoG4RSffM=; b=jDogWLnVZ+lIvCXm1EGuEcPT36qBnR46CgHFhQT5bvQQPbbhdH+wjDehu7NcpGJrPy EVLfFFuvzWhWjp1VqDTVWbRmVgc63hS8NtOuakrvYTCbWroeQ9m7X1nahzDcsA3UTu4+ KWlofdwwa29jQRAexzcnanAaks5f9lc+Hl8C4kjgYBLSGP9w/ng2RygFK9XfQFfbqHJv 9vkS+YWU5vEs+n6uxogBgP/zoSPwvhsDCtmpu+zweXV/oMG0KNrDk83vNPI60x/KbZLw HrwOX/RaD5uS4bVJTn0xTmx8EEGoQ7LUI3phXaww8jc0iSU4y4Gn5JuJL+uxbwD2ac1B ++SA== X-Forwarded-Encrypted: i=1; AJvYcCWODMiPrha9Vrt3+iC5dNvVyK+N7tnZCMWGYhzgHDQsJR4ExdbZjn2T2FXwkr+z293djr6LHh/gr3iEUjSQ@vger.kernel.org, AJvYcCWkJE/LFeAxrrzqN95GEpkIQ2rFIumTQOriz55+bZYrYRi/7S3D5PECiR2KX8UkTGpRvCfh3zzkTtl0@vger.kernel.org, AJvYcCXESHiDowI29oNZ6LEpBq2xZCt05ZNlGMx8jLEHd4kmILm2iw053XdEe9nxkyS/GFeH6NH66Nc/7H9fTN0yZ8Yvsw==@vger.kernel.org X-Gm-Message-State: AOJu0YxTM5vTmheUI+X/Hq9MeyhzyveJdvGwLoUACiD51jbnlwRfOnXW +4Al1if6H2IXMeDTxYsgifvY9YMtJMAVadCOAIQz94oVlUbk1OEW X-Gm-Gg: ASbGncubHTUcMKGyQo6VvS+tLvE37ky2rAV1lH44ZxscGMPhSOyXL8eJqTjl2u4DWRv kejOnemOXstf+lBXeJQLUkYSUrAML9xbA98CMETqJOrwGucOXmPDh6tgvED4qYTrgebaA5kObv9 IbAfD0yBMYfhF2fxtEyQR5UOadWk/2b0vj6Q5L4ofCBigFW/Phe/F9wM7X/cp/nnAvKtYkuUrIY lf72iFCvrRp3/ET4ZXNE2gUM0LP5HQqlrs0z4JXQrK93PpaY7nEJCI20Jko25w+N9Mi11XmqZAD zTjzYQUdaNAGPbTuGuXsf7zwJfgdn4jPPS2/cI1OoLNA+2h2xce9itWPuDX4Fksu X-Google-Smtp-Source: AGHT+IG4AspNNEi1n+yxXR0ED5NLkBLiet3HeSQwfEeJh6Ih8LVKtUs7xV9YPT00XK2daHKC5miSeQ== X-Received: by 2002:a05:6a20:e616:b0:1f5:9098:e42e with SMTP id adf61e73a8af0-215ababa26dmr12473500637.7.1746889918923; Sat, 10 May 2025 08:11:58 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:11:58 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:50 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-9-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=7313; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=YYxBoRi9tg74DJBz5VJpYdMNCrAuGOPZ8JV7L/qISSk=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ybc4m/qG4S/eCTi0dV+p4SZduGaxlA3lCpK llHTqH6fjeJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JPmpEACYF7Cxrjg9QLMb7IBKXJdt/qHny6vGIX7DIx0/N/g28DzYR5i4qK6dpg8O9sCp0raolkt GC1YzIoDZqmg8XmVeOfVJLioNnuT8DUrDBCJV6ZqaFJGHg3s+R6KDMFQO9IVWEKyJ1ndI+Sxld4 908EtAYe1a5ai5CP8zdnjxLnhykYp5WSOBZVrVzQfoqrracoi7wY2tWtwXDHr5BN/X8FQZZzNby v4Wvmy4pdgQz2niayEyugMF5JOjrDVLcNI0bc6+Tqu+V96g7jgRdkhSSfOda1Cdx/ZoUK5Ge8Uo UoRzm5XJ5jZtf66E2Bqd5h1DmhIiUJ6sHT0zz5/4Y9O2KHKnP7+2xXFxJ+0V7pmpQguVY75uGN6 /QQQ5DDOvVDw4b/cRqlFzfXb0p48g5J4Qan6oZK9BgK/r9gzEQXVGc4xp4bguBiYLmS2mriHLAw M5k/4568fau8pmqIna3Z590gHXPXMwixzMsbG7aqn3sNFBadOk+pWi6NM3DKBqTgGXtz1G4L50S tnGa3NRD0mcWp25+sEUuo3YuMnX9ytAkTHKtdoy0zwQ3S637U8vN4JzqXrPWDBvp1/4QIbekG9i 3z/+uHKIOYa3VGGKlFRFYCNeKeKSJZL2D3LVneQmKofQjBwmK81jbXFLmysRB/CpMy3CF5PGuy+ kxVwjUpVyeISoJQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found on the Apple A8, A8X SoCs. Signed-off-by: Nick Chan Tested-by: Ivaylo Ivanov --- 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 ac9beafff3d691b226c261f222c2dfb057959a56..e56f7fa9829da9e9444c6834b03= e4a79dbc02c22 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, @@ -685,6 +791,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) { @@ -863,6 +975,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"; @@ -912,6 +1035,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (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 14898256C7C; Sat, 10 May 2025 15:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889924; cv=none; b=JRatx4S0NqUvUrBcCLAVCET4pliOIfKyqkmse2Z1D4BrFANxfrO7Jyijv+MkH/QgFXEHwLq/tsojSom05+OQfLCdp4ZkEwubq9DWrbZB5+M56+/sU+JRp2Lnj8SdwfLzxvYhlvjLXsrtuB9hSTh2QSuRquxNSjCBoVKQ4ImmN78= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889924; c=relaxed/simple; bh=wl40dMXc8W0PdUzpNjblXnUW0iWApVwrvUwg8aXHqWM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FP/J2Rqzng1VuBBeYlAkbJe6QrOpMO9/Iz9vsO49/Vo8chg7F8nBPoOIo0DOmhFJTgGo5YRKLGbZtkVKCaDJifz/6PtnFbXmt9g4dXW5BuoCz4hiLq4frnxmK0u5lW+kBZClLefGfPzAe0f/3OZZ+9RqrLmzNmobvTR/gUw3R6o= 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=mNoDvIZ9; arc=none smtp.client-ip=209.85.210.170 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="mNoDvIZ9" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-736c062b1f5so3181907b3a.0; Sat, 10 May 2025 08:12:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889922; x=1747494722; 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=vO+CRRvlUPzNUKpb5PbYeTSpZmUgiBhodlwNzhHRruo=; b=mNoDvIZ9ydMSAmt7r/5e09YFNEB9b7o1EZ9/R2wjghlmdITbh4YXxxoBU3fNqmAiHg 9Vj4iLjLQPT7LeEL1PVdMwIdsEC1HnCVeQmh2v4GHCFSJf53T+sxHesgr6vZV0SKCIIG AY2FGj4Rf6l9l/Ut/7AvxYVvY9O0Q8kIKAJhMaIO8Gps3CPiFyAt4B94OISb5Ll/S27X nLYFWfBLqDszOdmLWuSf65oqShSvANxGrb8izsJTHv+4l2jxVYrZpWCyra5ASlW/FOGz iFxd72mpGE+orL211l04JAX4NuKuSmQGTrXEE5c/dUiCoED+R+7F9yGvgk/TXR6X2y1j S1YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889922; x=1747494722; 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=vO+CRRvlUPzNUKpb5PbYeTSpZmUgiBhodlwNzhHRruo=; b=HqpkAckeboA0ayBLQAIJknSwRN8j1JAv+st2+laMSZLXJ/awfQ6Xwv4+HTs0PhESOX nFoWG9fNA7wQVtu/524G20mV6xTECXGv8xdWXutuq1Pi0zAFgdO/yauEtkgngSADcIi3 fmtkvKnoQc8SQoK6yXtSQQ0whNhzFc9fPShvHFmP4PBmAdFutcIp2zbfSiZ6QCw4SraZ DmdelkWEw6AGdSx/2l8/K/cysiKA4fjGURewALI8gQJC23cGotNx612cOWwTSvP5B1d2 kChIsv1A+r5GRYuLacVsJjid7y2ai7aHjCyRqRhAJZXtQjVbLp9nWYI7oprDIQdTzrIO HZvA== X-Forwarded-Encrypted: i=1; AJvYcCVvlwhujDcQgUVOI3dK4Z0aFu+PbIqPV7MZHKIPPohw8ZsO0o5GjN2pBc8nnT4UFMKP77BA2r6fZYCwCtx1FKNv9g==@vger.kernel.org, AJvYcCWA+K/GYJEirP916P4eHncW+92hYusB/+N0VaMxh/pH0aj26aptNsTPGSt5rrP0+c8m2NMjglrzhdpPeCXt@vger.kernel.org, AJvYcCWwWUVtnaff1hY1AgKl1RVg4aZ/m8CzMS/c7+eb2sHB8Hat6dOWiNjUsTWtuJsN+AKOSYF1W4XaazpL@vger.kernel.org X-Gm-Message-State: AOJu0YypvYa+u4wLxH1pRd4p3vRgyxeKuvIt5o2KrR7uI3Lmq/sxCHYU cO1GFXB2MIV9hxA8hJCF2nsj4AQU36vpmfR/13mxaEKyoZEPknqM X-Gm-Gg: ASbGncsKl8TK1R4ohKQpy++iIPPoneVvppDxfY/aJj43Z3auKzoSx5LIvIFH65/jeXr DKF0SS/gOMoMChyRUBf65nK806u7IlgMXdIG0Zd60MWhITaJ1RsFCtEyqH93GohPy+k+BylN/+R QieLNQ3rf+GzT1dPJUYcsnBv6EfiNyPh/ST2l+chnVnS6iBzbSMkHJgxwbCzcIq9Il/y6kWvGZd ye6vcN6iGVP6Q6OirvTk/Xn3hfSbIprtULRqyxdEn5rpOpWX28iQuQDpdwTSu3MMq2Epih70nXu n+uIm6JT1yWZvxWdI0Po+vTG8VFfP8/C5ODdOSIJfbognQ4pQ0FAZw== X-Google-Smtp-Source: AGHT+IH7VJ5svTsxBtUtdhnInhtoIQtR3D5ad8bqEXD7OkMdXlF9WLsvRTCMEmK6equvXIoqtqsVkA== X-Received: by 2002:a05:6a21:6804:b0:1f5:535c:82d6 with SMTP id adf61e73a8af0-215abd20726mr11891521637.35.1746889922270; Sat, 10 May 2025 08:12:02 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.11.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:01 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:51 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-10-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=wl40dMXc8W0PdUzpNjblXnUW0iWApVwrvUwg8aXHqWM=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ybC0Pm2rjWYiDH9JAVisLrY1s8xDoJKta2B fm0Fv9N2sCJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JKr5D/9+3UMeMKITMFIdLJ5S6Kfw0EOTTWBpt/Wj1umKyc6DyPZoqdpkrRA0+WSieIHsyvq7Mb0 RmDathoTSq/piPYXpG3smS7dPmEvjSlv/89N3/ww7pyyaYyYvpWaYPBsqMAoFQzxEPLnj/Ol/78 K/AK0P7ZaOnZOTZZTKr3WMHXuRCwgDjxkiL/HPV9m2jaiVvDqWdA9xmC3mOB7n5mU6Fjz12iDbB t0mbFxe25K61CWChM5ub134Jo785sUuqKJ0iD9a4+X3Ad3Ne8zS+XM3iRO7VfJgILhJZsUzkKfW E3Tc4nz92SzI5S4yDUbHmE6Rvo8UOKgEYT/GOT+D5uUJMSGC+znlcHEPTbxcpUxvk1NQr47+Yyr cfx0S1YJhrN1nCnbLlTaeCqXBVUY6rNKhoKxqP0ARz/szosTOcC6ogcZ2REFJJIFJKbHeJuu4Rp HbK4zVQwsvGDm+AA0gBgFTA7qWGRJ2F5Lcdl3ciRlhGKK/A6zh4m9Mr6uTTqk+7bNvm6jgOUtad 04fqpI6iqfgI6W997crRA3MtIyEI6bv8HSPRMl49cILoEMvCu0ClTCczT/jpHssqa0aUGAw0i37 IZI/mMSIm66Pjdp+4bRaSsFOSvGHUzUok1+YoSJnY4UkwQCxiaDPKgz2gGgJTTsT+n/YcsM3cIo 7NkJ/8fok/XFTjA== 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 e56f7fa9829da9e9444c6834b03e4a79dbc02c22..e89fe646a849f50615a3dc809e5= 1a6cd95dd9a1b 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, @@ -797,6 +900,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) { @@ -986,6 +1095,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"; @@ -1035,6 +1155,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.49.0 From nobody Fri Dec 19 20:13:25 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 9C6A92586DA; Sat, 10 May 2025 15:12:06 +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=1746889928; cv=none; b=jV2kiW4EHFsBgveOxFIYJ+qgmCV0sKijVxYIqSrJmlnkqxun1onA2El0AeFghls6H8MYrx7ZPMkSfzbQTGh7iHwQ4O7s84msdYc11/P9cpRgt4wCJPLUqTl7JO7V6WGvZtK69ytqQu8npcY+yqQOCcbX0mZGUSHrAeZcq1r+MAs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889928; c=relaxed/simple; bh=7wE0yzPS1UdR3HX1uhwHr/0JyraXWlDKVwdFlazVm24=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cjSNCpd1i2Y4CDMqynWOeePl+pcgOqAMo/XLTr3mA/C4RrH8p71REMc5/I4gseEBr/t8aMbx+qe/Z0eKC9pbfnelaThh/FOSXxFbM+bmbribV2IUswNXGbH+voaYIpbpXWaWtVqKXw7jQChR80Rf83TAsUqBs8kM0xEEI9fqCI0= 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=EFX+gOvd; 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="EFX+gOvd" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-3081f72c271so2969046a91.0; Sat, 10 May 2025 08:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889926; x=1747494726; 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=WCmmFm1CBk+EorNRxn6b8lIA5MUEJivXBfyAC9O5RSk=; b=EFX+gOvd3EgIzqAaAFYC5W60tV+p8CpIcO5mWxdeg86U/BWWQMdGi2A5zmgyJsgEV4 Wh8ZNwPIx2XvALnhMR0OhkYh+t0idoU/cGHyDlE/wICwT+aMDfe3XzlyxwwUgtePJjkS Qi+zCoptm+orfFjRbRRrBz0+u/KvVl/JKru6EH2rO3luBQKRPWc8r6lcP5VE9bQV6EUr BHVW1OtRf/2NzAU1ALf1kHpI189VCH3cNMm9GFhJiLPa7NwnaM2O6L2gZ+149ic9HmWg w8LXlvd5ixF0Of920Ro8ugezp1+bW7bT6j1RWMhHAS/zN1vcvJgu9q50WwLWxSj4P0zn w64Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889926; x=1747494726; 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=WCmmFm1CBk+EorNRxn6b8lIA5MUEJivXBfyAC9O5RSk=; b=RRE4nJiS947QLdcd5JAtUq1Lr9bwxGLvk7YpV+HZFu3V8e7XcROvQTFWnDmR4GoPCz MkS2EXx0+o9z7ObkqgmImHO4tJ8zeubI/HPWRHbSPqvPYNl9WY0jihLJTvdVxw4wf9gz IVM0gxasCJZEymyysG9YZZj09QWHqS/wtfoaE7q4IttHpNtnueFES6oE9cTa3OlzNH9N rw98xE94EHr2Ogs0ybUANIyyjY1xD3iHl1OlxGnIdav3Cz4rPG7chPb0ytFzevcXNfPR IxDcIbjbJDwsWiSzZPOMZ6j151m8pixli+J+5ipExNK03+8mLt54RbhUjzDwSq27u1HN 9/hg== X-Forwarded-Encrypted: i=1; AJvYcCU+sO0ZQP4IDv6wtjpG02AjxCOPMeH2eIEo9W8apVT1DfcoAb4HLrrSRISB566mPrA0tRvfTeb/CiBrnHYuyFBRqg==@vger.kernel.org, AJvYcCVEzM05xAEvOzuDera3bSr29ilGiI5YjB2qbMLiZr3avUQZxNL2diBEyj0NvjdXywhRpdGdZ4tyb6/r@vger.kernel.org, AJvYcCWNCCr7+1eqlX2EVlCN/exCOmPyAMXoR4MHI3IKWlv0VTuUPMlFwC0/Uw99Biwe5MqMnrO48N41js6hCoQW@vger.kernel.org X-Gm-Message-State: AOJu0Yxej/Wiac5xXpP1rc1xwpQEWaCmrDM71855iL9/1IqhC3mZIfMH mg4n9yx81wgexsq9oD+yZPLOZ7c9vD4nGxRf7JRB02/3+sRFT0WcuTDuxA== X-Gm-Gg: ASbGncvOR0qI6UwFWDMkELztyZDkaswpwvaUCw+CVlIuKBpkreER7IVp+FVodJmqtsN oJmtowKqROCLjvwdijlGiowSz0JUBO5watqMyhQHOj8jbNIIgljoVNIDV3Ze+PpkoGB6S5+J+9M OQHLjlSYQjfkYp1MFeVXjxW6LuMUBQqEsYbVDEeXjga0L4uhHeu/2y22UBOGf5hIbjftOWI/UcR IoRmtZRLdNZZNV9elkWOVdYK1RULnKyM1L7j5ovOGQpYk9fzgi3PjctvQxL4sywzmNuE7sPukOU +kAWr6m0yMsScvTIYOemiCI0+wKRaVQQfnK5fx6ircxswvMy3x6tS4ylE0HpA252 X-Google-Smtp-Source: AGHT+IEMTcMe7F0hl/lByV8g9kMKJHS3o06vr+7sIPFZmnaXdwiR4EIQrMASWCJjHnSGW299FFRWdA== X-Received: by 2002:a17:90b:4c0f:b0:30c:5479:c92e with SMTP id 98e67ed59e1d1-30c5479caaemr8043625a91.4.1746889925702; Sat, 10 May 2025 08:12:05 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:05 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:52 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-11-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=7477; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=7wE0yzPS1UdR3HX1uhwHr/0JyraXWlDKVwdFlazVm24=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ybpB5bq6wkNUkvQWmGqvteVM7SC8jSm7SL2 73/SxqeR8CJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JCwGD/90AgUU8arlwTXQNjyjreDKDJrFH+qhei33gqFg7UJfECMXAgBmtFqA47XuGyX6+rujkkU 6xNzi/YniiWPpQZT/IZxW9dtcRL8VXkZvDdWXvV3jhQhAx+ydJaiRIxeRxekNiDRwzEsVfw26rk ldB2ZT7sY33MEMCEK0L/XsoFOiZYclLCjI4hCISLPI7FnPuEFfrz+JaJ+XERVMjGXXlruy+7m0w qrqL9xpD5boYDhYLdfIqk/uafJjte1xe2H0KSc1lCBuI6RohEMwHJGotLY23xcSxPaRzH2oDCRo +kjUjh+RTMVfFQlihY8E0nKcJz0HaEoVLeGGKk2c1enZ0XydO/rKC9J9pSN2/QHRsF3Y0P938bT WIzmu0Mgj8oEeRP/uad8W/be20JcpqcU8Ex0U/IiE1MndcjUO5aNMgA2kIsVlS7JRedFnCIeb6+ UzyQ3ok3VcboafbGKxKMwxnENQKOY0gX8OUvWAvWVIf70q/krK/uf2n1RSI6ud+YmXi7W0pr1q0 ODufeP2gh1/utLhxhNSaNEy6qb+6l7aN9BG79E7LmLrtHNTxvrKnjVM4aS1dqR/SeozzeoKSIga zDQ1IpOy7ujE/ULSb5sSj7yNuih1gxsxCYXPamfHCWkvFErwHcwLxuXe7X3Z3gbZIam9rBS5BpM Jyov44W3aUBr02A== 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. Signed-off-by: Nick Chan Tested-by: Ivaylo Ivanov --- 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 e89fe646a849f50615a3dc809e51a6cd95dd9a1b..02abad2239340e75719e989c434= 5d411d55de89a 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, @@ -906,6 +1015,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) { @@ -1106,6 +1221,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"; @@ -1155,6 +1281,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 B77D4256C7C; Sat, 10 May 2025 15:12:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889931; cv=none; b=LkU4NDIdgAylIt+nHeP6JChxoG7L6I69LwHRru3ZaQJYTxUNLsX+/HzQabwHtKfjqaM8dtzisrpfMVEr7W6OsvxOwaVqYLdzL52LVL13px0NKkKW8CMU4ajPQM9OQliNfF43WkuSLIpjqCChYGlSeYGqncpLSMoMbRHnl9S/mEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889931; c=relaxed/simple; bh=Raj3dM6TrZPNDRlEodrAbzttSnwOw6xo+GsUbrfYvRs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tsPq39wT3RyJLrLlvBjJzm61T7/uHcJ+DdU/Tn7xqwRZuA9HVZEiLljOMkupAsp3be17+YQdEWcEcAcPL8m9qxqDHiMWLbkahllwSAkzX9QLiuac3Ba4mtCaWZz+2GjN+/rTGwB+Tm15cuXl86yqqQPsFzmx+F0DjOk3Xy8CR1o= 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=SlnwXoOQ; arc=none smtp.client-ip=209.85.215.179 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="SlnwXoOQ" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b1fd59851baso1999291a12.0; Sat, 10 May 2025 08:12:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889929; x=1747494729; 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=B/d8jz47J7rJw99T4KaS0R48DCncQlEIpKLEMEkNNSY=; b=SlnwXoOQ4qngtrvGfidlIFm4ZU7qWrFBT/vulAeVtYRrV2yDDbpAU7sKYLO9lUr93w K3uYPDK0zCJ8DdEDYNxZsnijD0mfEBVqs1J3opihf3r/k6PO9eqMOO4rGFECGBw9bE/D OVe7tQCsIjwEuXDcsP7pgpN1WNLtaXr1b8oV8ZHuMl8aBtlSf6OvxByttrMhCPV1qEoF v/R3ZBSu67haQYm8+jSenU7ftXPdAUBrI/SFwoxs5IkVruooA6J5jleGp+AZWpIFGz+i 6wNFLEH0acKufL9ltfDRuYNW+bU4sE9vIPzocSrLbZp+PtkuoqgZsqelAwwdBgoTEarL ZhCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889929; x=1747494729; 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=B/d8jz47J7rJw99T4KaS0R48DCncQlEIpKLEMEkNNSY=; b=MXPsSOTTXuQhGsuLQ5EAHvr957adYz2/Fu5QMEZ+NL8WfRyYjyGy+FlEmMjV52XSmA BPfavMXKHpOJsCcY4DgStE7BFvyjlNvEharDBWZ1euwmLQgT4JQ/+P3pKSJGa5LRCY8x feUp5hXbCEe9RdLZW5jrnA7TaEZg+GtgTuJTCxQZA2j7oQVPEd8CitZaq2lQUn6BQJg6 7DMjVBsg7ijbcHmLZj/BvyNABl7qWYfXAYlSSyrd7Ph0Gzf/Tj9pYaBD/VhrzzxKCJSi frKb5mI1GViBV/4ttvWKbjIVLlkeTI6CL/Of4HXHEGKT8KJQ/K6vlZszPE5I8xPvJIro M6Sw== X-Forwarded-Encrypted: i=1; AJvYcCVMeYxlI9Cw/kVr4hoFT6nL0bFzYVggVw7ElmkWLGbSftzqKmpYhPXg5+Y9hAAZtx20f7cai2IKGL4w+rEN@vger.kernel.org, AJvYcCWesFKPS0a4X+xfYLkaOXKJkgVwy77gG8iEaZoKhDFcEFVWCvxA5AW98EXTyGR4tOzQFXm6T2gRE4vl@vger.kernel.org, AJvYcCXSCEh3c5yvqGKCJ7xfbLWnBIB8/R4Eq/vqHJMUEYQT0KYU3ZwV2tjSwyqYNsz19gBsf4NOPy9eEE4gEgahbSirug==@vger.kernel.org X-Gm-Message-State: AOJu0Yym4+Lj15Ob6VWurUUOwiMx/0MZbC6q+T4AzVh293DskAQNARFi xP6UqAXoSjL5WfhNVjoZmSeGDa0siOLkgt9oFTfYVbYcXjmX2b4w X-Gm-Gg: ASbGnct5jSghaWgYkXUKB3GanCucJc2vTZ8FcvTJVNnxX+1fmCn14mknRyMAvCIqzJG 8+7KT2BYLnVCC6oOiC+PeBQm3Q94pUPuhR0HmqC0HKbV4HrnFkbBJMblTL/TMVyD06n+kiZPsTI s90n293hR9lzqilzJs6wtVhTsAGBeOlUFTQC/iQPOKNpI8W5AW2Ty4jI/OadD5ao5P3+uPBcmDN R8s9cIrtbQv2pKOCZ/XRbZpR4VGz5nwE5/xkPI2LsWEE5Ljmee15jb54DncTRvHFNwv/qrl4lKT b7ejJMRGStLljSbMTOPF1NhhWYllnUvWN9DDc3mYzij+Ub5UM4A2xg== X-Google-Smtp-Source: AGHT+IHXRZkInWHPNaTAxOh+f32nRhfYyZcBffIYMYnIbNrBSyoD6u/1bCFEwPAgSNDSgkoqwGiGJA== X-Received: by 2002:a05:6a21:6e43:b0:1f5:79c4:5da2 with SMTP id adf61e73a8af0-215abc1c096mr12521278637.31.1746889929067; Sat, 10 May 2025 08:12:09 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:08 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:53 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-12-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=Raj3dM6TrZPNDRlEodrAbzttSnwOw6xo+GsUbrfYvRs=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ybqnnpgQsT46+FfY4J7wzQr0QIQI+cl0Abh B1xbPRzLoyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JBqsD/4qdzKYeLtC0zZpqunrcUoOD6T0G5YTVIj1Hbz9y1ArVmOw/bNIQAhewCSCUPcqsaaJobI 9fbVqSQqA2+w7qQ9BmohRd/YRPLUFDSIQOzWZs2f9320H86nPaZCg5E0G7vhDlYOj7euM3y2ZwP YNg0yWXFMEIJmvd8i5Q2L8e0efQ7rs88jwFnwKgPZ+/nWl31rQlXLiwLWhbNj9Ctkd0q10gg7xr Izv0SMPdBS5C1ECU3bpv8PZV5hjZDoIBAEmeK783wFJhesk9HOzNlMjIl57RgpWy4iLwEB/od71 hW/oysqVV/8MnnXkDsfZPGw1OOLGRoUC1oMPU+vh2ucXZO+zmm8HHmnWBgMVEhFzYVOPolVNaL8 RMRnAn6CQlfas3Jx4Dp7vKqcKuIgTfcVNUDmahYurqPFzEQ616kFpOmNvSnWz+2yHUF2157hON2 r3KK3/ZZUForl2H78FC7US3EnORUllQPNjnEkakwZwb8QxnfcDMzBmsTfQ08qYdqusmbjVAzIBH KvVxsStO/07IbxS2AmjkUbKvFnZz4LR46KASviz+SMJFDKmkhn+Dw82/7XQd7OKG25cizU/8hyq ZsHLkACNx8AZ065sw1pZPltxbju11nGMBR2X5EN92jgxJOW0FzG7HiTX1MCGFeMknx+v4+ACWga KjtmOVXuaFVFcyg== 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 02abad2239340e75719e989c4345d411d55de89a..81443e5158b25e753b836ae83f4= 2820d8d072418 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, @@ -1021,6 +1128,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) { @@ -1232,6 +1345,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"; @@ -1281,6 +1416,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 3F9BB259C92; Sat, 10 May 2025 15:12:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889934; cv=none; b=LpVGu5W7b6fbe3UCw9EPwgAqxHbU6ZnFQz3KJab4+1uAvPqiDhr+kmbXBnXQV7r1oZwag7s29UruOEgboZ3retHPTBu2omK7dvDQGxVg0s570xaqIyKdRWsVUx/1wgVT7jRTGVAvZzI6/5TD2gAlztIWRGlWGaGm1R3HPdZb8eY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889934; c=relaxed/simple; bh=LZ5pN5iqWz3OCuzIiw27nZWBzYhm/oPtBhWwt5qbJRc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kf5I6zSVW7GGpuidVcvrjcLoX43hPgNdHmwfxnmnN3pctVe685v9n/cztlkwjoY2+jLb9pIUi17EUZr9CDSKMtySw+fB0gUS1eS1+6+h7wiCQc7Thaa0Q52FsKorTWllSduK8tbmoQbJFoFkYNURdoID3d/V8cn7dMzAj4csp0o= 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=FtqhU01+; arc=none smtp.client-ip=209.85.216.53 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="FtqhU01+" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-30c47918d84so1659238a91.3; Sat, 10 May 2025 08:12:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889932; x=1747494732; 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=6Pp+kkIFVs4gp4J7ADoVk3Rc5HkxtiGkD1fRapo9f6w=; b=FtqhU01+3SDF78U3xqdcFLOHmKM43Mei0Pi55aU24VLQaBaWiBnztKwJx+/8uOnpac zGGlg44KrLrW5PVPGcROAHiCYshl6U9y3zTZXAWvmn2PoIeUVO+IFTYVhJv9+lfqHXMX iEySwBAt1iX13OFNgjTtiQGk5mLcqFiBgngMiqkkThLktcI79MO3qBjc0AD1sqhsEL/C IKQFx8ZiFzm97XKrw4Ftnwlm/BiFQzvABfLebzPKhsar0+8GF97bTnvWR9gP3PtQRpzX Ea/LIZnNkj8hB1s/3enEa21V9GF68iWL/qe3GwxQAxAB08Li0DkmC8lNUZ8c5TT+0lqa zApg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889932; x=1747494732; 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=6Pp+kkIFVs4gp4J7ADoVk3Rc5HkxtiGkD1fRapo9f6w=; b=JA7IOJdCQwNoRN8GJsLLHC2RQZxDeJZQiON7tZjvJuMclheOanI6Z2AVBVEF7um9u6 K7pLHTZjQkYhVGdEbccOuUEKfFquA3iDm1FnvKtxKJ5Lmb9VlhARDQcvF32800Hr47TD Mu5a8FG9w5nEKJZwE4NPmKE2VtvfhlMhT1k+gLcrKQelmcW73un3MQk6BXMDSamjS4jp sZGOf1cxVbsoGiCTEiAchXeZJXHALw9fgq/EE2hCbhgVf38ptdJivMrdIzX/kF/ol3AB QORN+9ULAWPs2XkjprglFQl7qzcpQhLwRfiLRtumsq5aSYaRb+Fi3pgKe7QOm3ej9igQ 6HfQ== X-Forwarded-Encrypted: i=1; AJvYcCULkH0GCRhvBGE2acI9AZii+QPiQku1TW6XorxpVE7XbREccN0lXqxDzgVufTfK2S8SFOwNZPqOUoCU0Az3@vger.kernel.org, AJvYcCWds17A8dYMJQ3Zyj9smRHVmq1VoT6j7JwETbIk9ZSVRXf6GFGJ8THzVA8tzPoJ3ty4rcjUGGOwF7XS@vger.kernel.org, AJvYcCXsUb/N6XtGPS2R8sxD0b/YLMEbzbD6e+AoHt4UQR/1Hx2SmZI9IgdJid45Sl6uwl8Mb+rhGoiYCU+gSKpUaXz8Mg==@vger.kernel.org X-Gm-Message-State: AOJu0YzBaSfpYLHnvhyLGISeciLpPDGFFZzQEihiXteM56s1Hr47Ma0O 0qkTiepCJ4tTrW/tdZ2mel6oVF7rzIs+XgCypQt3pZ0MDqXfYBWA X-Gm-Gg: ASbGncsivcJ3D9Dq5KTEGK1ilTf6hFRvOIhTeZb8mWVbi2ET1OH95EsV1DOZ9GBEVCV wnOLP3FsotJ7YFwmLcy+49250KLc3vOtRsMgk4/zzSWUBqm/ZsG6eN9L4Fx5E3JQYrvXXFQmxjF I45KJc6phEWC87D9cCL1w220IXkrYObVMh7Jn7ag03JaFqhHyvk0PEQGqezcCa7eobHfuN/TQXm gAjQlYUW1lYIr31MLdt8VJWbDk6wlK6+pjZ5wEH7ZX344ifUEOxuwtim0+mYQObnYhappYDTy26 dPH89b5HjS20GAqTf1dYYSOS0e4Iv9ZqBeCT3xxJ6sI3+XaSJpHxpA== X-Google-Smtp-Source: AGHT+IF6SK68sLmJtQC8ae8t2fY32cS0CBR0w+qieqNRm3VrN23qLRaQmpfkG9X/qBR6YMGEaFOk/g== X-Received: by 2002:a17:90b:1b4a:b0:2ff:4f04:4266 with SMTP id 98e67ed59e1d1-30c3d6442c9mr9677158a91.23.1746889932396; Sat, 10 May 2025 08:12:12 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:12 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:54 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-13-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=LZ5pN5iqWz3OCuzIiw27nZWBzYhm/oPtBhWwt5qbJRc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yb5y2fqoC/fdcSp3Ef1ys5pQjLi/c/28MOY hzwkrGe63KJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9smwAKCRABygi3psUI JLtJEACGtvi7PRtgcZg5JXXQY5yb0eNp6s2gfhYT6L/7fV2P/+UfVvZzFMvdkZ8QX6Yt1RDSdCJ m3zmx9qHc0lIC5S/Yb5DdJ3yZo8KS4X63zfaxl1ILugx807I8wstIDyITdkEwSVxE7FUnD16kNC pjnrT0sEXbc/4fXECpJ/fvsV88zM+Vez/8dz3KpxhUtuPjumhUIHQzJSoxOeHPpD6DUnvzGD6nn qKxBaLRvpfgr83d2xzwtgUzY467Z3UBjlQQ3CYn5hk9qiLlLDxsIVB6l/88RELYFq1955W+98t1 SP92R6N073rRUgLu4nG0mkx32PI8izDVwTXIKmMAFpXH4RGKITl1DhcLHrwxdHPf8y5SwurJAw8 XswTwtH7IJF6S5sLwVpLZFz6wWG/4aKPIv1IhIr+si9NuXL+o0/3lNyQrZ11r7xH4lwPM/tp7yK HmBeGF6Ibk/rNrqBxiM/H3glFCDyB71T2uWbq2NqIMvgx2ClHHbmCYU4ZxE3wX15bquXLuvKyTQ o9d+ft6xPzsWioVouaQomogVD48C+p25kFknFSTqr9/DugRje3mjGDP6+ra2+7P9ecB+PRC0GF1 lmK4xL44CvKzgIXtMBwK91lNfTlyhef4w4x7Y0D5waN1zWzhthMuN3f8SVph03902ui7vYmJtE5 ZQJZUsxKzzLKljg== 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 d820b0e430507f681a5f2aa13a498be98080e1db..62d528d4b7204af28b66a90d68e= 27e1c78e2df26 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi @@ -138,6 +138,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.49.0 From nobody Fri Dec 19 20:13:25 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 6E52425A2D4; Sat, 10 May 2025 15:12:16 +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=1746889939; cv=none; b=IAMYsOXbEaPcTxsQUftMLlKGVv+5pBsJQP3pk/exzGMHPO8Oi5hZT3M49OxESKVR0Okxb895x/MIwgX7mn/6NTWQaFZwX76crEHV7mQIa1f84D+sY1joWqfI0fsC8fgJnmjbejlP1G6mZfs3ceF7aXqvv12RiEHRBxcdcWr2JME= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889939; c=relaxed/simple; bh=gOE3a46CDNX3yVDAoVpyrWK4j8QsbYn+HXz/rfkRHIk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gezB/FpiPlsyIZbCRqAWHDj0ExnhbBX/CxmgTbIc7A5ejhA7Dl3cSYXOas0c5Ijk2ZzqoTmX8iwPHqyoD+K79WGeRmH/VuqB2uYEBwM7tIPJDePRpc1vZb6Gm/uEhOcpJBC5p4Ka+EoRB2QgKwG7mx07lWdmL27Oxa2tBjE5bxw= 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=dngQ84a0; 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="dngQ84a0" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-739525d4e12so2923444b3a.3; Sat, 10 May 2025 08:12:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889936; x=1747494736; 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=7bV39ciPbYxAqyF9bw5GexYzHMHyeT7cFiiGjkDg4x0=; b=dngQ84a0YYlTxMMYCducOnhvlJaPOSLS1XfpwiAvIS1lR50K6BqY+kpUQXy61Apt9C AuEnPunKuHy5WCRaQPvA2wzXxeT+TcruHaJihg2rmnWxOTFojSoTelMz+otdDRZ9GivV /QN4rGQz2eBqoegrhwAiLDceWSMfDu00AwmKp6W2zpWsjCf11ymDdq6vGKJbrq2Xa2PM tA6oQ8NK3P2uM0XEfzHe58QIs4S9Ysnj+5O5Vc0QQyWMjNa/k+i2VGP+iMAZTY2UFfR6 snc9AJD7qU2AaQP2B0S1Q+PTjPmmK+5dQ5yOIwCMsaTIoC7lKFfDaojagn7BEmYN+naJ qbuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889936; x=1747494736; 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=7bV39ciPbYxAqyF9bw5GexYzHMHyeT7cFiiGjkDg4x0=; b=t3DByDATwEZHI8SVTpia3b5qE7Xb7jsOjiqAJavedRtng6hSWuYJPJuC17/VUEKV91 dsAfX3I/ywmT6mpqDcFlBJEYbV2mQbYvJKfAT+QXv/gd9lJH86K4Eq3NIyCwZLvLUIRx AlBsf5UybBaafaYBH/ahtLi8k7McSIN4gPFyikvJlvUuNZJr8D7RN/VlY4SvMLAfFCpK g4Rw1qhISdd1eMFz+i6OAoFanJlt3vlD3gFszdEPwowLhlCvdIaj0ATdS6rxzEipkyMr 7l7EAIgD8jmIZJAc0NOooK/IZ9ZbxzJ5tI/TqqEZ7ZmDuuDIxkQfIdTQ+h73S8W7i5JD vARA== X-Forwarded-Encrypted: i=1; AJvYcCV6d4fagIuUYWS4SLxK5acdz0SU8J1ttvgp//6jSaGtWZbwFyHcutC9KWJz1/V4XpT+ZalNdx6uf0s5IlPF5JMqrw==@vger.kernel.org, AJvYcCWpUePpSixjz+Ny7VbaRyBY5PgL58fcGZNk4dCkzzczTpKEi1UwCiJT+r41TBsnxm4WoYWrChUPlNgr@vger.kernel.org, AJvYcCXz1SW6uWVp6xUs/phHidEq3pVf9JYmIvzbztzeBk9i4cvNG68NNl4D4NeKG/MKK/akhBNmauuEf2HiH74H@vger.kernel.org X-Gm-Message-State: AOJu0YybT3CSvgm/knhqs8MU6AbFqA0fUz4TgT/7ngDrMkhu27aP8R3b bOy834af20wNZLaPMJI/Y5WRP2rSN/7SAoluuFruYepjB3ok1zbb X-Gm-Gg: ASbGnct5e6zKU93wUcORWEyk/ulrm3rwrePOMHHyk3MNJYZsxt3o9yzAOanBE9IeigF HrePmkLG+CzzQtN6jTJKbcQS/wEWStApie9HAoxBE0G47wNm3hdOmI1aaLrx2vQr3wJ9EpTEhSj GCrjDByOA+K8rOd72UvOXEN519bM12YzYFRvWI4uA7LD/qdHBe163G1r6iuAnfMiHv9oXXjrXzF FzVSkYoiLTl9PFHoUm5lmY7wTLHEWoxXBS+Ftxq8IfSMJsWzWqCQuok4ucqeGpJ8+689c72nX2I 5amiG6I4Eob1p5xWIvevjRRIwcj+nwoHcahcUWKX7Gl7pgpbc6dHNg== X-Google-Smtp-Source: AGHT+IEFX2DqwxdNjmLY0TBMvhcn8rxV1W/2cg8dtnsnJo8cCkPubmci8tpWb2EV8Dq18hbWVPX+Mw== X-Received: by 2002:a05:6a21:920b:b0:20d:5076:dd78 with SMTP id adf61e73a8af0-215abc78934mr10836620637.42.1746889935720; Sat, 10 May 2025 08:12:15 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:15 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:55 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-14-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=gOE3a46CDNX3yVDAoVpyrWK4j8QsbYn+HXz/rfkRHIk=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ycOS1PSJO7bDASE4Z1GCvIbNEZdRdYcGnw/ xFXUL+wJ7iJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JBSiD/4qe75dvVc4Aw8hNudfAwPjI1bmZ+dtl7+6KmhbrsxG8HVCuIUUtaTMrO18hBl2MzqRwlN Gsvc3t1A+/SVN6MqPXkBKdjW98xgBKaqvqydSFkDUuPoNWgVqbEzTBfYb/ZI27Z5YTkeTTiXJFS qikXFLANYPM1Cl3AurtLMxb++72gZVWawt0pLkAqhBZuQM+atr45CSntSH/1cidDRpVzAXCvqDd xboQrsmwXB4HxAe5JQhbR6qI+hGEncTrnzhKO/V9k4FEjLD9yJjd6yqszbPb5mpGjD0aiDSTdcx 3ZsDRiLysIsLD1i+fVqDXSVuhLmAa0EPd+5Gb3DQQJT6lSpr5hhugPOFKbcUg92AU56GFxHZIJe Uf/l28LPkd7syoZxn2QJnMghBzBh2eC+93e0Qvp2LFL+KtLIuWE+GxeHLXXO/xFH0W2Lj/rKki+ MiukYYBKsWSrcCvz8BFCNWaIUeMo3L6q1q8MjFvHt+tLtNtoIoK7Qgxv5fuTilqx9QG+aqaThw4 ayW9KfspL09CYGa8Oe8HSMB3uoVfcz2hSdarxmHY4rUSYzDVyCRZCGPLy3aTF2tHAY6JFZgzMmn vKdD0Ub5doPjb1OTb4GXAh8/SUbdcDNOts6cF7fEPyUxDirlBHi6ICD4t4KyeYeHeeGzFakNz0Y GF+VOsk8tfi/sKA== 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 85a34dc7bc01088167d33d7b7e1cdb78161c46d8..f1415f50cb150ce1d33999c8172= 43c3dc9184199 100644 --- a/arch/arm64/boot/dts/apple/t7000.dtsi +++ b/arch/arm64/boot/dts/apple/t7000.dtsi @@ -193,6 +193,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.49.0 From nobody Fri Dec 19 20:13:25 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 B9A2F25A2DD; Sat, 10 May 2025 15:12:19 +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=1746889942; cv=none; b=BwByz7LHV4IPzCq4EThJO0bwzI6DHma8jD6klKhSUe2ui5f25h2UmPZrRKs2X7VgIQHi6gZRxS8MxovwMqKkYjrSMv4IKnlLsYZSmW6j3t3MjPioRlS8gnV1dpWOaPKDN0NwJiz15aIuE+nTC5Hk4K+IrTJlmvUH4ZLAL7iluLc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889942; c=relaxed/simple; bh=/9xxkCL20iFcrQUCvIdlPD0ncxR9ZewCh+wmud58YcU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QrkR1n5/WL1IEhiCCwT5Uj4NsaCO/GY7ImE2HYPP1bOHHcJrBKTaVcvvztz8qzRV1uNIpjLgeUc03aVHF3Z8VULD9Vtr9SUTaUKcCKkfHm51gvNUameVPRjBpVr5OwuzktWIUMDaRC+n34KjFtHU6hfe/EPtSZhldpjBVSEo/0M= 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=PoQ8gCsS; 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="PoQ8gCsS" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-741b3e37a1eso2399243b3a.1; Sat, 10 May 2025 08:12:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889939; x=1747494739; 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=t22CBONJmB65GQP7nsD4ofUIJ4+sf0vAxHh7+1UHNU4=; b=PoQ8gCsSAhlos0tDttladkm4qHpCK6BHTSdmnuWPiPxNr0j0XsUj41QfvRJD2/qWp2 lRqpl+ygjlce0NyTAPPVj6Unoig2LAnirh+Xza83T7SH7Zq9UROqEuf3an+kwimEwqv8 6CRqLieR65ZC3Zf0QJqx/fX1fq3kpJuUPkAmAH0btRLfExS45jiuYFVILSEHkhFBpOJp MFtMq55hEMfDt0HabyWvx2hscXhSSyTD+NR+xUd9e0WbcZx0lFTLKaDdcuAA4Q4oVcyd W08us4uA4gd6MjQmLFy0jwPsEqIudNeieyDuvQNICyuVvxZsb0wzi/bVApIGXM5NDoHo BeFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889939; x=1747494739; 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=t22CBONJmB65GQP7nsD4ofUIJ4+sf0vAxHh7+1UHNU4=; b=PVbDjVgwbRlofKU83lf8TjB9I9MFtXVM6uD4QxXUldrohNWMg/ZJdd99lQJDNB3JLO jH/aou8qsTEntIQ3JonfdlPdCe7D0tP4kp3bpaXfYzbtUawM8N9bIHGP+/LwLODCEOwX sOcQHRAtfBOtKj37U6PdiAXHZXJkv3J0xvZvD5sNSzEA5Tqtv2qs4zWbSwVmUUmLBtdy uB91GDOFA30wEUAK7MMEvs4jDiwcfEw9boPOYZQtYIKtUKM4vl3eaQgbdvqiK2xQo6PB FyT40O+c0u4PeSceH6Q5umXMdJjcZ43OYvHFYEL0RD2gwHc9/aliamfJ5Okn3IFZR1Uj xIhg== X-Forwarded-Encrypted: i=1; AJvYcCVmjruMbIWMQsFuwSsH9J81IIY3zffxodEydiNLM7i2/ClqzwDRMarOaQqq9t6wfF1JGY1NEgBwZVpR@vger.kernel.org, AJvYcCXTRC9DCz5uQkQn3EOJbfklgXQMiHhoAKN9v1b++W1199Asti0qyCep4/bayxp6qSMpDghfceRzCLctWsTSpH/Ntg==@vger.kernel.org, AJvYcCXUjbSmyO3KbhTZjUnyC8B/ODJa+BbY+3QImRPdIFgduAT9DDbXMIpymynRqbOlCzgK5Wf2ERWKqPOxKPDH@vger.kernel.org X-Gm-Message-State: AOJu0YzpHp8GiSfPbLFXHsx5ATFI8+b5c2ViolBNMy7vevOk8UNys6Wk F/1RY9kiVrH3jCh7lwwf69Vv8xY/DVYknFQq5YXC+uAZlFetn+ZB X-Gm-Gg: ASbGnctVQnHIpkx5+zST+HYsBJBJ4CcHRBB62ikfbemmX2TXSxWE0oW+4AzLuzrZief APRKU1NkPWul+JSnl53On2kcnMTjizZdOzf+sGmyjEuTH+on9dDjx8yc5QgUI3jBm3OYxqLwSr5 352Lts66YAtjvFFbdFdypg252eiWw+Yd3s49wZQtsvHrE3GNtBmChW6splgUZaR4gOyPFYvax1s Yx9i9fAI9bYkTSLU8x6IBjBfcxVMhqGvUbh6s5cy3+ZLrKqh+9qsrMPcq6VnzecxWvuoTxhLFia SklL0/gFBfrP7VbgNQQNTDQOuQWM/f1rwLJ51jbBdKzr/z3xVg739g== X-Google-Smtp-Source: AGHT+IHmycZ/aubcuUmT3KlKs6D0FqxvUeGQpzaAoaHzC0PGrVNsskD6TOGx5X64B6MlTwp5SLMGBQ== X-Received: by 2002:a05:6a21:107:b0:1fd:ecfa:b6d7 with SMTP id adf61e73a8af0-215abd07500mr10502554637.28.1746889939055; Sat, 10 May 2025 08:12:19 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:18 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:56 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-15-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=/9xxkCL20iFcrQUCvIdlPD0ncxR9ZewCh+wmud58YcU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ycPedKl6IfEwy0+uwFnPe6Ku1PChdZ5B6x+ HcY9/bBpiyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JKVmD/wIKSyDQM2B87kji0YzCYd1SgIlFwMTLc8VuSi4g6ICeDvigM3F066a6T2XA53sYqLjatM CKzmaHqPIrbnnXSEkjL5mGjYTYtES5SRx6k9PQBDK5c/KbJ4l5Xpeh+d6Btgee7PEXYz+E4AjyB c5dmTZFhuQEes/57lC5ewrpqZCyccxQ1vZr9pM0jejMfICydp+8Xl9repdUKoCZzY6jK0ab6L4Q aVT4ap6D8cz5oDqbDPA2UUdKm83tD/VrsqmCNZKhfvrUn5WPRKBJA/6JYQYiByEQ05EG/gbZ133 R3g5mJ1oKEL4R64bWbDbtb5z5G19wn+UeiwHalLkwZglCDre69SyoU/IjAcEVFCNh742N8eaLz0 mKwPvLO9eqc8Ic1GJ1Y1zezdKHzVFRpHG+YxS4ROi9USkGfy/l7ZevN7NbvHbZSRC1NVPbfZ9PB dg1Tdhfv02EkcgS14voAyJJXAXtA1XG1/8ze70I1zeQXW0bv8cBhyR6hF8CbZ/sDndcISZ9wI0t /vYRyPH8mlbqzs4FWiSt9GQDncE4194KAzifAkw136mNd/4qdXsLU0jQ8VWVNjlYugG4T4Fy2lK 5z0i6/udd0on2ngFSqRiAJuHb+qhGK+Ua9RroG45AzA1OD6XgCYOm3QvsPJpKL+ujwwvvx1AjtI BFTF/KLxIuHy/sw== 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 8e2c67e19c4167fc6639458ce79588e153336603..fca0a100dfd7b29086735d36fec= 0db51144da456 100644 --- a/arch/arm64/boot/dts/apple/t7001.dtsi +++ b/arch/arm64/boot/dts/apple/t7001.dtsi @@ -183,6 +183,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.49.0 From nobody Fri Dec 19 20:13:25 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 1521B24678C; Sat, 10 May 2025 15:12:22 +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=1746889944; cv=none; b=uHesYeuJcnVaV0aK2cJZlR6DnnyfdqmhLycOXpHc5ZL6/poBswW5+irK/p9O8/khFgWQjeBNdww9HjfbguRGbYeMH9OzughWHKYLAAcbh/+8ISiFkvFLjpaMo+JF4Dbbh1ujYCgFOhKUkpLkVAQ6xSHGrndI6FEMV5qJiUvNdx4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889944; c=relaxed/simple; bh=duxT7MNXJw4vPLeIH5239k3CmgZWAQGQK2kW07pl76w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tkmUeKU4EoMo5PwIOvzW2Z/HRTIrHtUYh6+L7yx/Sv3kr7HibaorK8WcXXc65EjROTq5dk/xouG5gDkNrZBPTr9nVcWyW8gQvoOaWL2M5yfRsLTKMrnzIW+uRO2yg5SZKwlpbJ6CMCQNcbieBCSOPAfbJ/4rSjIQOEvOr16qXgA= 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=KGOrqpcF; 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="KGOrqpcF" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-7390d21bb1cso3130627b3a.2; Sat, 10 May 2025 08:12:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889942; x=1747494742; 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=0QbHFcfneBNmb+XSCJr8gKBnaCoOSbgUaXguXGZhZ7I=; b=KGOrqpcFWZIT4LAjYmETFgdVoCbeDWb7ZXZdPvfLf2aItFKKDje2wwnkC6nX6d6Jnp gm5v7yB8ZlIUIPlaA84vV4YJVh8QZQU6tXd46QhltLVntzVjIKzwtI03nlJem6NzjD3/ MxuegdOc4aIArgOyIe2slhj04nlHDDhV1u3VAJgKE3cy+ouFmsSwp8cT46azr6SigBk8 dWqv1me7E9VgPgQUwGUeDKSeGnGMcVEJN1GD2rtu7yTRGhp/j6VGy/bymTkKr3uIXnHz R08WC5Rr3sufoRbNWDh7pCpd8LyZ9uHGZIh4ZN2e+Ul/lgXKJo1tUj6Jk4KQFNxOL+Gj gSPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889942; x=1747494742; 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=0QbHFcfneBNmb+XSCJr8gKBnaCoOSbgUaXguXGZhZ7I=; b=SRiNYijUF0MulkoGwXKLzc4WkQIuV1jHhora2ZJLlFBFnbJZLlDMO/lwd0b1zWHCbB WkXKWj2Bd2Zcby0SEh14rJdRxB0TdiZrk7hjWYqBKCGt0bYJqj3plQ0UCU/++8TJU4Dp K1NU6cVEFr1DNqVX4Oyzde+LZBmsopz4AnK36VmuEJZ/DU0NKxtanuPgfBQwFmntdoHU SB6x/7f9KyM7yW56N7szGHinN5fSNHZVxMFOIZfDG0+7yF0qKefqv+akgTlMwm/38PEF wabMKyPXOBE0ytmKuSQDATb/KC/Iebij+bNN4RCwU725kIvRx5LpJ1oJzjO5eZMGw0+o Uh9g== X-Forwarded-Encrypted: i=1; AJvYcCUemEqnnlF8/1nNYGxPOUkQ/cvp3TWE1SvKrCkOlYVkO9CO+k7r31EXH3WDwNL9w8Ck6W7/KyJjbmN2zruj@vger.kernel.org, AJvYcCW0JjgbN0bt0Sue8K1Z+pxbjtCA1gwbEvsDkTiosrXmclTOj1C+TBRLK4957ORE4Uia+RyrFOmQs8LalwfA5Bk2cg==@vger.kernel.org, AJvYcCW2px3kz7c75iDaiJ4TNuALQrF6f1xu/B0iwqM2uEF2u+rm0DbZfZty905cJMpI4O+n2eFf0ACbFSWv@vger.kernel.org X-Gm-Message-State: AOJu0Yzsme7+vkQV1dU6DEFEq05kadlRkYUBB1spT2W2u9fLij4YuNQa MQTIczYz+JRVnpoo2p2qtm3QTlCRN2NcEiShVnFKvZEA41DH7nr8 X-Gm-Gg: ASbGncteshIvS0u+HMYaM+1zCYEgTk1AuXqCyOJi5AvOas2G3uW4wb1VxQtid8TqoB8 x8GOs5FiDwmtf+FvUq4pqbQ1hSjc/uJiA6D6/7A2xWbF3EtUYYUbLrktqWQjI9HtZHE9iY24BX+ jM3ywXYDtse7DDEW5URL+DAHbqKAqfVbI8uB/9nu3ATZjKIpxSYdhkBUY9dllil3N2VKfnSXXQ0 6m+45JU6mZ2oPyX4wXzIg7ZUrSxYwUHPDgea/V9ZjAtA3bE/IW78BwDcXJTCJmQnQP93MrqkJLK 2l1IX6y/AkZ754N8/sEXENqqOLQEUnaNWHZUpSJzCfLnFMi0/YlHkQ== X-Google-Smtp-Source: AGHT+IGjCiaq7DPW0ss5kSC8m5rXz2rGLoebcSRmwEAm2E1zJtcjgOYnNTLJIp2QwACkdCzP3uIZDA== X-Received: by 2002:a05:6a21:999c:b0:1f5:8a03:ea22 with SMTP id adf61e73a8af0-215abc2a292mr10479573637.33.1746889942388; Sat, 10 May 2025 08:12:22 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:22 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:57 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-16-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=duxT7MNXJw4vPLeIH5239k3CmgZWAQGQK2kW07pl76w=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yczRzniLnke3xszhfsW+XGkbCWQ5y3Qb5cp 1duw4wxyu2JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JMKZD/sHdqY7/eb2hXZJM9x0AcT6jctbVMU0POC1oe8iZFkkQNQhUTEs3yCishcMCmvQkqDCgK0 8LbcyIOxnE2TnWL4QoayLcdi3KLGaoLZe8x4ahuZk45u0jnpnAeR7tb4PgTdbSwUM/7MJmx6XqT tbkU8bNsd4UoBDpuGVQ7E7f4JQULOxWYlk307fNflieW+4D1Zc0kr7Azw4ZNUXzFSSkxuKBN41R oKyLfYtyatf1edIp6kiM8SCNlNhZUPXtSsn0kVEhcKIZYJw5U7yqZqACMzQr6cYZZa98U5CDkmx hupO0pVY6XJo18lOwf50WcrM1pZpBT94JY/2cPdRf85LLbJg/mUxgESCs62YIoY6U9Q42V7flLP VqhwpRiqKapsynvnaOaL1DY0ATTVtUG4C+rSjVsjEJNlrWGRnLAEjj4nwJ0kkREME/PEju5P/CT EDSig8hTX4lfUfvxE/h+G7K8opgOTh2bEsUY6RDmA9HZZVSS+4+ltAHHWMdVLA5TW4hrF5R2k6U Prra/uwS7fNjXHqaatz4be924qUmfPnHbvfs5hNPLSX/CCZhf4MNTseeF9fpeiCg2yJx25ed4lz lLLY2mxQLwTsqMK4/athAgSarEOX78leckjcmOE62hBphzRtb6QkfEg2TC4T9CwWWAlc1m2C26F TSymqJmw7zJBK1Q== 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 c0e9ae45627c8150bc0ddcdc1e6ab65d52fa7219..56ac6e7f3803a16beacc7476426= 2b02c75a96fce 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3.dtsi @@ -167,6 +167,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.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 5D25D25B1E8; Sat, 10 May 2025 15:12:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889947; cv=none; b=Sc8JfhBXQGcVukPp1YoJGuKxVdcOXB+tkfTJPd1q+7y4Q9w1CFdydZx5k9Z5LPhrh+Z4h3fE5Ldqyk6sZFLoM3xrXepOgtVJ1vRnRc/rR3hW0K8Km6Dl5CZ3UqKAxKRk27Uqli2VL7cDvwyI9/r0RT7h5kgfNevUJMGBUDijGgY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889947; c=relaxed/simple; bh=umS18Mpui1EoUACcGD+WdVdka5VgnqwULsO8fA+OvnQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gP/6lxYe93Nf70CmekuzHdLWKvnz28SAQNdVc2EgSzMlyP5KG/HOuHX4IH6Qo/14t9qQQFYJ2FE6TBqDCi7W5XBq4kfwtYI7Oy/0FgvMhKbaIXYYNoMwSq5ipJ2vsYsIyuUC+UZ6fAct37khc2wALlo+7POmEbF6U6viHqH5+xU= 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=JEEXTd2t; arc=none smtp.client-ip=209.85.215.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="JEEXTd2t" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-b0b2d0b2843so2335580a12.2; Sat, 10 May 2025 08:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889945; x=1747494745; 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=+utL2luHU/M8t1jzjSvkLs9Wawp5wUxO2TP0BW4NMfc=; b=JEEXTd2t8TaPq85fif63koWkhjA/jDFZ6c3QGdZuIMmdWuP0qoH1kjvr8lmOxneSg1 N+RA4JJ7Sdl16jq0HxAhYMBpZURyU+qUODsS+mrb4l+d3vhRaZQkzeYRDdU3z1hhq6b/ sMhhCC9o5fGKHuuUF/i1+HvTTYFpxNUBPK6iqEAvSBOCG/s8N24aZ7eLrIKCcT/5G/sT Rz1LrYLjGem2qXnB6G9tHpRtg0VEKwgfJ+QWcpOQOcjw1Xu5ayIuegh09uy2eS1HmRsU QBCIqh1vjJxlImDGB2e1lb8hJhUbPNuvMT7SZWN2eoDiJvWRhNUlPyXddUCW8ZPCVJVI qUMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889945; x=1747494745; 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=+utL2luHU/M8t1jzjSvkLs9Wawp5wUxO2TP0BW4NMfc=; b=UHoFYUZB14MnEN7u3wIZRSoJvDEd5bl9tL4y6rMr9n9nYNzVdkqAM9phoCP2byIBwP EV8+rVbN74TxVZl5+dHTH/qjKwf/ZiJFzr5pIpk5KF2SlXJrLFmiO9za1NHdnwghUXML ExMOCjjsCyvRFUL9UZ64eUnnXIhmQmlSop702ua8I6p/wa3wsgMEM2M1HrWVPSJHf3Wn lqxyStAK5P4ltebUA6n9/ik1CFeojOKde+4bZXBIDxZVBJcGgQ/MTIDei7N+2FalubmM pD33UXaPdnvuKYQMHno4oLP5eHb98hRqqKqYCcLpjZzA3aJSSxnay+3CTIt7+RNkDoSo UQxQ== X-Forwarded-Encrypted: i=1; AJvYcCU/rCAroN9kJmU6xCjNMtWc44IwvrCOUzlni8C8wdDqX3dCKPyM67JLGUQJxIlICUoGiZRDFz/L78mB8JeF@vger.kernel.org, AJvYcCUkyqRl1sLangOdOBSosh9CMkv+/FMDOS3P89o07Mg8eRY04usow8NLWOr0UTk6DKIA5P4gXNmxwty0a9R+NcqMOg==@vger.kernel.org, AJvYcCXBRDD1Zz1u4s/vL3+MUBRLXDlcuQfAcsZTXtUmqwi/QVzkjxg7V6q1W7VBhXg+55BfR2ANq/+wU07T@vger.kernel.org X-Gm-Message-State: AOJu0Yx4QeKWcWoaJMNlHSf5E+W5ZdDcD0Pc/eWwFvUyBlCVuarkfx57 5kxVQRvZMb3WodcYPkk3mBUJo4BQ8PYoRb4Dk7Zm1JrTweFeL/MY X-Gm-Gg: ASbGncv9kGN5l2wPEJaxkPkRKYNV1oyfeGlcmCTHadsm9GFAnCYPWmx3MED/7KEbxFr 3Y5fnv7xxklKWYFtr7xbdJ5R2lGC56vMB6Alh/+JEHpE+Y2/KybUuZ6PwhDWXTjFdOIftTqX5qK 8STkWI2EnPKc9RbO05Ki5WPBwUJYKX5huxYvkIBwiq2PbeRTsNq+Y7bKPa3XY6Rz0XI7T/bTIA9 swkrSfovEqncNPKQWvc/AhEREaFjla/Go7LXWSHbbl9r0NB6eigfXFvlohRFsyXyWOc6Kw/n4hg DH94rrvOtuF/8ka0l/Qv4PrB3l3PrHiRMdC4Vyj+PhvmRXgVLI8YhA== X-Google-Smtp-Source: AGHT+IHvpyWaj41xEJ4fgTCl3JLKcagSaqSvSd0GQPAB2NLjBkSapSV9Zv6NdP86SFyL3wsGhog0iw== X-Received: by 2002:a17:902:ce83:b0:224:fa0:36d2 with SMTP id d9443c01a7336-22fc8c7c0bcmr91362355ad.26.1746889945680; Sat, 10 May 2025 08:12:25 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:25 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:58 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-17-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=umS18Mpui1EoUACcGD+WdVdka5VgnqwULsO8fA+OvnQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ycF2bw3pW8inBZRIdQmQjyjU46bjoUvRyrt YQ6AHCBUqSJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JIc5D/0VQtva3ilCixys6Vr4EbzfXvPR+1Mz98aBHk5EgmotsOVrHArH9ENBqVQ/hwGkV1WCxFY Q3Z+zsshxMQ/LbtkpORixMbpkIcmj5YwDhOvCS5tbDqU6gtVoUgHgK15IFeUmoPalsv5TY70xZx WcYk/w3seRQcVgW7pp61jdLE3M/skJLGxw4Vs1C/h5bvqBKCmuj4HzKwFrqX56ysqsEBAVDplCv 21kcI1cB0Ka1ZFsVUBOiP52hH3mu/A84SeGmjUL9dJBMNY8pJjtw3sbgaIP4CeauRbLJkUO+N2Y nVZHttdDvWtaZ65yOqe6hYNm8RKF0RAXGgoLYqvsyf9z36YkgoLRDCMxfeR0RyMh9421NwP/FT9 rwKE1uF9qsHpeVpgzwNvncSLx6JgwCW7d5Dv3bvBcMh43H3nSYCnbz71INK0s9RTRBZQTwkeggL m9j3yLmsqiR/7rGAUS7FvzE8GHlz74wkE4rng3/68dhbTqsY6mWDy1oTFoSv4dPMWaGfoGLVoZb nYsbSvHx+BKwR8hIVYTX83B9NC44WWgsYlCZGQuiwOMl/lnCmL7R1UeXRV8OFXWpM1TBcPDWYrm bhCMMA3ui8oNM7RZdzc+IOlwXxVS3gAjR8cCGIHab+I/gb5amYkdzQe7E30iYzi7i6VYDRut0VL rI3xk/Ox5RZ1Uag== 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 d56d49c048bbf55e5f2edf40f6fd1fcff6342a9f..33760c60a9189df5491256f81db= 7f413cada27a7 100644 --- a/arch/arm64/boot/dts/apple/s8001.dtsi +++ b/arch/arm64/boot/dts/apple/s8001.dtsi @@ -209,6 +209,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.49.0 From nobody Fri Dec 19 20:13:25 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 A028F25B676; Sat, 10 May 2025 15:12:29 +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=1746889951; cv=none; b=kN0x6o6uFp3fAn4Z3e3aXAQzC3/OZiCIR38/KrMKc2/vfwbrgp8w7gemWOdn8rqfEb5BkUVzpo+OYaMFr55kpavA27a97Ycf1UWikfbLPy0/sgGR3oMax2X3Br4ePHTiNGS7Tby4UMMV6j9VCNG5lb4YL+xYD+y1WpEj0YgfdhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889951; c=relaxed/simple; bh=kZviMfYtRCR7gR5VoFkDRwcKeTgAqfWp35C3egDQLf8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ur+1tsq6ls5T6AacJ+cOTRWrAYgJFsHVuhO1vfDkdIhen+NBe4TaalUg8klJfLW1wUHaFUe8t+yn3r9T/PwhCs/B5P8mgZ7cikvo+s8zUj0qZcrIPavqkeQBClZ4A5QTqX5KrlI7NCyBxbbZLVhIkJeALyqHKu5eLUXY9JeP6z4= 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=HNXh0FVT; 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="HNXh0FVT" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-741b3e37a1eso2399291b3a.1; Sat, 10 May 2025 08:12:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889949; x=1747494749; 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=65yvptSdo6oSSwoGRF8EUfcgAwuQwDq5kFTQAdR/3Jo=; b=HNXh0FVT7SdFUFsErIL5N5YyO/3TnYd19Ix6sHY3BK3M0GZyQKf0MtAPYqnxyWp7x5 0i54W+tQWaRUaXGbniEKLThFrRcXF8Kpsrhee5SV/YjzwBKA/1G9b09kGOufAiIThbe+ JP2ejNzDMdIEk+/hO9fUDJua6b1UKsfRXQ3iAvYNTaShzRt5Enpj2UEJjWzkp52AhKWX +N4P4kW/xNAt8BVH6Tiel1pMcAii94knVdzbO4Y6mewpAy3+/fd4sBVwzRdErco4tmTb 1OI23hb0euypd7h2svjpSMY8HH2QCGTPBMAR+mgTKQaWZEdK/zhBy3pvRhcJh7XpunGn CmTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889949; x=1747494749; 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=65yvptSdo6oSSwoGRF8EUfcgAwuQwDq5kFTQAdR/3Jo=; b=lY2PIh9wDwPrcOlqUARB9BYCZOobyQ+SDqUrJ7pb54S0JGUCWNkanXx25UKDMLWxp6 5lVr7jOCG+R8sDnW922O63vljQe3ROhiQsr21uurEltrxllfpQbuzDxXwoww7AnlmJEB /gZ5sgx4bMxjB/XlIyYG32FHRPDMYsn/7gQJXaJZp8UAjf2MQSuSRIK2hFtx723+87J6 B9csbYM3WXjQirPwGAH5XonSkiud1T4R3HnLIW9qBk6Z17SmCONZ0rf96+F1WQIa9KOV F6cwlvpp8lPp3RhQW+qX1UwfMIbuVy3ZQZe0q/sgxLpE7eZUZB8iXcq0Dsyy3ZHk5wpm /3kg== X-Forwarded-Encrypted: i=1; AJvYcCVzBWWdExoG3eW2J5acKE8LevDf2IhFIpJAYMM58+OcGpVVSdABDGx7X8Ik4qZ8Brf82cEN7bXHi62e@vger.kernel.org, AJvYcCWFRWn1ctUSoGR6JoqFLg3ndAuILxU2Ex+1MX0od7E2Ig+Fcx+Zh8g17CnL+ANMdKxjc5iSUmzN2C0RTZXw34O9OA==@vger.kernel.org, AJvYcCWpQ+YL9GzD1QUQCLP/K0ZM98619On9jucyMv3QfoyHz+FiCzTC+MOwQtxwbZwbFR4QFfOsRgpAnAnVzqHQ@vger.kernel.org X-Gm-Message-State: AOJu0Yydkpl/jpyFTdGBTPYJawSqLYcB/9XDQrrtKHhhq4s9W5Krkn49 QUkKZLsR3Mh1YrXJdOG5XVc4pjElcp4tMV/85MVA1BzcIEQbnb+x X-Gm-Gg: ASbGnctkX5no0oZj+bpgttnyuFz3XXmzPiMp8g54k1/cRjsVUr6VTttgQRElkXnP+t9 AUcnEJ1h/SdXNGsdLUvVl7Bhvba8c9+GzGzOg6ou6d1Wv8SpZQ1hyTmXgpwFTS5Q/l8KtZZEXWg jkFz0T+RVdsxmv27/+F4GRW7/FUGyhav5ULmoQWS4XWgsQpIOePsr1sucHqqoO+JJcu48d0ylyd AbvdZlbL8gGMuP2qPnpqnCR74l4E/dc2R3T4/hG2cTEDnF/oys1srWUn/KGZiQuQ/CHyaG4nZL/ 0De34Tn/i1TU78fZ1z/w3uKK12uevoUvcNoCxHCRKCXZ0naqCKIKjA== X-Google-Smtp-Source: AGHT+IG+BSq894BgpcaZrLib3NkONNs7rilLsmX/wtUTZdydylmXWbzGgmMKEx9P+8gKkZDE8JcS5g== X-Received: by 2002:a05:6a20:2d13:b0:1f5:591b:4f73 with SMTP id adf61e73a8af0-215abd2336dmr12629039637.34.1746889948989; Sat, 10 May 2025 08:12:28 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:28 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:10:59 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-18-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=kZviMfYtRCR7gR5VoFkDRwcKeTgAqfWp35C3egDQLf8=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ycVdANrm5JPMScq704wfLVmJ3Ig1YS3yWE6 JmrAGJtLRyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JKTRD/4//D6qqQ1IsMdcZK65UAbsaZ/GsdPdkM/JdX0rv/HqppLdCinkLrRZrovJDj7mrzVAT4L /32dZ9kA3pXlbbJrGiN69/zvx2/vxIyVWvE7/WZGLvHHjaYVuAf0GxtLSkANeZIa+N1ZyzYz1ME MCtkUFP6lAqVDTXudSIIT6BNsK7tec29KvxFCjcf9G34aMe7QZMfEKCjWhcIHnC8UxSCiQtvvwn LW9eNIE9EY3w4YGXFaLmYNSzIU3Y3YZoiRIQTBe8ODgW+a315l+SKoi8WgqhdexDt9SD8nGJ0H5 idBrXotwkNfem3hGkW7weriVLENtVVgCaMhLx8b7h40N5hUMdbx13slGID014S/YKxNIw+x0t/R u03LO03HYND5emkMBsqBq7WWgpMh8Qr93P7DChIPUopC0hvDMAG4oywYfVB5IRikD1YL8LPlN7K tTbw2pVIgCWdUUAfisGEJUXM/vQEOiT6LDs0eIvGNgHRDrLVi0wywbXK2rk2rYCoyv6wpp7Xz8L Y+HcBlbKWrMmpo2nPtMSV0faPh9pdgDf7XzNKTDQG9PMUiAR0P+TLMGVUgBshz3gCJ1wtcZUbHR vzY63JDjJutLAdTDnVk27jHSD5EIJwK/6RGd0T1Eq+a/z0oeTrb/hKPaRJUjCra2HTFrTcw7BG3 owD4MdqJLKPSAIA== 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 17e294bd7c44c7961cc3ba0ec5f4178840d5b9c6..cbffc84480379cb476d5caaecce= 91f746e862354 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -243,6 +243,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 0274725C711; Sat, 10 May 2025 15:12:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889954; cv=none; b=Zer7/5LT6/uMq/V0+0Qa/a56JjbbFDEvGUZs+0UuzGCeWg319KmW2CJZeP1omttvNlDEUpEsm81XWwpgJtawA+lwD9psT/yKOKJNuoa4ezBj8FrR6gHFIg0SzLkR7HjJew6JDp/vcPmbzEzoaCjexSA4yEJwpSp44gz18w/tc20= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889954; c=relaxed/simple; bh=ZNIQgw4HnW0u/JgkpB+HMZ3DOfGGfZVMtPocokF3spo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g6RbphIkEm7TRaXTVJZ8ezItQQFPgoHq+RqLVU/YUjdP3fTUTirtqEKi99qUqNhGYVlVrNZoe1vVZOPhR8h62YtZFkNcGyovHE9zWYbN0Xg+XHroKRKujZpJrLcRptpsJQcKmE+pIUtlk9IV5+09RJ8bbQCVkB36qq/wub0uxEA= 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=h2WaYfqO; arc=none smtp.client-ip=209.85.210.180 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="h2WaYfqO" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-741b3e37a1eso2399301b3a.1; Sat, 10 May 2025 08:12:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889952; x=1747494752; 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=DCporfr4EIL+gH/R4FLi79/b+qKEezH7ywKQB3RTf4A=; b=h2WaYfqOFahqiqnNt2fjD8d994mYQS9Gkf8ZBky6Ft4FNqt832N34pwJiUoU/cKuyj F8Fa7dVAjW2t+zM8j1RA2vW9Jx9qqm2XYE2CywpxIU3WXxNJkAJlEy+M+s2MIZuk6BP+ 60Cz86Cau3tQ+kdcN7KVRb/b1IJ1wuCzW3YnTizmcXJ5OaUZhlI+Ivrw3dsJLyrH9yeJ vM7KRyGg4nqJFge9M89NUJ+oPRPGEKnSxrZpf+51Qx/5BW2Xx4zce7tKKnWcjS8Xp7cB JvjKCJ9FKn5JAomtpxNoEQSyDX8jHdY71dyJ7WQ1nfEgZ2pDKXFt5H8YK6te6rf+uRlx Cm6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889952; x=1747494752; 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=DCporfr4EIL+gH/R4FLi79/b+qKEezH7ywKQB3RTf4A=; b=hMt74LW52FHo6ECn/FluT3WB5EE/DR5kisyVSQxuMRi3rxu7lZVODqjioqf/yQxRW5 pyGwFSRLiXPqgrnvr6M15TIiOmiMCV6b43/5q9Gj8H3uPj1jxcIypGSa9V+RpciVBNeh vBXVJ/MNevOUxDQ6IS4pbjDIDx1Lirn4gvsZ4jwbIXwG4APdz8VwQTvIMhPequIOaPc7 LKHdn24XmCV/5NUsdL/Ho9xco8BU/K1Y1C6S5KGnmlmIWTseHwwolSbysEF1QLxjI90b FHl1/z0oZNNtBIpD73T+Ah/MLPcoghEnK9g38DYtQnsJM4GekXz5lmvFvxNUD66vnLWb OZ9w== X-Forwarded-Encrypted: i=1; AJvYcCUlQkeh3lc93J/09s2QlPyImOaS4X9VtM9LKMy20U2cSh+150XoBe35pVr8WSTm1PADbeQA+d7o1Md7nhZa@vger.kernel.org, AJvYcCXg5At1ROcBoybpuXZS2UR+BfuozgjVpoTisxzVMgV75O6HgACxZ+3DuZvY/JKTIf+E9RDGkTLqNo3GsonCmG8ijg==@vger.kernel.org, AJvYcCXmPixizfiw7ZI/HLL0/ZJQCOJ9vdlQbSGcdHs26s8aZ4k7DrYItn/t6RSbA9x5H1g6MBkYj8j3JQ0l@vger.kernel.org X-Gm-Message-State: AOJu0Yy3/uPrDoG38D7JFM8XM5jxYgR2nopTt/Vnl+GcuZcs1dq7ArSm UTG3xWZF9OP1WCpE+g6cf8aG0rXonanEXZveqniA1JbtO88ihObABdAgiA== X-Gm-Gg: ASbGncspq1kVDlwFY5mPgdy2MSBCCnFcBcnB+plR3LSxTCSqMsjFB2PR/0VBSsY5Cb0 kvd4GZG7/uWWIh/oGP7W0wVE78Dkq/LCIVWXPtsg2PCotxTYPlqy5gENYNEIJn3rGlBRDd+oPBR px1NWieAvyq+Goljh6GSapp1l9WKJ8hTwHdfbADrV2+Z1Cteg7dzXSM4gUQnKf1mEmJDN52kgbe KN4PrpmSX+bB0GtLMTeqj6Q0pV7YpRGpBSB7VOzkgckY8vLjRWydofBOiRAw3CkpAljshdKSWJF orsylrZdaZor7b9G7CoclztFHgV612JaFeB/OJsm6GEiJL4pZCL4Qw== X-Google-Smtp-Source: AGHT+IEMFhh+q+cJHPupM8+Z7cVVNi9EWGiLspkGttGc0HUI16zP77d/SoHDXw1/U1p5cJlCY2G+4A== X-Received: by 2002:a05:6a20:9f43:b0:1ee:d8c8:4b82 with SMTP id adf61e73a8af0-215abd22329mr10897841637.31.1746889952306; Sat, 10 May 2025 08:12:32 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:31 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:11:00 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-19-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=ZNIQgw4HnW0u/JgkpB+HMZ3DOfGGfZVMtPocokF3spo=; b=kA0DAAoBAcoIt6bFCCQByyZiAGgfbJyjeBZn2zZv9hz7wHCcGAs9PvoObq3TMDO8MNjzkgG2+ IkCMwQAAQoAHRYhBEtSeHhcl6z3nDxogwHKCLemxQgkBQJoH2ycAAoJEAHKCLemxQgkszAQAJF3 v5zffv7gXhNtsc6WJ8tUdwVX3TGkTdLQDgyh8tX3ZN7c1t2OBUMFu0Q8CsuaQA8KbRRGWk3rH/+ pEU7U4qPvi3Mpe51F6c4RUqrFK74mknjMGH0PA9pHXi845AzNa557Q+E9mrIR5Bxe0At32R/o5H cEXGq6n8yUS3VV+S24Aqovu488Qe+M9IrjbyqG2B4X5dOvwbUpfHE39mQdv8NSnKmL8AF58N/gf vChkPFsFsmAL70gYkcmdrNFPiUhmXyVVyQtcx1aA/FaPo1FwNDG4mX1LAc+okj0adNG/gHH8ITH RRGZPIkl9nqHq4Bvda7bT0omcDiaZlOvjWb14bKbQEcHrc4CfMuqHs6FaEhRRcPbGBrLN0P9HVi uScyYRlK/emBxSg5UhQLxSqqoW5CH3eC/SLDLvdutTLBWaseyUczdqbm3KwCCG3o6+EbvbxzMbj /OSpSYrGNW/0w/GFWSUeZYSw7rEXQ/mgFVKDUvyYr/v1IZVjI5nWkNpEbqu8Bd1ZvThNatdmQgK TqYBy5ywI0/hk76w3cMUmxJ6Ow4DqrCqdYr8z32uapfeZ/o2eXidBPP0OGWLk9nb8NUaDsNUypu HoPKdfQoPYa6Lv9J6rkdo7wzUtDu0/ylWoxTZdpk58zxmgWn31G6kxNmqNjN7T/zMgL9MTXHD/H ohKGe 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 5b280c896b760dc8b759bf38dae79060e34dfc19..7fb3ab738f67583d9a19a542bf3= 6ab2806268d55 100644 --- a/arch/arm64/boot/dts/apple/t8011.dtsi +++ b/arch/arm64/boot/dts/apple/t8011.dtsi @@ -237,6 +237,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.49.0 From nobody Fri Dec 19 20:13:25 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 265A725CC74; Sat, 10 May 2025 15:12:36 +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=1746889957; cv=none; b=Sk7bRx/hlt1SqA8zS2ewhKImxAbY+dgA6dqLU74qN8DJcVWmr6Hwp6DMTZRaMujg6T1uuw9sP1gp4nhoEjqu5k9r6J67EaTNOW8Up6pWiexAGazjGi7JRov9ootAP17u4l4NdnWKUagrxGu4J9xb5CkNFugPyZyjjfQ2/EBArUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889957; c=relaxed/simple; bh=iSgQuvf9kmSTE4D2ckw53TzjQOR5RrwNb5r5c6wUTAU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VujQOGwrweQLsqkonCZ0olEaRuqEbUHvEedM93LL9u8r+UjuOHfnK6SorfImZCXu6ynK8SMpVQuzGPlzFjV31YK7c9Dv/yyBwv3sSc8mZRU/V4aFDSHioQZV1FKm7ndFqTwz7PR5wehQDWgPmpyIWlHBJm/ODLse6mmswclNjTw= 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=GgKK+kub; 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="GgKK+kub" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-740b3a18e26so2469841b3a.2; Sat, 10 May 2025 08:12:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889955; x=1747494755; 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=wbV9nsv1jvdE6TIAVwMdOO2R8WMK9uKpowquURgrnXA=; b=GgKK+kubVtg5iE0Qu0CJaHdFPM7CfIV8v166itiW7XDOjnmeXuIsMCCGHHiywbzUbj kmvGOjLn1MYpvjig4Cij1zb/XD0cptHJEQUmWmh1fNNlPc8knrjyYm1LTF03MlrcSezt nLuCn9z8UWCgCuP4uY7YdGP5GHxmb19ySrXj1Y96g0EbC7ObFjMTAMZ/mxqlaNzVa7bD Olu4YnbhYAfm20YV1D3hzaA/lwcHTghOm/bJ8TaMJ0l22Phf/odEnR5TZr7FMciy+WEG gwQCT+P+EZKA+Xbomef2BEdd5m97viK4wLlmwM1HQJGp6sLRhfYstnym8U1TS0vrW16t a4+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889955; x=1747494755; 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=wbV9nsv1jvdE6TIAVwMdOO2R8WMK9uKpowquURgrnXA=; b=sHHB3iuDRXAvcxrm5tv0lb544PLVuGWYqeBJPW9+ba8LYWYE5KcrEhD9I2uAWYeVCV B16ld4OircY0a0j+0uS81Bf5iDb6sGMZQhvSMPN3OO/WEc7m2rpiXRUinIvxj3TQ+Ln7 3u0tXicSiKEkz2rc4QF7TlGjLOSUlOkGV2Y+gN9JYW/FeeOJyRbSkjaNxW2MvSaiUvV+ NENguLIAqIr/IpVEVv0zvszhe+LMw4JuL+4C9WoP+X2kJI/7lq1lkSBSv9MYH5In8UDS EwxGk9MTtHwIynrSHajMfCi7h2Wp1P6JfCWfN409hZdWM/MF8kG+ZU0s+qtptQahz3m5 CpYQ== X-Forwarded-Encrypted: i=1; AJvYcCUIfNsbVQCBpHbICPPRM5G8De/FlwMMx5ST5Zmy6CWm4RoNCqiNGcVovv7BASHJpuDFN15qFWAl2GlJB/vf@vger.kernel.org, AJvYcCUj0mkBugsTHZejC1my8vTLtdrnoF+5IOV76Mzk9p2k+zuh8xjNfX67M/3Ivc5g5DGOVnVnQ1svnsLdpwzlzkTM0g==@vger.kernel.org, AJvYcCXgbZs3IV+HDm2z8XnDFYSNAai5VjdVI+WDeQOZyuXk4ujH2wVtXbfzG6dAVIU4dN25cVRqewO+vJbM@vger.kernel.org X-Gm-Message-State: AOJu0Ywwzu21VtA3i09hBL3eMhdHTIMZBdOpz7WsHHFfcHN9w3L6jl6e u/PZjXXudOS8Zp9Mj4J1qmYa5X7HUl0EVucZsFyteMMCp01pdImt X-Gm-Gg: ASbGncsBLne7BGvJCtajZLw6NjF03XJvlWI7lwr7umcEIwTEKgcIzTu5iw+qbbcOAOp vIFe10dnkOZ1ENEjdFXjn/C171bu98LXq6+Zder6j8IUbFwNRR43kM4/cUIfES365cC0LPqfyxL 1Xxqc4P6Hif52DyoUrPp6yvAah9Pf+dGNfd+aHVfaUm5s9IL2fhLflaMfV1lSH40QpWyCJI3Qlh 5jYIZhjo8Zw8M7L8IdsgRREGxyFFnKwqmQ+VLhi4Df8gkW1bJEIw08RFD0zXbLqE+knGg5mj8aj cHFS5QeyQY8v5FqSuqVce8w/JAccMARyg5Nhu/kVkx1MFAbShY3BIg== X-Google-Smtp-Source: AGHT+IFtT46gV79vplSRnTNjRcV6VyD0gjugvAu28DSlS5zdUyZuWrk5PiENyazvHXLpdDQYOK/V2w== X-Received: by 2002:a05:6a00:802:b0:736:4110:5579 with SMTP id d2e1a72fcca58-7423bc02f2cmr9779057b3a.2.1746889955645; Sat, 10 May 2025 08:12:35 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:35 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:11:01 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-20-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=iSgQuvf9kmSTE4D2ckw53TzjQOR5RrwNb5r5c6wUTAU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2ycJM0T+aDWIJbJWermJ+AjpVyqLgXvTkY+T fMhQWkGt7WJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snAAKCRABygi3psUI JLiMD/45EuS0n/6yTHNsSOa6lVCy/KV6z2Zk4JNxPI37jcvxmnSjlKGwTx7Hrg+1Vg6dzj+YAWq 1cKhgtT+3dA9YU5NQinJIFf1S/KtAM7uIygOfyT1DaztAxcHNrjlPl32Qsjpz68fUnCWEXRtSb6 Xb+hX5d77aj5RtYYS5nLzEz/XTmD3Lwm7KpEUrDnSTYtODpTW37DvwZGj47MIkJT1VPM0F2R5kj Mh2eLLpScv+GCSU8ONXP7qwbM5/0V1Y2cYHe6gxM21Yhr4cnM00p8VMqjWBDL+cv76tWAD9iFjh DiU9NXXHf4vm/ctnYJtOZFuiLTPPkj5qDuFLv0nhwmxGDODZMdnj4fc11E3xjhiNgbH1Thr+QNt 6qACz4PEEqYYzYX6CynTRmvCsUi2vg/+3DZgXX6q6GMz/zaKqDFNcSpxj8hrp21eF87LuRv8GVt /vCqLCT07xCO7GQ1PkC2Buvp0vpIEeLcAz6ohIDaFZhfG5zWBh0xf89GQdHn7OyODh8wIFLsVlc Qud81zVKqlZhHuBgJGiE7yG4N19+IF/4ILaQsW76If4YzekV25qOi+QdEDu977V9i8VViPKExdq hSU1bXY5WhjXdK7qAq56cVx1sHioZXEa2JeYdEmcQPgbTyi94Ncx+tDGCkzDH0WRf4EzgtTnobv 2e7IwMvoblab9WA== 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 42df2f51ad7be4c4533e76d18e49a9a747b6b7a8..d79ed754c68dd89fc8c52887e6d= cbbce04fe126b 100644 --- a/arch/arm64/boot/dts/apple/t8012.dtsi +++ b/arch/arm64/boot/dts/apple/t8012.dtsi @@ -276,6 +276,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.49.0 From nobody Fri Dec 19 20:13:25 2025 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (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 D122924E019; Sat, 10 May 2025 15:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889961; cv=none; b=V/YySCLCNR9Rzd17a3b9MTRSvss1yqG9Zy97dlmcxR1ZnLayxdW2sRbBW7JICKoyhQMwDj9onw2ccO3rNy+Og44pQXg+drbvavzLo7fJun+nWoCYe0S3N71wUjdq+d6ZgYAve7Pis9eB3vIhlelTQDfjTmm0kXTauF633gp/b3Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746889961; c=relaxed/simple; bh=ZHoXysjC3tKjwBhupXya9t0tvevKJFeLclU2Q2P4acg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=t/eyY0LrB4nldVqGQJMltPe3lakoGTB0k8NxWlnH5XpQ8KjqnOmPtxnhdev+78MiEsPs3AhyluVgOaqHsfqa/R6UiZlgLgnoGAoBfT5KlTRlPEzsNbf2d3ZOQYrymXkFBk1hlZUPNQyIOcHaA1qvz65PwZXHMeDS33Vbq597SlU= 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=fb0e8h2I; arc=none smtp.client-ip=209.85.215.169 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="fb0e8h2I" Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-af51596da56so2540605a12.0; Sat, 10 May 2025 08:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746889959; x=1747494759; 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=YgYxG+vTxBAlApfr9OfPBfVTpSGem7njEO/S/STMqlg=; b=fb0e8h2Irc+MV79f5aM0zUBpBdXxtnwugzIbNoiIhk0UViecQcuHAzWTeJFOlHBB1n iVzrLHEO7cWdzatgC0ftR3cAdbTKLVI8YwR245HIkOex7SJiSu0hQEkesyD7u6wxozty AzV6h+grnhWyYVo2wtBvtoLdTyCGqVsK+oSZ6YVrGmCnfwOPZl7Eke7zKobYs6wWC8mC OeVFbsVvTaK3wIMC0TT0IMgvKEHjGHsCqdvd90/Nbij1iu0rQ71/tJ6v8iEyCSYCXvY9 ZjYOw+MBWNIrY6IC5StIKxtr3iwsopKR0vUh/td6oKTwoLbD3G4617Redgr0mUPUaTwm DS2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746889959; x=1747494759; 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=YgYxG+vTxBAlApfr9OfPBfVTpSGem7njEO/S/STMqlg=; b=ag6vlDJJqCMxiYdZlItFPwpw5xkaQl3kA3p9xEH+sPh+VCVw+pMlzRnBTG86SLEWjH JOP7bF6fbeHMnFmdx6yb252cNlBKfeaZ7By/0jSUCgKPgrxdLZ60xAfuD8QiQhhBmvxB hzlXr1aE8JvinbIKD9oRdx8NfJS+q8wLvOR8tusdsXkl9ZOKYIlNn8Wo9wa9WWI/XBDV V5bVgW6isvp/Ucy8udOcpgVriEg5xuhRXfqG2Kw5Sf0pqerQOHprjy8y1XVlr1yS5m7o j4XktMb641Eh4l6PFa1z305oWoxl69uKPgx/MqzJIKAGgYqGA8oT/yyiz/iQbwpvdrgU 9yUQ== X-Forwarded-Encrypted: i=1; AJvYcCUHvJQ1H47ZDNOry/3Iv9SEbB+Hq4dGVug7G0ASOi5jP5CZx+NHLMlpr5jL/dDZkeIiZGDF5muwVGWyx1dzUnbd6Q==@vger.kernel.org, AJvYcCXF4kPH9XkEXVwOYHmJem0wt8y9aCPzQir+GM6ig3dzM8NKz37Qq5rNQXA/TQdHmwC8HyS6wBHAizLenWE5@vger.kernel.org, AJvYcCXl+tL1EY8dUi3ibElF/lFMjiNkYd/MqodcP5odi3Ual1rZUy9ZD1KS66GHpMHeo1TZo1MyreL5JaXM@vger.kernel.org X-Gm-Message-State: AOJu0YxuA9Fnj9aYiEKIbRiCPE5d63aZRKxDLfZLlQHbuYFxXBSZaiQX MLRU9gOFGbLbGmcqAb9b5azwCFZK3nfhj32e7kDPzqXvu42JaEXj X-Gm-Gg: ASbGncv+96r73o9twBQnf0fTjqQ2cIqBi9eCWGwY2o5WKMh6FEOqQYtMtN0JHMO933S sdk7tau21seG/YMdVW5EMlNOfRJyDt7M8Qy76u9jyf4duM+PiEhViWLz93mW40g8BpaxYjxRYqP ieUMiw+AFjXyDQwlN8n9piVRZqUVAfr6XvPKNYehrfco5UdyF21ASaAoPKb8//qB8e51EdaXgTs 6QYlIDJkBNLaKsMiukmLrBvliKm+XcEAzfdjxQ6hSlPkV+jjRaAdPbZzVmGLGVbJC7x4twDxKu+ MH576AkOwVCaVLS9bXUczNeAdaPABL25Nm7L9FrovRy1fEC+Zm77Xw== X-Google-Smtp-Source: AGHT+IGsbdop8plBHpcmpnMxKCFGsNL9XJ5fPzAac6FXRl20VRiIJR/5u5O/hLTD0QEvnuaKLrsa8A== X-Received: by 2002:a17:902:e84d:b0:22e:8183:1fae with SMTP id d9443c01a7336-22fc8e94b54mr114728855ad.41.1746889958989; Sat, 10 May 2025 08:12:38 -0700 (PDT) Received: from [127.0.1.1] ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b2350ddca3asm2990493a12.58.2025.05.10.08.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 May 2025 08:12:38 -0700 (PDT) From: Nick Chan Date: Sat, 10 May 2025 23:11:02 +0800 Subject: [PATCH v7 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: <20250510-apple-cpmu-v7-21-bd505cb6c520@gmail.com> References: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> In-Reply-To: <20250510-apple-cpmu-v7-0-bd505cb6c520@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa 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=ZHoXysjC3tKjwBhupXya9t0tvevKJFeLclU2Q2P4acg=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoH2yduqtId3KunRw3JTc76ysraowG5U1aETUds MsXaefV0bOJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaB9snQAKCRABygi3psUI JJ7ZD/9u11yUrcdGe9PhCwIpTccxOS51IX1XGrdagHrb1ZM3v+9lN4qeWlTrMOxBuROK4/nXWIH RIsz9GiQ+g/CCHfwPIS3FcjN72VgWIpwIAPfqgecQJDdWPcRYdm1bIkTv97/dmNwE/MFpyJP+tc yxR8s+nThG7coTj3wBo9tgft7eZRKJbkkB80TcacuCnzhHWZ2V6XqmFCAA5/PKI7Acl+tknBlSJ XXnBQ6y47hDMuxvGCWzy5izaStC5gqTSMjiaDA9d6QOzDHyc8pyXi3eOChsoUzoWSQ37ckcXzoa 75qmgBw0CS5HwT5WhOaw8dl3Z1uTs/DUBCY973H+Vrm0BhUmv5knuoluH9fmoQUQUSM6cQ6DmpM O8BRUbOWVhMrdwRhOWIsrWq3IPoVbot1g9szKn9x/qHwpxbhjy4ToxS1SV8ajaS2OPDtpo0V8V3 zeMsXe+9UaInXhwydyy1yCkB7WHmq7S85EYmA/yx6PmvtoY7Wz/57ZtBxvFp9kNv1/bIP3VaOeC y8gZj8hoCqGXM5uwv/cq+p0KgdNOpgACTlcRmJj2Wu0/51H6Kf+fxdDUln7UPeDggFz/YRbIHpy ZOYFxLYFvsPA7vqClpoRIXE3Ai/qiNuimeDeTod5UqNeHn1ZinnfgapBR/fspmBf93n4k1L9T52 0d3mNZ7vF8d9zGw== 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 4d54afcecd50b50ed1fd386ccfc46c373e190e6b..e838b65ea63eef9c198032ee87e= 63dae282141dc 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -252,6 +252,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 { @@ -380,6 +392,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.49.0