From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02D412836AF for ; Thu, 1 Jan 2026 09:02:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258163; cv=none; b=HOPqHW08kTfeKTbKjm001CJYgCsYnaco5cA06V2ePzOU3AueTbwGP4tKmwdg7WxD/HGV+pDUlV7Q3mhdRJNeAt75+AuiNmiLj2CSBn9+dgvVWwTacfQnIRgdlQVRzHOidTLqL+1FzKLBjReGc/KLezHkxe5IA9ueBFHK65fpJ9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258163; c=relaxed/simple; bh=07n0zpGM1mcRCjmEoORnP+p4Tv6Nx9ryjVOY1OMyuiY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ni5euw8n66xI+bxriRBBRW/DcW3yQ/BWEnImGIKNpzJc1/FKwjWmkGC0t8gA4khdWy/tOoSXSRehEWoCoVhnXq+hsaSyvZ/aJ92qzV6lPhk8UbEMnDwFvDzVxht1JFcWFmkiH0mbAXvjgzDgrmRA2n1CzHzTdA56MluF8x2+fuE= 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=JSQVH6CE; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JSQVH6CE" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7b9c17dd591so9647174b3a.3 for ; Thu, 01 Jan 2026 01:02:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258160; x=1767862960; 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=CBsTBcVtZ52Xc7+liwX/QWMHum7rwn6gjjvyLUqjbLE=; b=JSQVH6CEd1vbsGe/D8Y5q8ITV0oZa6ZmWkqScduqmMM0M4R77PihWjzMXghpdMItMG hLiPNNuuHlkAygDWPsccSxANbxgvtNSblGeVb9dQyEwcQ8NkLfyKLJcjYKgBcXHOe3jD sArFRtdxMAW/1kUGhH50da+0dfnXsXTKRxIL950QLoMM9V1NqMdU/H5QPqj5k8oB6q8m TRJljtRtIwREFu9qEBDjPlyv/jKOSlnLfgnO/3umr52RyDCxVDCV2Nv/uzn2DYTWsmQe bI0Dsm23QNPCdnCf52h5bBvjwobIH8oJ5H/e/OBemtqMkbirM3eMzYyJ4lWJvENmf3Ek 4TJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258160; x=1767862960; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CBsTBcVtZ52Xc7+liwX/QWMHum7rwn6gjjvyLUqjbLE=; b=qBNcMHGJMrpLUwxdN/tGwdwoV5H9rYgto0dUPEfbO6gNdMRqzF+f/EHNuZZFX8KbSq oocZ3syC6pQND6Cioj6fwYab2/ARsYr0qP2Ly2bV6oHLgjhmNH94NGjzeNdO4smPbAxy 3EQPKSXHWclxGea7n1QwMDwy6qFk9Y9YIF62uCoMv/zXPPpxU9MpJjvjGGwOAX5Zkped 2/GHnTb0ShCqFlDg2FnHdb2efB04SYgpx+rNpJqr2RjV52ibKOnf+mAewqOAkdCLcsnn CulyY38dfH2ppcZQW3d5mMdFCVxjGsEpf1+xGj9Qc0Lir463lfpKWBOFKis3j3Re64xe mkXg== X-Forwarded-Encrypted: i=1; AJvYcCWLoo1Y/My6XusmRKB4XjMn2E/W+ceodMTvIVrZmFRi/lmvhBKa/xA90oKh3Y7nOr3Xne5lcNWauAacKsQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxA65yCQlCQS1Jvndmn+zgrdH++EHCACf/qVYfoyLzl/S9q6GIE JLZIscQfh78/9mjrwV8wqpWX8ZdseKCAryfFlEqhdZ/P64JNRutFnUkZ X-Gm-Gg: AY/fxX7KyjKZHw0oaS4VKqAAruhIg71ug3/ftEe/mvNMhGABYwxIFSp7f8oaJW/+72K eU5Xzh4Sz1XcbLynG5yDZGQmIh+kAHewdI/ULVcc30D2oiYe642DEnHaQm/HQuQcWPpTWjHCRUt 2RYNuhEc8Zzk9u1RWvpf8vMQalsjToB3f1O7+pCReBqB/OynEENhXuGmC9ewfBaOZKchyGXD8SZ 6/UZ+KDnz2vjFe4KFmE7+esleMEJwzVqklMEwSIvXKC5XwwKHOJpjuEbkCrIJ3nGBNl6wRgQvWb sg+K6YrNXA/gFIfJ24prhpMvjcFejaYfMAUhPHZAsC9BRNvIFpPXCLOUa1kwsYywt8hMMOAYuQv B5P50ynjkXyHPqk//hZk/T+FRXO1l3jsA0QcjXYo+PKsh1YqbqoTh5oPfnLoJ87/0CylxnAEDtM jRomz8E5gYPCBi X-Google-Smtp-Source: AGHT+IFtoil+3P7aWnRMIiq8mqybLoG4UdYuQs6Y3uQb/Jyici2QQ+OBrSKeKnNpXmAnFflhht0LDQ== X-Received: by 2002:a05:6a00:f99:b0:7e8:4587:e8ce with SMTP id d2e1a72fcca58-7ff66a6cd8cmr29772792b3a.65.1767258160250; Thu, 01 Jan 2026 01:02:40 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:39 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:37 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-1-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1102; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=07n0zpGM1mcRCjmEoORnP+p4Tv6Nx9ryjVOY1OMyuiY=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgmRsRBPdL9/utiE0nqPtsVdLeRRqetK9YcJ ZMgjrSR3kqJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JgAKCRABygi3psUI JF4xD/0QoWqxkZH1Wn5QnoPV87CkMp55ChVhudxMJB4SC5V7Dt+HrAc4pSd7nFd+K4pPeP1qwbG 0onYYZ1veiVkIAFlQsUpB3a8jGT90Vru0U2MYyIrv6kUYWohWOAABi2aNG5omb2G5Nk3MibHtpd rnmNJb97uGnUepEd95Fm20xBETKdOWHmsQ4061B9YKi9SIt4gXHPDlHMNUhIy19RNz4veCpzW/V +FyYucydUfvbOrmRFIkosShp5AHD1RXszDYIAEl1zJmLRHZymEXUavxBarEYUKdajJ/3+nvFvEK tlgApSDE6OHx88cvWjkIG+w+a5IuDUT+lTBb+X89PQP1h4cc1PM2a9HSPDoLN1dTrDA/UPNs6AZ /tjGneYg4Kgu76qanoKeZQTDwuG8iq5SyrT2mMHMjM9uAlnPwRm9KxiI/AtMQ2rYvlVqqXazAgP sHf7GgNlZjaE4SIQgkXm4EZN8wrvOBrAPOMUmeOoWzDXYuvBThwlZXAbCJFJROUTLsKEOUWQt6+ WsDdb1MllmQlEl7jgopcMuD0dxR/s8Xee0I7UC4/KAtBWwrKZEZvQLknULROfmmCPyCNEvVfNZ3 poA70X2OklbJrD+UFtMMUxVVft0gzk21SwEibpkyOc18DW6AyXoBFwusC9FpWoym7sAZcHHVNOC hygUle0lWVEoscw== 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 Acked-by: Neal Gompa --- 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 f47baaefcdacfd37472926ec6994c33603163a44..97800a991f208448aa4bc8dd59b= 45df2ff35b400 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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.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 3F2BE2820C6 for ; Thu, 1 Jan 2026 09:02:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258166; cv=none; b=bPlUx6DCz2T7uXLiiqQho8I0VETh3FNnYBsfpZOXa41D9k9OpKYO7szie2yhXbjpdzUpncG45KlnzNqkR2JaGYZ3clTrH/43C1d9pRotSZ/cxL4zIOr3sVrd7hxmgwlAIF2gcg4gtw3UmP//1EYg7cnAPHb5nE1zOnBPJN+yfSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258166; c=relaxed/simple; bh=T7VIuEp6hEe3RkCETbS7KqP+//z7d2ZDmQMS7i30tSU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PbQS6KQICEP+4nmxfp6CXDJ/SD7Ft4ENQu+4thltWtwEdC4GoauxwlSvhE8eoOy4exGh6trlROYefYU9qEv0zGuCuKIrDJWOZDJ7yMHd8swRRxewBclglKAD7+3LFzqTv9TT6AJJk8/5cEz9FlkNoVb1GWJVe666OYZ6V+uJNaU= 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=jQWOb1zY; arc=none smtp.client-ip=209.85.210.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="jQWOb1zY" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-7aa2170adf9so8359001b3a.0 for ; Thu, 01 Jan 2026 01:02:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258163; x=1767862963; 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=gnmU0etDq0lcWJuNgsoBFmFUTXG/dt5JQHfVECxG+u0=; b=jQWOb1zYrKym2cyozQPiQHSx6OzTx8q6juktqeIYNsaC5jTZek/8bnJyMB//zf1OsB yDRjEPaFKnSliz9WljRdNjwXNghxNbGow1DmKV8+kzUz8AHDQ7+xfGRY590LULfUhoj4 gywtz3wWB5j8xP5X0wPX1NGWv0saPZ/DvBMaLy6K7ZwJKKxDS/ssiClcBj9C0Yqk5Eoe tqdxC6MMh3i7EbvJ2wCwGm4Kv90pBYEFgnat1MNLSwHUgtvbOXNh+OFKiiOlYmSM6DRo 83CeBHMYlWoA+qAR0KjJrWCLuGV2SPtl4gUpHTCjzICV4YO6lJKWaKE4UnHd64zFCIM1 6vfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258163; x=1767862963; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gnmU0etDq0lcWJuNgsoBFmFUTXG/dt5JQHfVECxG+u0=; b=gEvQ2+r8wIcc5L/re980gcySNaM1j+FKENXQOb/uiRTqq/QlWySUcSd03jB/ZkBd7f +ryrPVT5NGiIkWSXzbP+lwZDdu0iD1J3PCgPe0K2nHu87vP9RsYmymCD04Ib6TqQIcDi 6BQIjsQOri+CcimcmtXYTU7Wui6HT/OeJqIzP2K+or6hQv1oXkc+w9o+joMmrd+Dp05i Nlc4t0KD9aENYPxfI3UqsE7GDAnHXgTvAwGHBBkXC+QBtwntd31eqNqmQp3zBxOzCkjI 5RRvu8Fvo7WI1DsoWNyVHh+uKrSSGmdcuPr+dVmr5AwNE/L6xuEbgOa+zIYLMEbwxPoq u8Cw== X-Forwarded-Encrypted: i=1; AJvYcCUL2/2418ht5xHjqIyZxFVr8cxswOmFHnw/Ihw1DZYqBjT5YfOviZoSpkEkfrX209eu8SU9AlpM7JAULSQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yyq6W2/8lHjF7umvV9XicYZbFBawk1kKgr8mF0vQgNg3PiQQpBl Fu0CkmuN6i/5lVQUX0qPqrtzDuGIciEC1Kk71vjy9xeSOJFLOihyKsfP X-Gm-Gg: AY/fxX4pVR0CBnVeH6tir6qpr/Q7WnlRIXxPwDgDPVwYq7g0zXv5//eiwdomBkLhuRI 1Zdw13t+THCUBSDMsodAammu5LzpbCuTvKOG3HfqqnW1GpMzH6QuYekGoEtm72Sdl+Uqf8LceOO k2/clOM8PhV8i/wtguvrh/l62FRXVNN1sGFic9GHGqFpftoVb4FNqVBemRiTvuUELrevf+6PDBC Ba8yAG/2IAvU5U7KFfJYxLyxdZ2MCDTdlaUCZ6Jyt571kjgqCbyAG2zWkJSmgKalpwyQXWKQQzU Wt7ZohDG0dcg23OXWqzzlV6pVxna/DCIYCJv8QnRVZZrnDdpAhf3aS946TDL/c+OWt8lXxEHAAr 43qZQk24LcB/qf/dLhNVW3zJGe/QMlSNM9tCbnYwk4ME5kDWtOpYMKyWNINeZZK+jtMIdEEiBP8 FUonAAAVdHrRCB X-Google-Smtp-Source: AGHT+IFmkrWKS/7FmmxYOa2Rc6IAdldSe0vW+VCQopk2Z3V5RjuuRrxz6yRgFXBslyCW8xVE0ysndA== X-Received: by 2002:a05:6a20:9389:b0:35f:fafa:a198 with SMTP id adf61e73a8af0-376a75e8a87mr34983779637.10.1767258163369; Thu, 01 Jan 2026 01:02:43 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:43 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:38 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-2-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1251; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=T7VIuEp6hEe3RkCETbS7KqP+//z7d2ZDmQMS7i30tSU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgmcioDFW/cgCyqzljV2Zk1HIbx3mEdkkvCz qn5UQHjIACJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JgAKCRABygi3psUI JGHYEACifxfNp4MaPvu9Ha3yNIOsVV8p76VKZFaIJFNpIC2Zg32i/Ut43TnFCiS8KNa/Z1lMnvH qO2YUVuRgPglNl5teGrwBILvKrc+4Mfr5cz/z0PM3SwzzZfU6ErE0gSfIjTjLF/garU0bJFiww5 AhIKOOKrQg0sSuyk0+5/j7fdr23No9zE0cUYiaPyyZ6PsapXl7uZScKxqxv0UJ6otVAjdwDyK7Z yF5hb+lc24Ty3SeSNKwx++AeHURmH1I1f4lAGa3bMtyLrhd+xISa+eAMvPlWBSmp/c7B/ag0KDJ newogHd+vtN2SwJWTwHI/w3yoSRAuqh19czHPd+V73lGBQnJxVWHXrDFKPoGbHvoBPfQYkuTTwI nmwi3Eta7gpDcEOhBcX8n0fNpkM/6vliM3cEK0ZTsZQ61/eUZdrpJogIPCB43iLAkFJX0Y8pKkE Sri65VYBlADVMF9l/fcPp4Y37troNgDsNsiLhpRF+kZe+2UmxnE+TbkKd23JKopNYQ4blJUZmz5 y+M7KTk69CdhgQp9fD1LmQ+8PpIcOf/qFrUr33awtQ26sF5F8l1Wlm7zDriYpBRjPvpw1d86YqU uWW180xDiOmD258mV0eFbE34YjS0MTPFY+HNJc7O7QiVi3C1S5D7b87hGnIlnFPSp8hLGbzajf4 8iYG31jc9OUZNiw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 The events in the Apple A7 PMU is very different from the ones in M1, and EL2 is not available on Apple A7. Instead of assigning the wrong PMUv3 remap on A7 or declaring a new PMUv3 remap that would never be used in practice, skip initializing PMUv3 remap altogther when EL2 is unavailable. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 81b6f1a623499566ef04d04075752f34e2cb6a92..f3948528e28e0189efd0f17fde0= d808930d936af 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -645,8 +645,10 @@ static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 fl= ags) cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 - cpu_pmu->map_pmuv3_event =3D m1_pmu_map_pmuv3_event; - m1_pmu_init_pmceid(cpu_pmu); + if (is_hyp_mode_available()) { + cpu_pmu->map_pmuv3_event =3D m1_pmu_map_pmuv3_event; + m1_pmu_init_pmceid(cpu_pmu); + } =20 bitmap_set(cpu_pmu->cntr_mask, 0, M1_PMU_NR_COUNTERS); cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; --=20 2.52.0 From nobody Sat Feb 7 07:24:33 2026 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 2B30B27FD5A for ; Thu, 1 Jan 2026 09:02:47 +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=1767258170; cv=none; b=TwAEz+N+KmwxpKpCZjXjjlMTV9Cz4eUi6v2VvvMTfJSitHqIn4AktXJUeK19H7ZtgaOuU3WC9NFHNFxUVfeC0k7zwNEKwIyJWdFP9z4z+63RjjXRt02UvL4qtNRf6C3fZf/WB835GtFm9k+ql+T8KcHsE4TIc7Zy0vMGgbYU9uM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258170; c=relaxed/simple; bh=GEbwxw7PfrqcXKYl5oW/iB71cJY49weGjklHwoM3hyk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NT6CSHt6VHJgnYfZXPAp9g6349M3Of5url2HXfByi9dZX7B0V4bb+R++9UTb9okHG2jktPzM91how+Zwprn+AK/W9Rdbbqn5p518lV+8Oto0ixKNpRnI8QxvEDpCbATqTbqFUWew8v0PEKvMuSF7fVXxhFP7gzMuUbD6uD+9Zfs= 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=cxo33kZL; 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="cxo33kZL" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-7fc0c1d45a4so10085025b3a.0 for ; Thu, 01 Jan 2026 01:02:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258166; x=1767862966; 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=baePLKadh5VeuMN7NIEHaBw4znqNJn9lrkTnuuN/n4Y=; b=cxo33kZLZ2Y7l02LWJX3XLTAdZRDZCb6JWBB5XsTc2zggY+JN4Cxzz4n8Tmwy9bysZ dIz8LS27ucROQVqfnqFn1Wu24WQuIdAvsHsP31tGSIxXw0wjln2DytwvHS2KiOkhmmOX w5XuGr/dElPsevDjPBngsXnOlQfCcp4kpfs/8TVVvWkrm0OfMe2/jpAvjYA5OoS1SB5u ukYKbutyLzbUZ0tOfyWTyR41fXtKELZsnq6H9nlH+uqwLnJERDYar/eo9NaDstdxcacP jlzgDf+j2tRPQQtPyV3EbwBXjj7k0ktP07qHgfm45t5JD7s3km0NLhQkNDTl7es5wmoB vNsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258166; x=1767862966; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=baePLKadh5VeuMN7NIEHaBw4znqNJn9lrkTnuuN/n4Y=; b=j8ip+4WRENxTyl02Tkq9XLCbIJEIHz17z+ur79tbwIenK8fjsx3BNnWX4c/hMk8ntV fwtwbVsvwRolZvXoj8m28OtgetxcR5Ux1WBHzAa9sfbQpSJOmBw3y0M4Q8ZdhOyDG/Yx +nPvLwM5JRYo6zsvSbxu9RVRxbJrjmDO7GsvHBs0c3J8FWhhxtNru5PIhyI9AhfrcjSg msfD0V8FqN+lMbRYbypF70yRkUyiGVAn+/lWQJsRODGzXtvD+cw9jNtmnAl92zhiX8e6 vq98etmpdZfFqItC4DQHZpGou3RlB5mR2T5B77xlH414+Yzgb2ySIrN1FBkIcdPp6o+D rVkw== X-Forwarded-Encrypted: i=1; AJvYcCXcL7OCKyX/GDiGMhYDmztxcnGzmUbBdt63jsT4HLE1By9d/86zYSn5fd0SbmkPf09fwFVdCCMte9itI0c=@vger.kernel.org X-Gm-Message-State: AOJu0YzdvrAnR4IJs8JEYcNkOX/CSErJwO2DTo8oCDxVpb6iXLktLXVE K+neEdFBbegMSBVszbIDwW+9OWIwbr4Kn61NaZAIGj9QEyd9r86j+RHS X-Gm-Gg: AY/fxX40WQ0Kkq8CGkvFXCjLu3A74ch9pYmkgaS6EcR0n5m/qZbm/51NP6LvfW9n/Ig iJOny5ibecJsxfdBNfbD33d8V7nIJpq3Fk0t2MISsVc/KRGSMdQFsWzun3UPPeCBbpHGmId8SjM UGJPLh5EBFxwLbabrwTR/hf0mdvBz4YdjkiRe3nGW9rXXmMxT2xlBFYmXeskgxZZJK5AgzdCHT2 RKsbrrbZdU9CHyHbg7IISPYOId+RPM2P2wKEne3WhDUWuGrR9ityR7kNpwIc2v0IypYYPQK7Ci7 J5746sdtxqo93B1Eub1SXqdNUyZupV6CxnccJTlfcHtAoLukZNTLjPw0fz/S807A6uenEuoHZSu iN2gZZ1plrQTkxQN6TknJ1OqXRfoLpeIXegqoS4iysB15gsqYYKNtYpz3j0qvQf7Uc783Ah2N9E 2LTP4C0+r52EU/ X-Google-Smtp-Source: AGHT+IFwZ772YgX24ZCsCjr+hNHZNgr0GI3d19+sgft/Ou0eQbAfXufEa//uY0SOVefkVsaor2Gprg== X-Received: by 2002:a05:6a00:e12:b0:7e8:450c:61b1 with SMTP id d2e1a72fcca58-7ff6607e32emr33228421b3a.33.1767258166521; Thu, 01 Jan 2026 01:02:46 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:46 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:39 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-3-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5769; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=GEbwxw7PfrqcXKYl5oW/iB71cJY49weGjklHwoM3hyk=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgmVXJdJ9wiGFSfn+XJXbtAUzBTOK1PCJtPb uHglwMaztyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JgAKCRABygi3psUI JCkDD/9HjpLV3d9Ea4W5AzKeFkIbEJT3mGFLnT/U0nlvbcqsPI86Mw/OearuqCYgbtNxU1vSZcn 2NSS7OMmEOPuzBkfHF+NevT82KYdymLbVeYeJ3Oxkucwsmo56qGSum9GqiNixXuABeOZgS4JRGs kAN+iWwYY4bOb0IWRlZXubM0DnoCyK4aN0R8U4mKTdONj7ZlPf4mflqQainGasQM5ve9ITww3nB CbzRRZGG377Ty4ahbbzeQY8GhUGT0R/KV6s2eaK7BLcXCIaKA1+PCSwpcmfy3u76TWx9lSH6twq P2mPaDJmDjP9PEzjwQAU5vlN/Krklhl9+P/b6li2FTTS3EubYgUYd8DK/nTE/oDmnUu5F7ze4XO oKOM6HX++UVLX84At0BfUPOUhnkn9HjWjI6XqXtlNQOl1iZg1bamAR6Rgh4zubrk1GVfsIW0JwE ceF8e+/C5+K7pVgCY9SRTiM+QBK+dgsXrFfrZvS+G8opt4+Ug9ctadGRAI8zI/a06KH/ikncbVS G5QjNq5f5iXPH+ErVq6bOI7HOxOcRApU4R6923Xkyvm1BrJfR3Olw56GOHdR4RPBoM2HZJl5yS3 8LoQi9a2BuO5xn4GUp41u1RvmAiJJ6ODaP2oDgez3hgDkEAFocFgw/FbAuSpqAS1bxsbfZjPU4u jmVBzmlKX/n0dQQ== 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 Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 65 +++++++++++++++++++++++++------------= ---- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index f3948528e28e0189efd0f17fde0d808930d936af..b4ab6a3e5df965b7ef450d7e533= 995f3cc8633fd 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -43,9 +43,6 @@ * moment, we don't really need to distinguish between the two because we * know next to nothing about the events themselves, and we already have * per cpu-type PMU abstractions. - * - * If we eventually find out that the events are different across - * implementations, we'll have to introduce per cpu-type tables. */ enum m1_pmu_events { M1_PMU_PERFCTR_RETIRE_UOP =3D 0x1, @@ -493,11 +490,12 @@ static void m1_pmu_write_counter(struct perf_event *e= vent, u64 value) isb(); } =20 -static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, - struct perf_event *event) +static int apple_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event, + const u16 event_affinities[]) { unsigned long evtype =3D event->hw.config_base & M1_PMU_CFG_EVENT; - unsigned long affinity =3D m1_pmu_event_affinity[evtype]; + unsigned long affinity =3D event_affinities[evtype]; int idx; =20 /* @@ -516,6 +514,12 @@ static int m1_pmu_get_event_idx(struct pmu_hw_events *= cpuc, return -EAGAIN; } =20 +static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, + struct perf_event *event) +{ + return apple_pmu_get_event_idx(cpuc, event, m1_pmu_event_affinity); +} + static void m1_pmu_clear_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -543,7 +547,8 @@ static void m1_pmu_stop(struct arm_pmu *cpu_pmu) __m1_pmu_set_mode(PMCR0_IMODE_OFF); } =20 -static int m1_pmu_map_event(struct perf_event *event) +static int apple_pmu_map_event_47(struct perf_event *event, + const unsigned int (*perf_map)[]) { /* * Although the counters are 48bit wide, bit 47 is what @@ -551,18 +556,29 @@ static int m1_pmu_map_event(struct perf_event *event) * being 47bit wide to mimick the behaviour of the ARM PMU. */ event->hw.flags |=3D ARMPMU_EVT_47BIT; - return armpmu_map_event(event, &m1_pmu_perf_map, NULL, M1_PMU_CFG_EVENT); + return armpmu_map_event(event, perf_map, NULL, M1_PMU_CFG_EVENT); } =20 -static int m2_pmu_map_event(struct perf_event *event) +static int apple_pmu_map_event_63(struct perf_event *event, + const unsigned int (*perf_map)[]) { /* - * Same deal as the above, except that M2 has 64bit counters. + * Same deal as the above, except with 64bit counters. * Which, as far as we're concerned, actually means 63 bits. * Yes, this is getting awkward. */ event->hw.flags |=3D ARMPMU_EVT_63BIT; - return armpmu_map_event(event, &m1_pmu_perf_map, NULL, M1_PMU_CFG_EVENT); + return armpmu_map_event(event, perf_map, NULL, M1_PMU_CFG_EVENT); +} + +static int m1_pmu_map_event(struct perf_event *event) +{ + return apple_pmu_map_event_47(event, &m1_pmu_perf_map); +} + +static int m2_pmu_map_event(struct perf_event *event) +{ + return apple_pmu_map_event_63(event, &m1_pmu_perf_map); } =20 static int m1_pmu_map_pmuv3_event(unsigned int eventsel) @@ -623,25 +639,16 @@ static int m1_pmu_set_event_filter(struct hw_perf_eve= nt *event, return 0; } =20 -static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 flags) +static int apple_pmu_init(struct arm_pmu *cpu_pmu) { cpu_pmu->handle_irq =3D m1_pmu_handle_irq; cpu_pmu->enable =3D m1_pmu_enable_event; cpu_pmu->disable =3D m1_pmu_disable_event; cpu_pmu->read_counter =3D m1_pmu_read_counter; cpu_pmu->write_counter =3D m1_pmu_write_counter; - cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->clear_event_idx =3D m1_pmu_clear_event_idx; cpu_pmu->start =3D m1_pmu_start; cpu_pmu->stop =3D m1_pmu_stop; - - if (flags & ARMPMU_EVT_47BIT) - cpu_pmu->map_event =3D m1_pmu_map_event; - else if (flags & ARMPMU_EVT_63BIT) - cpu_pmu->map_event =3D m2_pmu_map_event; - else - return WARN_ON(-EINVAL); - cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 @@ -660,25 +667,33 @@ static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 f= lags) static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_icestorm_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_47BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_firestorm_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_47BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m1_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_avalanche_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_63BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m2_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) { cpu_pmu->name =3D "apple_blizzard_pmu"; - return m1_pmu_init(cpu_pmu, ARMPMU_EVT_63BIT); + cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; + cpu_pmu->map_event =3D m2_pmu_map_event; + return apple_pmu_init(cpu_pmu); } =20 static const struct of_device_id m1_pmu_of_device_ids[] =3D { --=20 2.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (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 8437028002B for ; Thu, 1 Jan 2026 09:02:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258172; cv=none; b=lwDcem2iT0htq3VI3KAy7u6xmDgBbtUUW/pk5NZ4iZlD43gEO++nX5NLee00PnFGEK8jbfyKgi2DyPde03RpU2xjpvLH4gFTQg8zI7BzTRz8TEH8Gr7HLipQNPYnZkx2nG/d6dZA8TQqjrkE9JIEYdefJEVcQ6NXPP700qQ4oss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258172; c=relaxed/simple; bh=vnsmCGSw7Ox/D+cYElRWl33lnlkyIEYomCaHfMV1wgk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A98E8TOgkSga/1NnZzt101J536AvDW2FZY4hyOwcAtPPAPvfRiMNT+bdtSwnR2Q9Iceo9ceMeDgu2K1TDW9UIfHPyHw6z57OsqrJ99sLISZHYB/aTGo6dl7JIT+DWgh/8gojxuLNjtBOu+l+Vf+7aW4T+VrdUwERySYYOIW7IJ4= 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=cExs9hxc; arc=none smtp.client-ip=209.85.210.171 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="cExs9hxc" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-7bc248dc16aso9036971b3a.0 for ; Thu, 01 Jan 2026 01:02:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258170; x=1767862970; 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=mzvjVfHrZzra3wF9+A+Do+FwcxmxMk+rXbtL9/jEreg=; b=cExs9hxcqSujTYewwTpAT4RPcxVqcFjpr11qodX7zJZ96XRjJM29JWgj3PV7VG32z/ CttaVTBzoOY0WuQVQjkQO7vwkQZRHwXTOW7XB0nj0LA5Z/8ZuGiCNN3DU/40i6oRPOnm aM7o51cqTmWmzIjKh4VAffO8xAfN/a8kxLr57flA+c0XMLBSTu4shqVlw/eTRGjxS9b/ 4o3vaUpuRPG2jK8/EXxU+pygJq4QmKky9ieqGhmYGiDnRoH5IeIC9i73tezh6jZFcmqd JgLWygs4Z95Z3yJQKDfNYKk0F0goXx8/UfJsz8PA+K6iOP861dtCG8wYiPwV9BzVDWQB on1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258170; x=1767862970; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mzvjVfHrZzra3wF9+A+Do+FwcxmxMk+rXbtL9/jEreg=; b=uKncJbaBGdDyNjFAb1x5EGe0/pToTkLt2p9teV70IMJlkyr2T6oFtHdY2vgVzrmqY6 ImdDQwWQoD++Uu8nvzcpKjN5Jmf79C8URS+4q1jbloM/yj+k8U9ZJYRAjoUPajDZ/LjP RGl0WQ9WlINoBq5ral+8xh6GuYpUH09BLwPs1O7rRvCt26CGEAN53KiP7sh1b19OL+N5 CwJgoHHRbPekBZ2sKOgMSpEpbpzVKe2JuvPsKaOto9kwN51wdRicwCslRRSDuJ6blGox mH0cHBtn7mIjwYqVUBA1RQblfwPeAz/w1kQQFWqkdVoExlc9NHY/HQQr4qAFv7gZmRSC zuxw== X-Forwarded-Encrypted: i=1; AJvYcCVeKwVAbt8PlwUA797MNbNCBEiAJsrsmXMXofiMTKKA5ACTzHskOaufo5GYykDc+D4M2INJ91EImadv1pk=@vger.kernel.org X-Gm-Message-State: AOJu0Yyo3OC/i4yMKBFtgZeIftIgmfeycE8Fz44kHNscxJE38qNsn2UC DYRpWK56oWmUxy05f87e1c4qmidb+cWPli4EfH1qFKfQOdOHmc5kx9s2 X-Gm-Gg: AY/fxX46/qV6YP/so7ysjRS7KeeAj+lBEh6avjOmiwt8281D3tonT/gsRkjKIJhdf19 SqLwORoGbeGoe/4VdKDrcg3iaWhWVBWxkHp6142jjbtBT0WiisFhtPg7JfY2nF3eJt5eDe8Tl8Y SgJb2THrvbcOrtxNwjHwnMySxckoQT4sLiD4YPPoFAYiVtw8Q36/yfyP/JGtUdU5zCYbIjh3RLq pZERSTFTRBCpRlKrKRhl730cSufT99rbcxCAnYQOzViK87gG00hiqHShbZ4xKj3bzGzyeMc6QFo aJZiSFAIdjZZWxy2yn0OORd7NyOe5H0m3qpQ6yPsb1hXN2JsyBMKFHjAqkcyQ0jN60DQG8jqA1P FX9d+M5gUUs8ssDF07oTtb54TI2tCb22lnlfsfje0T5JtR9Gelhh0KpP5GiB0CEU2h2XwAzj3xD Wdz6q+1Wrau7l0 X-Google-Smtp-Source: AGHT+IEX1s5ks4GSf9vW+xRL0kaPOFIGucJSrgtfX5TcAhrNEbjWInD/uhlAFVi+IvqgSG5t8zgPJw== X-Received: by 2002:a05:6a00:801b:b0:7e8:4587:e8cf with SMTP id d2e1a72fcca58-7ff66a6ea42mr36292504b3a.66.1767258169687; Thu, 01 Jan 2026 01:02:49 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:49 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:40 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-4-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5683; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=vnsmCGSw7Ox/D+cYElRWl33lnlkyIEYomCaHfMV1wgk=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgmHJtVqtjeoiJKKIhDQt9qIWdQDOC/zGFyo QkRwkr9DvmJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JgAKCRABygi3psUI JARoD/9Zh0Vhm/bNiMMe2pBZbvJMqnJf2oHnxk2JKgdwWa9kfkiQlZbdzArn7sqWM8wmDXbjmco mfsYi8LvlBm9vrklaUZwi9yKoavfyZNHTu9YF4sP77fFG40ipagDZxmzKPdcgQTHRveTwbEczcz mA3FjuTxhDkud544e8b130aLcMJIPa/YL68X9VZKFFoLze5bgIJzfDLvORZHyJ4MOaXDMWI05Cf XkYofevpChBhCV942gZQQ2CZPpD2DTaHWrXhVxOdCu8SHxpWMW1gb4lgCNMgud4UW7tubdreqw7 JTPbeLeyPpTbJeiHxg3jvHSWO1qLDT6sJthyWyZxNyD8QxctRZ/zY2qFJxH1YmCDXRmuI0BEBEv Fxo2qKPAn7pqD++V6b4lmI1qd1ZaEoJe29aJtC6oR9foGsOtB9vGHuBiTMBY93Hsp36hQej1oBu IM5FxvDfDO+UFyZ7gr26B7Es3Lub6sBjENMN46CvAX4PlqxzSkIaEPyz1JEOr2npVSzioUKYTzV lm+/84J31ToC7iwpAqnWE28ADkpGJh1nQU4oEfKe5MPTzdRILSGPHdH4zBPFlQE8EVy0HmwYodc EaDb9rDSljSH+f2l31Ogp2i3GjaDgWBsq+Q4RMthooPQtrfZHCDI+L1layneq2efUroKVN22MWD 3qxb75Yp5k6w5yQ== 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 Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index b4ab6a3e5df965b7ef450d7e533995f3cc8633fd..0b0ee2b9ad4b555f66b9b478055= a420b7eec8f3c 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 @@ -492,7 +493,8 @@ static void m1_pmu_write_counter(struct perf_event *eve= nt, u64 value) =20 static int apple_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event, - const u16 event_affinities[]) + const u16 event_affinities[], + u8 nr_counters) { unsigned long evtype =3D event->hw.config_base & M1_PMU_CFG_EVENT; unsigned long affinity =3D event_affinities[evtype]; @@ -506,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, nr_counters) { if (!test_and_set_bit(idx, cpuc->used_mask)) return idx; } @@ -517,7 +519,8 @@ static int apple_pmu_get_event_idx(struct pmu_hw_events= *cpuc, 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); + return apple_pmu_get_event_idx(cpuc, event, m1_pmu_event_affinity, + M1_PMU_NR_COUNTERS); } =20 static void m1_pmu_clear_event_idx(struct pmu_hw_events *cpuc, @@ -601,13 +604,13 @@ static void m1_pmu_init_pmceid(struct arm_pmu *pmu) } } =20 -static void m1_pmu_reset(void *info) +static void apple_pmu_reset(void *info, u32 counters) { int i; =20 __m1_pmu_set_mode(PMCR0_IMODE_OFF); =20 - for (i =3D 0; i < M1_PMU_NR_COUNTERS; i++) { + for (i =3D 0; i < counters; i++) { m1_pmu_disable_counter(i); m1_pmu_disable_counter_interrupt(i); m1_pmu_write_hw_counter(0, i); @@ -616,6 +619,11 @@ static void m1_pmu_reset(void *info) isb(); } =20 +static void m1_pmu_reset(void *info) +{ + apple_pmu_reset(info, M1_PMU_NR_COUNTERS); +} + static int m1_pmu_set_event_filter(struct hw_perf_event *event, struct perf_event_attr *attr) { @@ -639,7 +647,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 nr_counters) { cpu_pmu->handle_irq =3D m1_pmu_handle_irq; cpu_pmu->enable =3D m1_pmu_enable_event; @@ -649,7 +657,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu) cpu_pmu->clear_event_idx =3D m1_pmu_clear_event_idx; cpu_pmu->start =3D m1_pmu_start; cpu_pmu->stop =3D m1_pmu_stop; - cpu_pmu->reset =3D m1_pmu_reset; cpu_pmu->set_event_filter =3D m1_pmu_set_event_filter; =20 if (is_hyp_mode_available()) { @@ -657,7 +664,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, nr_counters); cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] =3D &m1_pmu_events_attr_gr= oup; cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] =3D &m1_pmu_format_attr_g= roup; return 0; @@ -669,7 +676,8 @@ static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu) cpu_pmu->name =3D "apple_icestorm_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) @@ -677,7 +685,8 @@ static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu) cpu_pmu->name =3D "apple_firestorm_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m1_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pmu) @@ -685,7 +694,8 @@ static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pm= u) cpu_pmu->name =3D "apple_avalanche_pmu"; cpu_pmu->get_event_idx =3D m1_pmu_get_event_idx; cpu_pmu->map_event =3D m2_pmu_map_event; - return apple_pmu_init(cpu_pmu); + cpu_pmu->reset =3D m1_pmu_reset; + return apple_pmu_init(cpu_pmu, M1_PMU_NR_COUNTERS); } =20 static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu) @@ -693,7 +703,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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.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 A34C42836BE for ; Thu, 1 Jan 2026 09:02:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258175; cv=none; b=tBO2sNOO77VIIsONiFUwKWcdVvXfevA0b7udSA7sgAVvFvk5+lr9i1qBEfOa7VJX+BoWj0HgKqGRfuqwkKOoKysOr69Ulg7fualUpQYe1wMCaGARNdY6980wVyuYhJh8+dwSR4sdO70FQCIlyFzbaayYM5V6SXqqnXXTGBqaPGw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258175; c=relaxed/simple; bh=HP3+BRpxCk9vu8k0Gmg3N76nZU0a4qyvZesmM5VNmx4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HSFSEh9JlRdHnx/iSOre06UudAAvf77wK1SaU51ihqb7CqxnoORLIB7MxAFRA3q+MOwtYeOlFRa4iVOWAly7zy52PHNBnufJXXqsIKe5n+aFJjPANlw2iodoYZ+kRdSzWtH8F9V1BXTkoFOuyaq0PKacOtmok+FfKEfE0zQKvpM= 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=lLc/0gxD; arc=none smtp.client-ip=209.85.214.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="lLc/0gxD" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2a0833b5aeeso154920345ad.1 for ; Thu, 01 Jan 2026 01:02:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258173; x=1767862973; 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=LYhLngMqNJ6OldqM8uri9fztTRs+E1nPGgcMJFZEiIY=; b=lLc/0gxDo+Al9yzGv7K7Rzr1JUePmu0WP0ZJub+W3vXmfgpg8rwYt+ubibAKomeeig Q2fJxOeUKrUolS4Z7C4xM1hNP6B0UZZ8FR2KRw0IIkWSBhFzM920hdDTuWdmXNz+awPi tFYkf/h4MlAD5eoFItz5TkAxWsODkNqHPLRAWl48K8k1a78o2qy31yNVipUSS4XnH//d XGi4lCTB9aRsdwLs9CriRTGgeFyKZN11/1gJBhRkeG+olVcxCkLHnjmncvbJsdHpm+YX GbfFWL2JNasNyZaXNZiTxN6OHap7rrEfpcc5N9ykxxPscsfqxjYdUA6ED4D9TPz/TZ1z pgcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258173; x=1767862973; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LYhLngMqNJ6OldqM8uri9fztTRs+E1nPGgcMJFZEiIY=; b=qmm8VL5P7X2+HZtiK5R5UpaGXLcYh5SZsSGTE6fvc3UffXQy1BmzPoBB++aObGEGmQ uwQs9ufOokVol7nKlmRVB8HWYp7Et3yy5aIh+weQiLEBQ4fop1wF8Vw8iaAM8KVH5lid L0WVXrFdzSw/hiI7hfG67Z4iijc/1dLaZ3zXkGK+pKw2RX1VQNiVBOMgEpEzlm2WkMI8 H58h9SMr41QRoAxM8SO58UvjctdS0cRJ5N7qfGIIciEc7JOANK6s6GpYv+mMPYquswqF tLchxc2lSblBTY76z/KcU9h+rZdKPc7xNM84HRX43+vx+K7cw2dlGDbLTBIkmpi99iJh 6i8g== X-Forwarded-Encrypted: i=1; AJvYcCXrudUMJv5ThPDSuC2NGqgZJ5vsgJLEzUpISNiAdyF+AQRidjJLwgsu4KbJORwJeRSkfLY6sfaSJZ+GrYs=@vger.kernel.org X-Gm-Message-State: AOJu0YzQyPZ31sHvVri7lbVCw9ASfJsTOn6iiyBujG//TwKVdqrju20I HrHOFUsl0BiiiDfSzt9K3drFkBNEAp+BXq030S10mn9gEZVOj17JkzfB X-Gm-Gg: AY/fxX43Vs0OwN9TaOJuhUuX7+D5Qgp2nmJlrh8rdY3/X4fESoTYDv6EVbagL8oJhk/ lRP74ofS7aGq1VdH1m5Xdw7Dnti3qJK7BghILSs7Bji8YZgS+N/dtdy091EjpCXPGYvbOa3m0GK phliI0+3yxwhBHDfn+Rdso/SrBKxY0KERiBS7m5wawN9kUGvmnDTnsCa65KiC90+cipcByDtD7h G80liU69/7h+OK7PNzOWH5E6QfeRzq2ihA/q7BNdDhODgsFjBvpnEnHr70vI5tfnBL+48V3PzDz 7wL0wquWjgZldeEiEv4ixgUK3M2uwjv8+U6w4Tr8R5dvGQgCWOhGZd3RtR1H1EVMJMG658vQwps DS8/C7a9+V294mBY3JTV3SzlJJSgVGpnNBp4tUv36BhqhwEWBAdpNuKwd+BNx3G6BWG26f9hwm1 sCOR8mZFsNowpF X-Google-Smtp-Source: AGHT+IF2DK/wudcCjuHS9KGm1WeGhjtlIUvpoPE63sH8WHjKNF73liEZe8dOYBfzDMRjLKw9kdzJgw== X-Received: by 2002:a17:903:1cd:b0:258:f033:3ff9 with SMTP id d9443c01a7336-2a2f2a4f072mr340888935ad.48.1767258172838; Thu, 01 Jan 2026 01:02:52 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:52 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:41 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-5-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1977; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=HP3+BRpxCk9vu8k0Gmg3N76nZU0a4qyvZesmM5VNmx4=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgn0cIO4FislP7e3t8nidSA1+CQMnbCNH3pF h1xmqm6xcyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JDnRD/9gYiOUD+XFPH6CuOvFxz6OirPhj00mypSpKS6xPDABNlbRm6Gpq2c8l/14xhRKhcTEFWE wppVRTTwtKjb2bicRv0dx7ReyAY6SSGq9rLxVnWb85qXeNrxKut2up5+QYJr0v6L6X/wqF1IGIa UgQ24vn4LdN+SCNi59WaZ7X0QJRb3w93mznF6mCQJXYRiTIDWifB/sQteUprkUHxzlwT3ID2lvp hx8f3tl24RDYGH2qccljtXnVWrHO8tYZl35zov2s1cjkwQdINF4UO9UxGjo+GCHj/xTETx1atcF /SvGj0u91ifTnPB/j7/nizOSZh1JifhmoQO4kNd7acRZivFtzu036oKoIernRQvQsnWDsTrfvxg eYPZkSaFQL5eC259rFHjkJoVX7dsPExFJMEvkbbu9uhtJeYp7O2vji09NAFqiGRCOdBU4dkO1b0 CmIzcWKl6BvlzTKm8G5LJgm5XPtyWtdjddecvLRsDKkQC6Iy/vckYLjUj1eA3HOBWDp69NmyNeE n+vS1Z0/35HwheeHocy1/vDnuQXu2J8NfoLYa57FjXj1yJkQjZldfjGQ/O0e+I4vpf+MN0MchKs WYScYjbtt2U34OzHdfHxOhsSm4cQYiyHqCLm11bS+UoqE7qkQDzL+Llk7V3vajXFNv3myxXuNfV 5n2Iqm3zjmofrnA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for configuring counters for 32-bit EL0 to allow adding support for implementations with 32-bit EL0. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- arch/arm64/include/asm/apple_m1_pmu.h | 2 ++ drivers/perf/apple_m1_cpu_pmu.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/arch/arm64/include/asm/apple_m1_pmu.h b/arch/arm64/include/asm= /apple_m1_pmu.h index 02e05d05851f739b985bf416f1aa3baeafd691dc..8a667e7f07a517419c22a4f9309= 47347be8546f7 100644 --- a/arch/arm64/include/asm/apple_m1_pmu.h +++ b/arch/arm64/include/asm/apple_m1_pmu.h @@ -38,8 +38,10 @@ =20 #define SYS_IMP_APL_PMCR1_EL1 sys_reg(3, 1, 15, 1, 0) #define SYS_IMP_APL_PMCR1_EL12 sys_reg(3, 1, 15, 7, 2) +#define PMCR1_COUNT_A32_EL0_0_7 GENMASK(7, 0) #define PMCR1_COUNT_A64_EL0_0_7 GENMASK(15, 8) #define PMCR1_COUNT_A64_EL1_0_7 GENMASK(23, 16) +#define PMCR1_COUNT_A32_EL0_8_9 GENMASK(33, 32) #define PMCR1_COUNT_A64_EL0_8_9 GENMASK(41, 40) #define PMCR1_COUNT_A64_EL1_8_9 GENMASK(49, 48) =20 diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 0b0ee2b9ad4b555f66b9b478055a420b7eec8f3c..6340ff7d3b75d7f0c7ab159e411= 4d49cf031daca 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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.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 C2434284662 for ; Thu, 1 Jan 2026 09:02:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258179; cv=none; b=KhrZ3hnhz0glktfX/TOJCia8HhdQ0FBTckz5+QkM5UifXCiJ0v69H2XlULyGBQe/ogbetusB8H+qd3FXGlUNSmYU+6OHAVWS5c2gsRHDtyfXYIgXDcCq8xaPUMvPh6WyQQnY0hhhrRpyRJBz9eYFoipYgqjOAnMUKCzQK1XZMe0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258179; c=relaxed/simple; bh=NU8ScGmoP75NTB+9OTDUGxz+f/5ItDBm5slDMiDdGlc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mAzyMQIVg3/SYq/2sKYFFnTxrcGHgRCZIZ+WJoPkRYA6019nyuG3CfT4hmJVeqObQoU+MXV431+dYgs2C4K3/i0Se2s9ZHHrWsTUSbLt84otUR+OyxRI4yOUW1CFW1sA+4+bTln7ue7mQGjqQ/RJOazpUc/z7sZ33Y/o9cHiwM8= 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=OV2KxEYb; arc=none smtp.client-ip=209.85.214.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="OV2KxEYb" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2a0833b5aeeso154920595ad.1 for ; Thu, 01 Jan 2026 01:02:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258176; x=1767862976; 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=562CWWEEZvkhVziZnN5oXKTCmOhNnY9tXruJsoQZ0p8=; b=OV2KxEYbbND/HdhC8BzO4I0rapkZIFH4rRXHr+7ndVzL3QgOvuk/EfTh5UQ1HmBM/i t/YINT3A3JEBTfKU30W4AhKashL8pb39QMArmDmdwxNF3Of84kOUKnLmfMjB/kP+S09e oxIEmneULDMqGayJ5mn/N1FdM5T67oyFL23jdgMBgRpYRsCWRrE4/LCBzwmCH5Ny8Tgm x6p1DcGpu3JbxYdsKfJ95SiNba1PEJLdHnQxyFN8LgxXPdjigeZawDbIcNOfETWFTkWy UzAe19EiQsmlXqTppQp5yAeX3T2it504+Jk2xl6KlbZ3jtiIOxS8CGKHreupj5SOMYTs VX+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258176; x=1767862976; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=562CWWEEZvkhVziZnN5oXKTCmOhNnY9tXruJsoQZ0p8=; b=k2v8n7XlLeOChqsIR9fS9zXL+iImXp9/m3dAVCwFL+2AudIuIGifI5lvVtkEyOJOGq AprPs8qFA2OhZn3pBj12Yg9t4v0c0PBDYN2BIR7vx/yzgJbuE1NtVihfWCohHjRGhg/z PBMwdwsJZLYe+IQTGp2NNG/blPpfukMQQX4DvCBpZ8cvJCLWgMaMhIx5wfw1Y83XjyhS 24CHGvKSRnG546TK+IG6PNRBOCNe+OwwA9ozrMsUrLZC9lsixmZlqvMc91Fy8JZDX6uT Jz/dYkrCCy+jlJkv7ciNkPsQkXiKD2AsP1kFmS5o9DesLq+/lSwfoPWGoda/7RiuCRFO 7Ixg== X-Forwarded-Encrypted: i=1; AJvYcCWcU6zMx5WtcvHl6btd9xHkwMa0E5LYufe4S90d9eLX4dUFB6D7o9F6aZ7jmCEnhdIdnEtCgBo0hFz91xU=@vger.kernel.org X-Gm-Message-State: AOJu0YxTZagm9FpZxptVRRomUIJiBxPdAz5GccxtkWNJviJ62b1ndKOi hzSyn8duy7FGFCZ2JF49n0sQ7ls9Xa4wXOeHDwdzJpEca+RwBg9kXm88 X-Gm-Gg: AY/fxX62iUUsDQSCF+q5ngZnzUnIzlz0+/H3SA6tPTrjG0Fvg9UGYhGM2wSj1jHzlRe D8L8zNftV1GAKzaUaPBJSNnCnjajb+SbLSfpVotEhAmRkAP5BzRWy6FGOyimM7+s/XuEpqfzM44 XlBCHUl6/F+MK/E9Dqc9J5Qe8Ed4wpfJU50thwvRcX768Z1po4qeiL8kfHysZinRBh9pKtvw9SF vbE9y/nAeCEb8ojRJ+g4zmd92tJicIjVINIbn70Z+wQpsvK3WWABNa00Zp3oxn0hkKyDazcLla8 4UJ1U5KjDYvnldhJO9uZmsJdVlmNCEbqyDR2vCBcPaPINM2jDpatp1wPJL6XpkEiSbuV6w4C+H1 /+mj2LrOoAep/lcmKtMuKFNCrwOp3CRKsxvT2X96CtXjwbx5CBUV+xepE+N9vNFXr0/5l0iBIZ/ bg+kS3PK6qgqyI X-Google-Smtp-Source: AGHT+IGvF03jWexAPJyhOO/i64xBB7TgDY1P/zTwtuv+fTjh6qLFIzbXX3lAjmk4xMTgxWdhAdn6GQ== X-Received: by 2002:a17:903:40d1:b0:2a0:8972:d8ca with SMTP id d9443c01a7336-2a2f28367f5mr416747135ad.35.1767258175996; Thu, 01 Jan 2026 01:02:55 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:55 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:42 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-6-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2181; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=NU8ScGmoP75NTB+9OTDUGxz+f/5ItDBm5slDMiDdGlc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgn4+BbzPzmvWZ//5Po4M/zFrkKjQT2wI+O8 wgEahlzfFqJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JEPmD/sFiwZMs7NQhuYcsTtLBMmLLgeraA1aRrIEksKSz/7IB3rYXDcntcSrfcGLZTTIgwqsm4N /pMVUnhEYu6wCag9SPwikW+oLIyA+dkw8vIrhEdmF8ZmoNpliYBe707KXo0pjkUQuxkjFJrdPYJ EYJftIe0s9FQYrwhNFqlFr8w4kpQKiHWzQ7E+IxntmQsWQdPYlsQVgkPSTIxjAJdeGrbWtO2daO Kl0ops2XzNpwhDlZAZFJ+38pctInGZQ7Jr/Z1U90efBoaPnrOjghj4Gk7MqL7KvHQ+DCl7PRP1o IqOYRKw30cZGMJBkcle5sj+k1b/EjDkURtWBt9EGr1d3vYSgsgPDsJ0quEYC4B7LFD/4kpySjiP CD46EcVx/ZclAF4SbtmmRrhCWr3ThPeTgKlNFRAtwQwbtcFfz8yBlJJ8GlARzEh/UrgFpJxpcbq h/oTeLN35rWdc32FeOephqdk7YbqymuBwWEUEjc+wpGZBN3ysz4t3XJNx2o1Mo0sscPobAehXPJ uMX5mrVQ1SRxeK1D/FfGxHfFMKc1TxqUrlyCwEVNAe449Wbn0Yl/XTpnJk95QTG9DcsuNd/h0Hf 5dimwO6+AvzmtPzXO3o/i9jPLCE3sT8ezpasjGmTq+UEYimtNEaGgfWEZIIecV75BS6RXVnIC/n pdtZ725SgGg3DNw== 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 Acked-by: Neal Gompa --- 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 6340ff7d3b75d7f0c7ab159e4114d49cf031daca..0655eeaea96b46d638b0998944c= 30a07f3273c2b 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -661,7 +661,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32 = nr_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 @@ -683,6 +682,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 @@ -692,6 +692,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 @@ -701,6 +702,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 @@ -710,6 +712,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 CC79B284B2F for ; Thu, 1 Jan 2026 09:02:59 +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=1767258181; cv=none; b=Zbbl2oGgDuXCrq5Wqmme1P3JPm7ZQpttrSJDgbHx/U3MdWcTqSbHvb2UI9CnMaIqVunngxPtt5AKZYOIPL0Lvb9z9NxlLELXudlcBRJv5/wWvjH7jSDcKJOqLRBdnRJA70YGMd4LsRqD1hgR0W9xzDa5otVko3pA8WsYt7PvX+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258181; c=relaxed/simple; bh=k9d/lT0gR+BsCohUFGgU5dkmO2RpQMNkTOvLv5F+1Zc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aVjU8lzB5vQSLShNY9QsS/bLsvdUmfUt0HcfGm++G3SPPyJEzuPdxy/OhiXvJAZ4wQFMw+ce2arJzfcL8FovwGY+4Ee9SzNA97iprHdMvMrO/Bo7nGye2d8hLP6NPkstR67TzFuvhfpW2+bvAZr9cLObBVfHTkQFI6/OQOTumB0= 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=DLYnWxDv; 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="DLYnWxDv" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-7b6dd81e2d4so11670671b3a.0 for ; Thu, 01 Jan 2026 01:02:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258179; x=1767862979; 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=xDPN6/vJo47740N6QbPC+6K796StMLGbxQxmitpGhW4=; b=DLYnWxDvGA/7TsFmmppt6WZZGKkXk+BW/hsAeo659I6+5ucSGdxxjT6h1xtQGqmwlz qMDu7r2i2GDs0UOWvmjNNgV/mQPTlCEsiEaN9Gbf7Tn38642JxrhecJH21EA4PDpkdWU Jbn0Jdi2fVC3sX8f8HCHdmT8a7EpP2HaQoKa9rC0S8JQFoAhn1DWMELLNUQJKcpOytqo GhhTzguQk2t4EpLJLMR4/Xbm4FFyJOsecqAeyksVogv7ZIeAHi8V0TVywt3t6UsbRy90 4NZLdR/tKBseOlz4QQrbdHOwUv47EYRgrRPXravbYVwJ347HmK0uLQAONPlzmaAOeuQL 9P4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258179; x=1767862979; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xDPN6/vJo47740N6QbPC+6K796StMLGbxQxmitpGhW4=; b=RkUM7k0dHF+SzLWyTPze3kRJdUZoWt6DLRKuSf3ao3HM0HM9y6IrLqMKB+YSLNXW5n bCqpLnU1JkkQqdvZmQBsxlvBpjgIQDNnL8E+P2ev344z45sS4BZonvN+ZPyVXbber4fi zVJtM/YbyYlEU0MHY+22nSCVsnswelD1oZQ0oM0uwW+N8wtDg+TPOYxG1KYjM91R2LUK I5hNf7SEBVRFgd0sCPYGXf6y1tyy5iN5al2aOU6U5EQFSddufazV43AAEdyDIivxXQzT MUKB6E/48YLqQIuAb+erYexl0qFVgWxOsNT/F+trBv/lCrMahdA6hJ7gARxgMQBFa20y 9A6A== X-Forwarded-Encrypted: i=1; AJvYcCXQkIe9WFn9q5JVrlOz2KXnWvtcS12zKUwSLCj8w0YldGLYRCvn1yAN34F8bhi0OPnrCiajQmajG1aiHng=@vger.kernel.org X-Gm-Message-State: AOJu0YyCg/DQKxm4Fw0mFFWJ6rtFVdI6i8hqf9+G+OMR5KeWdpXG6ryr QioFKfaDLq57bMcS02BhkOQDugtDNEi0DG512uxeG7tIIMsLlJX/n0Az X-Gm-Gg: AY/fxX5PzRVNEgFtwhPBTLwTohomkiqAkRHrLR9xb2fhhd5D88RFXJsD+ObwLRZEPtz GXcVPhruJLGuqI4iXKdEAf1pJ0CqnMmiOH8ykQENbUVDkjhRdZ3QXmVOxwkMdu7z7Wqr8v2tbzJ 6B1hIFCjjBb4HijEB6wzKfoN055VFtQ6LLRx1ruyz9Yu6AvHooLlbcc2c1tM9p7RaMtDfJRbC29 PIyxXxDgQktU8c+vvGSxg55fqb12nHdJqBTb7XysdnDiv/JgEjZ1ds6wi4G0INJcCWhyLiqHuID YcNao2PC+YFF4OZj+tvj6PCFb/Hi/XlyujjEz64X03ES6ZuLbr/9tAvRlH5uB0noGLShNP6j0wc ZhTF8afb0507qfIVKQ757H8UmZMBntb44iuTiNSWld1NTxl0AW72jb2df0+MzpBLK/w7dbgA4n+ nHbMRe1gGDocsU X-Google-Smtp-Source: AGHT+IGp06A95VtNsDuHQDY+7c9VWV7Q35S5rGZeleM+b9X7CGhsSB3XJnieMhxkxoxEhcSW9EnMFA== X-Received: by 2002:a05:6a00:2998:b0:792:5db2:73ac with SMTP id d2e1a72fcca58-7ff64403c13mr36009776b3a.7.1767258179113; Thu, 01 Jan 2026 01:02:59 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:02:58 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:43 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-7-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2228; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=k9d/lT0gR+BsCohUFGgU5dkmO2RpQMNkTOvLv5F+1Zc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgnrBr6sEatcXYFZIFrxk4paYlmBpg0jYmmj PlXMpBhHf+JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JDGUD/0f8DiiF7tPJvy4tiRUfMyih3V1IJASfGdC4Rye3V+p80kHdfPEcVWUeUOgs/Ug/Uul4y5 OOuKuCoqeoi/9EV/wtA5u6ihDrpg1Tif5RPhFJZSPaRrPFXGrZRWS/NwN9MoaNelp+0x7u5Hpbw BZ9HUNCfv0lu+qs15G9zPoNXzk/caXq7lBBezpLCo99fzq47eochYkXdqyrS43KqgAcUncWPQlP ETpVJYPgKTSRxjZQM7p25aAg4/mn562xxtGpwZ8ImLwMYyr2/F2zRoSzic4oURaVF+gTKX62lc/ AV0zUsHPfeKIS1xcMZ8cvFiL7VGlSLGYhTLBCHPSpPgcJA6becbCMB8JJ5T8xG6nGDmN44dAsz2 yYw2TX04yVAM8jSQ3Uj7pei1U/WDnVQo0IY8+IAgWUX9xyZxeK/xWWQGILLnuUZBF25bVCkMRTq 9E7owcSymKYUKj459MHBzrCw6bcy+2GSOf//A5ydwrg0cdGFylNzTeMJrZXnrzrFKmGvbBDeDe1 FyPMry6luwdhtHi/lRzmQGce0vWYs2xVX/NvnDscwpthQQ5dyxRReDZJWvx61ZpbSmyUGonx1du ye+RJW/1eRJLmlvp67/VhnqhmJ6GaCcL73fOpD1O1bG9Flg9GtfneDWeOVuwyGjAz90ImNDGOo5 fBfPi1OgQMPD+ow== 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 Acked-by: Neal Gompa --- 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 0655eeaea96b46d638b0998944c30a07f3273c2b..f903cebf566be6b40f260d81a70= cefa4858bc085 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -670,7 +670,6 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32 = nr_counters) } =20 bitmap_set(cpu_pmu->cntr_mask, 0, nr_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; } @@ -683,6 +682,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 @@ -693,6 +693,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 @@ -703,6 +704,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 @@ -713,6 +715,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 49270284880 for ; Thu, 1 Jan 2026 09:03:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258185; cv=none; b=hlNsCeu4wwUjoYfXpLc40ais1NFewtaMfM1y31MSUCmIOGcBRns6oIp24+VJiw6a8Smf6sp+nib9LGvLolXdwhzoPH8XhrpffRCVC5+9zMEW1TusfvHdwO3gJs42zIfp8kvi6v2s04LQUKzC8mZzAeR9RhdIHNP8lN4hI/YLhM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258185; c=relaxed/simple; bh=Vxh3xXPMwA5ravehvGUi46BNnI9s8ZPMtJUnEDwMDiM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OUSkRCxM65xvTdrL/T2+qHpo1V3q+vaof6Rv0m0j4mnnggm69iL1KQSbNG9khPRgJ3vTbp47I3IOwOhzvFNpvComZ/HMyq+zKfTxZMZZhmDLsadeSV2LNfC+M2V1fAUXp/EnfRvS9FMlv6UY6dSZbizwsK+klVt2QrhJIfgTp3s= 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=c5fJbwSA; 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="c5fJbwSA" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-7b89c1ce9easo12689509b3a.2 for ; Thu, 01 Jan 2026 01:03:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258182; x=1767862982; 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=iqDE2E+t+kEWHzvTTnS9zZz9qJ8MZO7XOfxcz8/q3K4=; b=c5fJbwSAh1rbWy12ksSUw6s8z7iTRfJjIsm5PBX+QPxWYQWWdwlnH4sborcHfWz2bP yKiBQ7Mr4Rxcm0mlKeR2PPEMwzjPd/jGKvN8ssDltwW8VkihtjFbKsVnyF1XmeW/zZt0 d0LubQndN5RJscXQzbr5Ow8+L+JdCVjI+NNi50uwJWt9Gv7QqcSI/523Azm06v/Aussa qvcOfXYZHCFp06ttVeXa1LZsUtkY60IzjBIq0BvBOezkiqAEUjKTMJNuv3VxJqY307rQ KNTLEYVoeejczQmV7HAq+yPxfWt7pqHxpehGN7oiOp3RJJ6MzaetBlQTgiUm7KSfaixf XpFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258182; x=1767862982; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iqDE2E+t+kEWHzvTTnS9zZz9qJ8MZO7XOfxcz8/q3K4=; b=ddrfmXB/+OIXO7afYWU6k/k4/SAjp79AlulRDhu2MyHYfltN+OMaeO1gonmbxkFcY/ eDzxbOqn+FuS/j78Lxrnx3lgZ2LUSewTmfPv455qSeZhPjR95qQiLEAfGW3VvOsDBQ/B oF3f5ELrOjy80iB5oQyP4Z2H9tApjekpNCR+UVY4rlNitIjT9rwsLbpOEVqaLUIisjxD Kxq+ruHRK37SIOwaJe87+sC4dBIsfANbCe2eDFrF0LRw3qTXBvo6V4dQ8nNQSoks8Br5 N/1QnKcTRf/6TPGoMMsRKBUXMMo7u5TrFXxLJJGGbupRhA0i4qQStDvWx70dAH+jpJiN 3LhQ== X-Forwarded-Encrypted: i=1; AJvYcCXg/ax1XMJATCEFLVoGjYvBZ/tFecl5pU415mQBylwPEJQ1aAhllMwxD1t+wRrmQi+oxRo7Z636upsgL4k=@vger.kernel.org X-Gm-Message-State: AOJu0YyMJ43LEKh2kzgUU0msMTmPYSSb/iMhmCVIkXy6PmwY5EpBUP8/ UPdrKU0jKPan1GcLAftfIsaNuHxwqb4c/FsZwDDN5uMMfpOt0brrjFIJ X-Gm-Gg: AY/fxX4IEpOV4sAeONnP4SW1AwuPvKVdTWmfIdGvSt4C3Bqzajh3pd3qCOoSPmH+03A 9p2a6ociNbgTduy/ZbkXtN6FY/N4trx6FtQWo0UWkc+Ida/zlxsZVLq0SXa3Wo6+FfMwFuPEQ8h 8flvEbWHgxg6XbwGtzyr1Zc76WIKh1mdxNcXeD6lBOx5foGlmZU5zmFCD1pfFQkGM57pMJnUpIr BD8hFxRPWQnd4onangKe472/sosE8ps1elHtV2jAi3WqnYvOvZzWKHZVAn3ykahgvOrueoZC764 36qxu3m0LZi3aAGgnkEyyVKmLRkVT66Om+3GOPGRqRm98vEL88xBklg43TlTuDSsF48Ta62l1hP JRF+mrJrdQ/nImnMgfrunbdsAF6uft/khlxwK7JaC/2Y4Rg8uLEbwH+futZaLxWLJRMVh23qgLH Q0MkYfisVdp/cf X-Google-Smtp-Source: AGHT+IHI2aD0PGOsCvjEaXrYOLGsLJEEdFZIxxMdHG6Oy9rO2RPx7cvcvzP89uVVr6dktlUzi7XwfA== X-Received: by 2002:a05:6a00:3027:b0:7f0:8031:70b8 with SMTP id d2e1a72fcca58-7ff67966c73mr33880556b3a.51.1767258182257; Thu, 01 Jan 2026 01:03:02 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.02.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:01 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:44 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-8-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11091; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=Vxh3xXPMwA5ravehvGUi46BNnI9s8ZPMtJUnEDwMDiM=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgnZDEOtQ3kp+jSzsxlNtW3QbV+XzfZ89ry0 IfSD3yjTvWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JN9sD/0QKltr1O9Kp63u3VQY7Apw+tlpEmMT/SNit4n9TuDPK1c9QXHR9E5Q7+JNnK4LcMDMV5u gmh5aK7CLtjgZsJlQh3x01vJRusIC5NXukpCXjZ8s+xiRiKJRtUlZ5qv375SIluh+YJdj/53RNp YvDirqdX58uDW85/yZL1d27MALJK52fCiTM+9ZrThagWv9xCDoLyBpovgHqnbgki8oiFnAl0U/D 8atZXmb6aTdC+0K5k8EuhlO6z+RrZ4Y8Qaw6wfU24q366y0GscUq7Wk+XPfjeS5pOVmwlj2nGZP w6pRApNfPi1squ82ZImX2OUJVbIyi3U6zVLKbLg9QtrbzNC5zwwhLMh7iG1CFotoQhoE86LwU3P zzoe4aZUu+8M59Bo0FqDXcGNmuGK2w1FWXchAlSQqCAWM9gX2LjZG+brIUdJfNM3zHrHv0mx97o ymss0B7inTmmEius6dl9x8Z5awGARmg87Zphl5K97w3P/KmohO1NwVeWmyWvzp5S4lvd+OEx2xJ V97OywAQwdGZ1qoxlQhth0pT0Zp6Wda1pnJo3fhRfxnHacxA9ALjzS0IApALXBLz3JyIRGuzbnw CqRZu2/EJCoJmMNJqRBa6bqBMvHH+ti/6on6glSX3QekZcIEGKt91EKxYU1TB3DPfGoywigmiTd i2ng2/s3j08Bjrg== 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 Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 191 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 191 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index f903cebf566be6b40f260d81a70cefa4858bc085..68c7a1ee0b0e43993d9e4f437de= f15bee771a364 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,13 @@ 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, + A7_PMU_NR_COUNTERS); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -546,6 +710,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); @@ -580,6 +749,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); @@ -625,6 +799,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); @@ -675,6 +854,17 @@ static int apple_pmu_init(struct arm_pmu *cpu_pmu, u32= nr_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"; @@ -724,6 +914,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 49C8828467C for ; Thu, 1 Jan 2026 09:03:06 +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=1767258187; cv=none; b=YqsSx2Sg1fKyP49UmguK8jzT1YPKzM/sCwjwaKXWSPP1rqg/ZbqgKMi8n5aqZs5mdddCRkQZ2QvyWX8E2/ZOtZDz5ZKh+1Rw/IhnnvnVF+q+YiMWJNrFolh0FkLKSOT/dOrsr1AhgFUXasFKiUZ7vtJYSBFJVTKUis7epgSKlIo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258187; c=relaxed/simple; bh=utwIbIun5N6ro7R2BVn23GQsh+IxQPMPqrtsXecbcGQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ADkf26Tv3AU56B8IA9nlOndwflSEWdU+6MIP1wS/iSRwmky1xhNoApTrokgli4fsOv9zInH3Kk7Q10BpPHPa30TAdpQdB1tp0j2oOjRwCFV4PyGzPK13DHNQuWU7iIcNwKSUBTxvpaLGkNYcHL9SlIr6LAPuMH2KGK5LUu4QPdk= 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=YEQ15l1k; 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="YEQ15l1k" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-7f0db5700b2so9851780b3a.0 for ; Thu, 01 Jan 2026 01:03:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258185; x=1767862985; 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=XaoiL5FANkEOVhoN0vN9Mr5fINQletooJki8aiNj0OI=; b=YEQ15l1kyhgUI0+cyiALvQl1M5cYEgLZnWLY5sFkYZJzZr1ohR7CzvuBXSlsirvg+w /2JEqaHApiU9oYWhU3Oso2s7GaKY2+s1xwIR5jLzh9tKhCCaf4bImBJZuKunpJ/GCELO TqO7McuI7ytsy7UvIp6C7hPn0XEg27VgvaapZmFpi6LOmBG1wZPICJVkyY3ijCucXEbi hUWey4TmLpa/LwFb3E/4GzyRbv9xe7RL8DU48vmD37BShSXV2ENh/aFukN6FdERfjLIE A/tLDVUfivNk33825pZsiLQy2cJBWK1a/Lqnc+Gd+XHYFvapJdn+n26A1+eOmzwZrN4N XcvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258185; x=1767862985; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=XaoiL5FANkEOVhoN0vN9Mr5fINQletooJki8aiNj0OI=; b=n0viFjA8vsdhkrSJwctH4kIUnufZI97qVPaqFIrj0q0pozB+NsV52SnZoj36Si20fA 4SEsIu3oqoRcdfvmsUlH6Dw/lZ0d5MmIsA+W/bjcTPX0VaewyDrK5CGjOhcTPIjNX8fd AfWe8/S+dTMTAqOZE/WPbMjtY6iQhelnePrA8sdP2VdLAioUD48Zgk+uXXFXQEJ/aYCh /kaQdZruBD/f80/LrWuIJhymYolCh4rrMn8HHx0zzXrG22q/W4MtWU5SZ1/uCq/Yq+78 sWXXhlsPiC4xsTqHeZ4kSBYfW7LRzT+UQd3i1qqW4C5cRHodqiiVky5fHx8eQYzRa0KV qLMQ== X-Forwarded-Encrypted: i=1; AJvYcCXibRTWkzbxk14kjz5Rj7JDDe41PFq1gXFH6ubWctrncPDMQh8vtSYnpAEVZjvvGTAv3zU+a+ANsQWzTCE=@vger.kernel.org X-Gm-Message-State: AOJu0YyV2lbIk92wj/OXwF+UrFBLLbHOk/7gfDO1jDAV6YVKP5i01SLI moIyQCsvpLndpRI1/9nXDYC1OpLwL4wnnt2yj45oDQ735zM3JVlFDnEU X-Gm-Gg: AY/fxX6j0veHhcHOo/fQfQjRAA3NvQU+aMlizoP2ySmrml/+TmurEB7XtaARwm2uVum 0qcL43Dlk+7Cniz7Z/0vqMkA4zB9QMBQx0yZa648d2aHpCDjKep2HWVSq54PfYdk992/APmlasm BEZw5m0PIiq4dYTZV1qydOxCQGbIl0CzJ7tejHbXRT7gvCiL1cVmzXOam6UCDFeCE5Eq4wp+9E+ G3DXSUhzgmTazlcw8FJYypna2bPIc22vU2+T1KlemaS7IW0nb58XI5Bf6Q1w4BJDbuamIMU8rCK H0xwxquRvFfH+3XJ3svpJJzlhXRfnYme+b+M8tu5lKsS9/VdzkMhS3cZNn1TQ7w82VJT5xYBx7J Jbqq5NsNISJWePFwvg7Je8UqGyrccrlhaaM/+r3gfBwSfD+YRO4AmEPUzEiWYTtmpRcRGrurxy2 aSz00ldO3BO0xc X-Google-Smtp-Source: AGHT+IHg73z9ZdqhaaDh3CFWLOHwdJ+u6aAXOPP2Y1lIFxCOEJU5nDwiMNigUZYDOE0ZU5Xv9lSdlw== X-Received: by 2002:a05:6a00:4006:b0:7e8:4398:b362 with SMTP id d2e1a72fcca58-7ff6667949dmr38762300b3a.53.1767258185508; Thu, 01 Jan 2026 01:03:05 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:05 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:45 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-9-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Ivaylo Ivanov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7366; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=utwIbIun5N6ro7R2BVn23GQsh+IxQPMPqrtsXecbcGQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgnmgstDKMPGJk4epobI3PHVgXcm1TSct178 V3vLY4487aJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JLSSD/oDyJ0hLnF8hfNSa6xEGqXpZWI6/ObRFmIm7Uuy0tShvcOQKqR8P43JAmutoSIZNoXSJfg Dode/uS1IcK9qYq3onJh1LaiDYduITwF6ayrt9DXcT4fqG2x5lkOQ86t1N8xrNnfk/irLrKxIYi zgllWpax0dnr6Xk0dWOYUTxIpUD4XnKlW+/UQQVbY9MxJ1FqSE0UbHJ2kbQ/8V55Ryzlg+qQZFV 1oEYtm9EVXjTuABtWUnrYvIp4agVe+Gv4ISuB9+Jv6j3rPf0goNUNRvpP3i+bqWha1TmPauT1uj CTF52TJwqYyimYRKh9VJjWvRfiBFO0gaj3zaXj7gpaVsMN6mPv5XPrcIhmenZyN2kRpDB86fNuH jOkoICZN6GQU7qFBv+bVpAz4sn1Rgoxvg21pDOXQ+UHZVqAZl0qAHPO8oEwVUnV4s1H0F2E0SjR 5ml0a7Xn0LWiw+dRrp79Ee8yyf3cufV5iWIGaIMEVBcYnSDcJsQ2TK1HRBgy9rezQec8SeNOFUZ WWkKEDM8Flvl0oBjjUHE0U258ubMtSLdk83nuGkqQ2wgs9XZljfZ7nOcvbxu8Ra0wd3Fy7N+D3Y voVbUaYPc6F77AszOhT1BtuGjoVbUy3Mf2od4fIGEcPU6uNwsbY2jwgOFKq71t8JHwbLbZxVF9X 9ATqqx1wfYppP+Q== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found on the Apple A8, A8X SoCs. Tested-by: Ivaylo Ivanov Signed-off-by: Nick Chan Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 125 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 125 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 68c7a1ee0b0e43993d9e4f437def15bee771a364..512b3186326b12627febd033886= 774ba44641846 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, @@ -686,6 +792,13 @@ static int a7_pmu_get_event_idx(struct pmu_hw_events *= cpuc, A7_PMU_NR_COUNTERS); } =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, + A7_PMU_NR_COUNTERS); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -865,6 +978,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"; @@ -914,6 +1038,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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.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 75C80284B25 for ; Thu, 1 Jan 2026 09:03:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258191; cv=none; b=napNz0JR78Wg1ebuJ7TK1/F7AtFHNwcyzgR/+nOxICfXTowL1Nk1xsuK3WkKuFbLi1q/fE0xBSlF8LnDMgGyA6E1ZTCKVEhppT5VthzEMrAogMoSYC0eai6JyqPMjZwA+SbI1DnNXiOi1hKh0YQpXMFoC/T49ieCvMk5wIMUuqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258191; c=relaxed/simple; bh=oVjy541ZBoiQRLhg3yJtDhlPYNwhomAgw5k8/id/+cE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ccg6IQAgt1dK+1yELh40zM8NuGlk9/zrqRiUIN6MOg8f6R+Dbw5coLFgui94U1sfYdTN4mNbGcGfVt/8GYowcipGY00H6t2ig6DVROYQBGras2PERdZCqzHm6w/FdB7riNW4IAGq8iyxV0kNJxOTNmbOADfoMfTquq4Q6OGYoCw= 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=cTbHNbWh; arc=none smtp.client-ip=209.85.214.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="cTbHNbWh" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2a0bb2f093aso114260965ad.3 for ; Thu, 01 Jan 2026 01:03:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258189; x=1767862989; 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=R9+piKMs9G1VmQiTpap3yj2Hp00XA4sCypGJ/MWdS5Q=; b=cTbHNbWhhRMaXwXHvclCx7RVfwPWlQiw1aDrbVnP9s7p6EmmaxlkmAItvMIfsL+dZ5 gMWUEIueITNA520FPZCOAi1u5pJyn3bbTGkd8DWGI9ni+s5UNhZRBk/hp4vN4cKNAshe jb0wNYAFlKKYsMllBk+wgwVSGvT/oQYfgYcObo+U7RkyMzF6j5XNThiEYv6kSbEmttdG 3Z9JP+O62Qxgjankknb0ZRlF8kC9ZtCeRPVIIL/0K91sxxRmPQ7ZBiQJIvHs0F0bi8iM +QJXnw41l2kfSIivXAmmUgAwMx+Adr7n9A+IlmSXyyMmyMsm5kGJZ2tjzHdIW+zsUdYs Q9sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258189; x=1767862989; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=R9+piKMs9G1VmQiTpap3yj2Hp00XA4sCypGJ/MWdS5Q=; b=KgXzFe8u+V4mt4BFTfRoGJ/M4vCQKfcfv4UHnFHw94oXUo3c46nFtlAFpL6hCvhSQX skg08onh1UYso9K2Kt69Pu7glQWTvFyRKHBU4ecZFn0wkwzKROCLJzza3fzREzXgB7Fz McCo1krgr+QBJUDUVuXCK0jF+jvK7pY4IDJroM+zQ/ppk6YuDwULzkffQCB9eWp5/sr8 P/Gj/kqQua7xG61akIOOPy8YDPEwiknfeRCiFE/ynXic46ROVL802ZGMW8ZkhkPPNzoo H9Mm3bvHYnlymPKNdRc9l+3dnUrXyhZzhoRdM7sKH09eDWO2+Iqtb9j9Yt/SocWNODMd G7Cg== X-Forwarded-Encrypted: i=1; AJvYcCVDXQGiBKektNWXHBtQUVejBLHz2Oai8VG1e7vzQj8Sq+itJ1z/zUE05Nt0o/osYUn+IF5XJJddpUgciqg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0FKPRcCrwR0fl9Ad6itWurMdadNgZYNlsY6hZ1zokdkPNFBi4 Oi1UJa+us3aqrA2RDmBwsy3eRCDHoHe0Cbvo3DD4UWsI4yZIb8h9LSm8C2l0Vg== X-Gm-Gg: AY/fxX7bhjYfkiaP6o/8Bygzx3bXFQMrogaE88IwyoVJ7NiQDA/SBjCE0wI28fUjZ6x nsgzcbaZ7plzHAd1esfXLx7SejYo8Sq182PcqnZY6qoDmJ1c1icHjWDMxV+Vet3pP7FLkRASviM LMhY/nyRcphcdFMIowVmHl3AXNn/61eyE7VSWsScj5ZY8hQiP5YPw7MlpLZA8QPYIg9SrFvHdRo tKuyoQHajMUQd0N96ZdLIEWhyTCoWi7wfSrEp6PVEDcIa196OSCT7wqtNT6euRSnuThsvNBtU7y 4Jn34JTl0+C3XJ1UFviT5tdoM0OMyZxb7a+SSOgkpM49VQ3kuW7rC7WTaFKGcty/ZLmMX6ASt9w pKyqyNmHHXdYmIToTrNZn1i5jJ3rULnKnJu0ES0v14tIR9YK3+7jCzF7c/BQl8EP8sKPzox13tB vx4zwsTGMvqTJ8 X-Google-Smtp-Source: AGHT+IG5e2xC8neFWXScdjmBlYktxqiTkUekJYUnYqefzLOE2TQp1Vdct7IJHfwRyqzlQJMS2iUOMw== X-Received: by 2002:a17:902:ecc8:b0:2a0:a4b7:44af with SMTP id d9443c01a7336-2a2f232bb66mr312113185ad.26.1767258188670; Thu, 01 Jan 2026 01:03:08 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:08 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:46 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-10-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7154; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=oVjy541ZBoiQRLhg3yJtDhlPYNwhomAgw5k8/id/+cE=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgncoCTt+ciC+1PLUm11mFFPV2nA2i1R1w9X lHzlgeHgVqJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JHY9D/0aADWM1apo1lxJlfin56ZAnvAD6UHgG7mD8ziOpcxv8mesbSBVwmQZD4VWk5YUs0RISS2 tuuCSHFw+//wZFa59pV9TLuKV+5tPif2pXdBFCyK0OMBN2VTNBJA/fGID4ntnA2f/UObT0Iau2D eY1t1fMxdweyfmahdw7EkbMSqXRlLeINMOYSSby/egqFsWa6QxZHyzLav9/Vt7nCfjCjJqu2x56 6VzBM20Hy4y+oVVhnoBkI6vHbr8o4zNfFwPpPk6ZDVUrsv4qCye1ikCj/93zxM15jC/zgMGU5DQ b4Xp7tMfIOhEiFfLBOm+2bRzeHOCkeRCKl7ab60QhyI1d8eAEGwkkkpzTq0rMAB+mL0mlbhyTi9 LjL9z1lt0Bz+6I0giYbQEUGbSUkz1WUgcbOGGMHO8lf7uD7ku6jeV6zqN8ys71jx0TyMAB67ZIJ 9G94S6EdNlVlQEjHujrVUCi2XC7YL9o/6E55zs12esFI8RvilElHuHEKeSO+TZc2krohy3dJCLN DBhlgqHyHdRTfx1Jq7onXJ5R3m/VOaMVrHQvE5k1Q/z+e/nJwIy29iWfQKWq2KZguIjSqORHAmP GrFPw6uVCE62KxcCbAHDUjFcXX6LlzeU3LMgeqtFlm8SMinaGCksqow3Xr2tXIIs2uOr+06un1X kPMLPXOrdCJOLGg== 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 Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 126 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 126 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index 512b3186326b12627febd033886774ba44641846..fbf13e1ab5c0b61f60a1bcf1e66= cb179ae7dc809 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -289,6 +289,113 @@ 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_A32 =3D 0x8a, + A9_PMU_PERFCTR_INST_T32 =3D 0x8b, + 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_A32] =3D BIT(7), + [A9_PMU_PERFCTR_INST_T32] =3D BIT(7), + [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, @@ -799,6 +906,13 @@ static int a8_pmu_get_event_idx(struct pmu_hw_events *= cpuc, A7_PMU_NR_COUNTERS); } =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, + A7_PMU_NR_COUNTERS); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -989,6 +1103,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"; @@ -1038,6 +1163,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 9CD59281520 for ; Thu, 1 Jan 2026 09:03:13 +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=1767258195; cv=none; b=F4Kr4SAfDUesbhRHV4zodvT4W7jPEhJdjO8WsJFSAPbYJ2rtZjyC5eRm3C00ddYD1Kz5thZOmk83ZvXT33Oj5xMlBqfI+H/m1iVsRBUFVKL73kNIN9XHot8H9nQkf5Oy4GeyNTkuj7mQVljey+92fvpIyMPxLEYyCnVt7u+CmPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258195; c=relaxed/simple; bh=VqOfkvnWdJPxGjxunpwfooH+qoS3ri5kRaFGmFxBEXc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gePFhpk2Zjk5G1Sq8Tyr0MSelTOV+Pg7MtvoRO777Wl/ii3KDDzL1AaY/TStS67cRgs9qW9Iaik7+Kx/1bsR6cA2UjAaweLundi0ciMy2JFDWTpx7D6j2htuKaDknLYgBhr4gU6pgdUT59gSk5r3jHEqbMjI73P7GdCE7jOKqsc= 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=TUqlx2nV; 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="TUqlx2nV" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-7aab061e7cbso15255775b3a.1 for ; Thu, 01 Jan 2026 01:03:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258193; x=1767862993; 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=ITNKwr0Fq2DWp5/ZJzKCNPbz5fBf8B/FxwtcPPeYXx4=; b=TUqlx2nV7yQnFmuo8+DlNvIg7izTCHL7dG/IGoopCYW6iqtNEelsgiMzfqSUzF9/W8 xWOR5NcRxe2Z79vELFnaGdqDPGlt95be+D5wxM8eWnsKwxjiAf0sSAPc6Km5Gtsh98Zp NKAdtZgBe/c45uZPXvxOJ1sMKa43GArjiElDqQR/C71SkKAtx7xgUCPkqsmbgf409FR7 FFbtsEQL6ezRCi+vEfX68Uyb8lPyrLrgf/0p2e5xaHmxZRvbncuc2KxiM88X4w9s67/p zxSEuEYICfreS6xmzaBhV0o4rcr3GulsstP9AoUUYA7msuDgpdd0+SzT/HlbCqzs2EnX iBGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258193; x=1767862993; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ITNKwr0Fq2DWp5/ZJzKCNPbz5fBf8B/FxwtcPPeYXx4=; b=o+h/2qeDrisrB2AQekFonmYtXcptL58Th95UGoN/y2M90g3cPirVzBn1yB/1IdGIzD azHM4Y+zb8vuYXDvCr34q3jsmfIylihCyapfBm8sXRIK4FpSoxocYpMnRb/mnF2Z7Rmq w6COaBQQn/Tqa7O/+Mpk0W0T9zDhCiCT5mNOGIXuiNEfe5s3dDwFNCp90+hYuoB+YUrg nYOGu6tQVFNphtAJ20YOBQLFeaE67twTkaIe2vlQaksfnWXbPIKBXaCwZG2Gg0gdb6Yz tqUiVAPxt7uQYN+T9pGEArm0gVANS5MN+/X/Vk7mCLTjsiCaHcKTzUyVOfBtv6Lw92Zb 3Ylw== X-Forwarded-Encrypted: i=1; AJvYcCVMrmPhBkNlahG5qN94FJYO61widunvw58X4G44VUstatps60Gp7GO1sUcvwQA397X52+dKv9fE8HKaapI=@vger.kernel.org X-Gm-Message-State: AOJu0Yyq6SmIRxx71lZhw75G+AzC5dSO6AHLfv9cwHsbePeDrdcFRjmb GfkOJPD/bL76c0tvE7E7A9fQI11ODUvJDPYfO5UuuHlCRAbUa24SRZKN X-Gm-Gg: AY/fxX4++9yg8rBO4Kjz5eHqWyvuwpY8bMX0lcU3kIMrPV2qzRvfYlqgSZtWp2aRtMB SywNIIzlU/3Aqe9PifG9TKyTJqEBHCeFFm6WBQNI99VQBlSkWOhy1DA2eLS+YxSuMLGssMaFyix 2wBomKDA3QV+lzXs1ly+QXQjyKSq+Ilji0RrfHt1WAQgfiMtDo77L7oqz0Rqcwm24WN329Y1X2c LvKckyvHoO+0JXkEJQkCyT/bWd//ZkBl2uQ72jWOSuHGNt1YoH0TJKyHDEb8GvmH8YFrLkgaqqC bNj9KQ7qMKiF/vSnpwbihe08ziFKe9m9Hxm5wuDzDd86WPsvvow0CJgrb72KbvTbN/SFeiCw0N1 Upf79MaGCxohDZ2SqvTjJPKCfQOZIQRo5BKGv73H8iP8/XFHwbbR+ByUURndewHW9Mv0TISVdyx ARbj3kgd48k86s X-Google-Smtp-Source: AGHT+IEXo5bjJtM4dwbNvi9eszTEYzcviVlu2NYbyl24UJiZza/WU6l4rpN5oj9UEuoo71gknV5TOA== X-Received: by 2002:a05:6a00:1c90:b0:7e8:4433:8fa5 with SMTP id d2e1a72fcca58-7ff6607e860mr31857656b3a.45.1767258191947; Thu, 01 Jan 2026 01:03:11 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:11 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:47 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-11-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan , Ivaylo Ivanov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7694; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=VqOfkvnWdJPxGjxunpwfooH+qoS3ri5kRaFGmFxBEXc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgn7dpsngZUXweiTksre4ZTUENne6DyWPmKR kifN1NAQayJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4JwAKCRABygi3psUI JHpMD/45W1XGzOKaW38GMBTSQEkIs89LfMdknFVnxx9Dv5kmE1mqaGCbJi5rJeX3hqtoySo45zR UsCWEXDAZ+EKwDHgiaIDTGPdJZV/wZXTEi8wqM+jODiTpQ0ejlaymV27xWQwwga0uG4FCn6vxjr BMESpF0ELOp9Dc+z8jiEnikCV85LKGb/NSjbuA7+ZCpBj6+SXcmqVST9Ejhr2sCCTEoBS+0nwmf ZeSeSybqxbns2CAJlo8qKU3XwfqFr4iRHzSZX55MDJyreMra7ntFVaWI4bq9Ud+ZoHFeQJnFe7G qXi5R3Fb4xQb/9s3AkzvtU4++0qfJOc24uRjNp+aUwRaYcLREKmT9ehcsiIWUUAr3yCZmZEMjqA /zPSCGhn6HKs/jV8GpNCdTDkL31JWPtf8mjaY8PaFa/nEv+BjiG8JaHFs4cD1jvzGwQ0ZIDRNyI gkcMjEMS7sg4hcWW2KnhOUCw+ffC97JRJ9PrRqIBpO/Xu4tu/FCZq+ZCxvKZ/iGmRhBQtd/Ardt 1dEkIcwLi8HWsbXZKlG1ZDS31JJW+Grv8bsFwX6ieZcw38xw8SdXjh8jiYeiIOXwM2ChNAx7C6F Dzw+c8B3x0mRDmKw0qHZQXaNgrowK+8RvRrfINiMVUxza/CQ7eyC6HCTZU40Urgs2Xeq/RFJCcV yAot+ezEi6IM8gg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for the CPU PMU found in the Apple A10, A10X, T2 SoCs. Tested-by: Ivaylo Ivanov Signed-off-by: Nick Chan Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 132 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 132 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index fbf13e1ab5c0b61f60a1bcf1e66cb179ae7dc809..c7f58f53a5aab5cf421c5bda82e= 57acac9b92a81 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -396,6 +396,119 @@ 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_A32 =3D 0x8a, + A10_PMU_PERFCTR_INST_T32 =3D 0x8b, + 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_A32] =3D BIT(7), + [A10_PMU_PERFCTR_INST_T32] =3D BIT(7), + [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, @@ -913,6 +1026,13 @@ static int a9_pmu_get_event_idx(struct pmu_hw_events = *cpuc, A7_PMU_NR_COUNTERS); } =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, + M1_PMU_NR_COUNTERS); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -1114,6 +1234,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"; @@ -1163,6 +1294,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 BEF51749C for ; Thu, 1 Jan 2026 09:03:15 +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=1767258197; cv=none; b=gnvtu/MfONu17Ookus2U0iyt7+DQRDg3fPz5qthVI2jIb5QGVpYvFrpN3CcdcCQ2k/xqt43XmKUesbITaLCSzjRMGuMCUgVouC1DU/LKGV6Itg1yo8vhgKZgybI3/GSIzPRetPlyyJ03vrnb9hNlJ0KRdNayIK2mqmyYztN7QK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258197; c=relaxed/simple; bh=x0Cq2iz5KjiCkyeJ7YF8BxUETaGjpABGcg5ZPiVTUOA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qjq7qtBcfyKBDTGoLVp+4T9/g1eneF1t8dsO7GwdBldPQGrx8zc096o1qEsqGUVHUaUNowe2IzZr4sXpgDeevNfA5YW9QwReD3fM1olBaqk3z4A7fJ51bOne/pdmN6yLX2k6RD9IuNi9QOTh9sHODHiE9GVCbE3f9EThyQyJN6Q= 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=RysTgo0M; 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="RysTgo0M" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-7b9c17dd591so9647365b3a.3 for ; Thu, 01 Jan 2026 01:03:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258195; x=1767862995; 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=Y/MCZJZdSCnmXMnq5tn+XRZReSP8mv4rySs4OgIA3WA=; b=RysTgo0MM1qP7qGvwSbR7cDx9viMo88Yk9vz4e0C5I31NQEpDVyPrzl50tmXtxQMcE bsVNCFOke4tt1SGu5dXylzwW+BWoK7WECsj+6NYHZU6Z3FOM30obizjtws9R/RzrNcEq SnfgJN70YKXikHmxn5jDs7z28ISjeeyVa/e3TQ8E3MnabyEDhC1mshQ2J+FOeHlt4prz 9CExoNO0ZcA11CLs6FNR3jDrCHmv/lQeQDbIBD5VxTMK7buhnkEPgvP6AxBfmOjfUE7g Oe01AERhEaj2R5ImCJr3LkxZtYdYj4atf1oIlx4uZPzqUVJHUZ2BRvx82v1X7D+irN+n lZCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258195; x=1767862995; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Y/MCZJZdSCnmXMnq5tn+XRZReSP8mv4rySs4OgIA3WA=; b=De/NCvnm0V00C3mWsaM3ZoIGvT1unt6AawZdtM0KRyr9VK/XFXr2zDhJKa3FVk7ymc h+Jnh+ph2Qn7uThgHY6xESQx9aP2JCNXqFZjHSEzVBVLFterJ50DA8PlfrErnmNyAiN5 X3as07p3Wne9rHA+jLxE/C7S46V3U2oDRCRgAfwXFnkpJcW3gzzfY0jt9SsNBrJf2QsH mT5XoqoSwXFXfbmnGNi/kI13Q8905AinL0NAtU+s6PiDl/Vv4TWBkbmslaId1bJFwGgo Nc/6vXnhADXiyuVIiRlabRgPT0jYhuZtDecdJFaiN6J0cxRzc0a/v5WVuOTMjD5CjpKg Iupw== X-Forwarded-Encrypted: i=1; AJvYcCXH3yJD4rndweD7s694NHN2j+mjApdRV9KVRrMd5JjkKbctW2OaldFH/fMwa4YWasInHCI2yApey868i6o=@vger.kernel.org X-Gm-Message-State: AOJu0YzoxxyewGDPrLdleo2LUc7YhFWDIn+lg4jP3st2E1yY/ziDT12r O5ThfRYvowQa686RKQqRCHiKXCBy8mmXgy1p2aRuQkCcsVmjpPsE4eXt X-Gm-Gg: AY/fxX6XzblnIG/0ga41lBIAChlgzGJk8mLESnHGotsJlj5Htx6LWm4bqk8c7iMNr/+ IAJgZ4MXKLtnmVBtUeP+rUETnMYctDLmE1ktbfy4QijopTx2ckgM0jqQ6ZN7w4utlACXMv/GSaT SbXV7A6dJ9UAS7I7jM570UwyB3pUqO6qtp5noCvNvNU4faGaKGDuZve168dyo+Q7G+GGhRxgMHy Dd2WpD60Usqt+1hL8t4mScKlDArtYE8z0Illccy5DqLAa+3uawc1sj/P1dIYeJ/7mB1ARFlMqwx E3OF1SAOVCZ9+QCAvVAXmjN/URcGCOcEgL1cd9dujbqmEYeQ/oz1D16nfNTfdlUXS4y9qPZxzsm TxQmdoLe0qAE4oe6rPZyeErKUpEynGoETICgX/d5Uy8snQ0ldltLFZBxSY9RiSwmcI44lg81zss fDTHFV/EEywzGn X-Google-Smtp-Source: AGHT+IFPbMrtQ8L75en86FOgy1+ozYTQh8z4gOoC4ANwDEDFoyox1rgTrNTjsGtbnK26pa2nvdXe+g== X-Received: by 2002:a05:6a00:3285:b0:781:2740:11b2 with SMTP id d2e1a72fcca58-7ff648e61aemr37085450b3a.25.1767258195090; Thu, 01 Jan 2026 01:03:15 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:14 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:48 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-12-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7908; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=x0Cq2iz5KjiCkyeJ7YF8BxUETaGjpABGcg5ZPiVTUOA=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgo05Q8bvLxJVWQ3+PICPel0cx2rwTCZvbSM 7spF9Z+kjWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JKXPD/0a6VER715ut88ocHJj+ZA3cUb1qjvNI1vPsQHZxuEG9UaQ0OUukgod1bPL7NdPclDtZ04 RHKa3/WyeXJiREwrYyBVuvO4DWVv440uX2oPJBAVWn5HPOab98+HJ5/w3z+RhEit8f/IWBlTfA+ KN0JH3PiS4w6PXJV4EsTaGlvtW/lKNn7ztx7v81Yggg671aDjsnQ1hs2ADtO4p7GcwU9zKDxjUE O05AvyUtV8irMXR/k3JIe0/+vIUKY6BAIvE35BFNTV1TJDXqdgyUZurbhEsVFXHb6n3zcS9WdCw VYh/Ptwl7Qy8M4+bCg6zdOd+r8vmhD91JsWeUKThMGhUR5opPHwckcXatxKev6D9q0BsdYqJMKG OfNlbWGwNJQ13yxXTDan4DO0MkinZekDipdqOhuQ/ZeS4fIXQqh3W20XynJxBAbNxiWvbCp/IRq 4VO1ybZWant2/TbvPfmObZVmodVVXxuhMlD0l2EHOIcPDpLd8j+USIDF5HUvi4pjw4jo49+pL6R 07L2BxOgXUBotM0zlaYRMWdJoajJsNDw2v/SAo8sJtd2G/sxEMdcoOXHrsoJ6iA8rDFTxfLOY9X ZrFpqwajXKWIKgq9lsyEYOGxu8D0JlZm1IR5Rau4HECeTJ8F870RMkPK7mEkKKmvNW2Aevfuf5l jMtXOKlbWDHd8zQ== 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 Acked-by: Neal Gompa --- drivers/perf/apple_m1_cpu_pmu.c | 136 ++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 136 insertions(+) diff --git a/drivers/perf/apple_m1_cpu_pmu.c b/drivers/perf/apple_m1_cpu_pm= u.c index c7f58f53a5aab5cf421c5bda82e57acac9b92a81..23cff6e6c4e701b086ffc7fafd7= 2e4be1aa26a8f 100644 --- a/drivers/perf/apple_m1_cpu_pmu.c +++ b/drivers/perf/apple_m1_cpu_pmu.c @@ -509,6 +509,111 @@ 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_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, @@ -1033,6 +1138,13 @@ static int a10_pmu_get_event_idx(struct pmu_hw_event= s *cpuc, M1_PMU_NR_COUNTERS); } =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, + M1_PMU_NR_COUNTERS); +} + static int m1_pmu_get_event_idx(struct pmu_hw_events *cpuc, struct perf_event *event) { @@ -1245,6 +1357,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"; @@ -1294,6 +1428,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 D1DCF28688C for ; Thu, 1 Jan 2026 09:03:19 +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=1767258201; cv=none; b=AibnAupTkYaJOP72daPyQmvHn7p/h0m4TRHmQy785yUW24eKdGcbSiu0WhGvhO2jmkpwJ4MaMJPsis9QrBSRpqvcn0ZzX1MnoVBihXr0oyWXwtHqJwdFa+5yMpnbq3BjZqjGLgZPDsvIyxoWeYAD4GZC4/yJkaWmDE30/1fZWKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258201; c=relaxed/simple; bh=6LjbldlF3OoWMCnhY7fHqRvAfCOGSBQ1ExvFhoCzNxY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P507GsTupoxan54uVpbn/CeyucLFYksmlBiUCDIPywqkp4mkyek8cU7AwCYqVmr7ZBdYj6+ywHrjOdVAtwdKIp9df6UjW/Pk2JlUrt8rLN2HBkMqpOulNFlCjWtXRtmlpTtBhy6c53OUL7KFHVKXd8y6u8+NY6rwMlNQ6A8/+00= 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=Y5aeAeWN; 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="Y5aeAeWN" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-7bb710d1d1dso16086335b3a.1 for ; Thu, 01 Jan 2026 01:03:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258199; x=1767862999; 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=yx92mpsjRydjbKNezVplOe9ZgSTsezLCchII9GIIrGo=; b=Y5aeAeWNtpsR43312Q30o+xdpEJYFjFQWSg7ThyrJxe5v5JidS+01ojwrro61l03yR rO9jOWHL57hGz8hC/9vRXZSThgYtmhvspLvGfa4X8AiE2OcN2lU6AorC2woOcsZJx1H4 zUs/B4hsV5WNfdMfcdEuSq8CQ+L1dREVEJQ9AUTxo1hfZ72j1MSudcm9SC4LMkvJXPYe O5QSuG93teuuoaPUF9SBczUN9099hWSQnolIQ4I1qSHAzy385kBBQSUENAfJtymavPWQ YTReBHEXcr5L8T60iXYKyyPJEe7SGEwzD24M4CkgO5A3/beycWSu/6i0XQticgI+EaiH WxsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258199; x=1767862999; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yx92mpsjRydjbKNezVplOe9ZgSTsezLCchII9GIIrGo=; b=eD1xOVwoId5ILAb5zTai253Bnxtz9CJJer0DVIEPvgn2jB3R7AAvFVGvY0rdH9bujg 1qkpZ2AvIP7Xyk27FjTfH1qi2cq2G3LXhArdd3YiMkdmrpRRza8KQDrz6xh3/ffeM7rH d/npSuCtpupki7qHapBFHgnvS4ivbNpVgSdP1EN1Wyyg5fEhJdpxDmuqmlPzePypElXQ zskpZun2LUQNefDAkOrNLWWwEnnw+W8kJcwH9KRw6PU+XnrR35bDWvQSPFRDWhnxS8XM 0H6Avix27fHn8aO+b5hOKnqQTw55tsJf6SjkOwy8GbChY4oJCBFmmo66pC94/97SeIMx 0Tng== X-Forwarded-Encrypted: i=1; AJvYcCUgm+Z3dzh19zgBvt+BzSTSBwCv26NPCcVmCN3HkuJUXMCY9O0nGfn5tge24A99v989pUP3Dd9IHmKbUq0=@vger.kernel.org X-Gm-Message-State: AOJu0Yxf8BLEcA5h16Ops2kBo09WUvj/MP4we4ApT06U1ujtJED+ThiQ Fy4HthwXbTWGcR6bt1wLQIqEzhzHSnE+xjbRyHzTqBrsCszPACw17YFl X-Gm-Gg: AY/fxX59YFCxaFjGOmWrgMVCB0uWnUnHDUi7hgZUO0NGV6VvPDN7htZlw73D58kcP2V 4PmSJQoFrcV8SnNVFTOHcsSn+v3EJ4s44ebz90tfl3Xpd1s6TxKbjZ4xB0v29ukXYv8FGLE7Ahs dEPvqidHR9j7GdQ+HVPMAVHzHx1w3hhM8DEw/8V0wuzO42jx4tF+j5ztOaViMu+YXiZjTyMXz9Y ffmdP4RUCI/LhOIA33JYsybqn5sZ+bELc3HdSeUtIw6XoqAWihnkHSPCINzDjAfllsubz3nfcxc Kvq0jyBe92U8DfLU30Bs9Or6VL2p8FJcxDIWJ3+GpoDgEO2mgbV3Nq5N21lQJUdcvH4moG403Tp MxoRwVTPOZeEpgHg6KIYJ6p485hwkOiyBsU98RkxukncWZANMfQv7DQA3BrAbe+Svuy0wdIQaGh SSTKPDzWKCJcm+ X-Google-Smtp-Source: AGHT+IHXyupRiKKKb/4zoV1JNUxwD3K40/cUxyX9Y3ajY/gxIhNiwbzT7FWVFkk23aFojsc3KZwObw== X-Received: by 2002:a05:6a00:3016:b0:7af:19bc:ca71 with SMTP id d2e1a72fcca58-7ff64dcdacfmr33662579b3a.19.1767258199200; Thu, 01 Jan 2026 01:03:19 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:18 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:49 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-13-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=914; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=6LjbldlF3OoWMCnhY7fHqRvAfCOGSBQ1ExvFhoCzNxY=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgoYJSa3RInwv5nD+sjZTycFbc7veNNrVV2u Q9bgE3qS4uJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JDV1D/4qSa+sm02aX09GOAHOuuJpgNky+qBCXNLWI1+AcOBN9LiZpYQ+Fr90I8D97ZQblOanbo4 Bm5YkCE191yV0uwSprrmzRCbfOCtbF+/YQWJaANV5VvkXpQ4CNiC5svCuQOWUDd1h5AjoE9vp2R +RDzd852r7hJf2NDv75NIU1oLo987J3afoAJ6l/jhq4vO3CUsOKFUrPUXA0Kq9MF0uRZSwj34WV 8LI4nH41oOLLGiGP5hEJlHJZmum8gKhRRs0N4OH66OhdsWjdDqfV+zOk1/E0kBCWmCuZNQ0KBcr dw68Y5w3EWMaIuDZj7dBeJQdDqojMLrQnBMe/9mT9ITUjwYb/2DheKcn7EnzWZDC8nSHtDEIviq kQbuSGcKst3sOXRYpUr0W5KpfgJqTVQk1XLbjwpzHg1mNM6U+EsWXmB9+nDFmVAQ2dj6KmGMeXw dRQIGucMqE9rV1rB40KBG+ieJF9X5lA1TkyF45Qlzn67TRGBr64Jd0fzbnqDtBtuvxGiY/MUdMb WO+Rd2rbV9XmSgoC+xUz0krZSKIx0FCehBMT5nZLLf9m5bc0ni/m090vXq4ZTjZc6LImlcQty7C SjnuDbsMj0gt9FooHtsPHqClPaixtwRkrEhQpm5aXqjOdN35zG092nyc4k19xGPHjn2DftgrEhH SPQGCU9hqN5jfXQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A7 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 462ffdd348fc893d8e1d597b11d063dc5f88bdf3..d7a9cf1bb4911805a946d64e589= 2c1fe4b832186 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi @@ -227,6 +227,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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38FCD2868AD for ; Thu, 1 Jan 2026 09:03:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258205; cv=none; b=jzOXH6sByHZyknoz1McJ7PVUCliOime+sQjCZVlCJZEyh3CGiOcDNbnjGEaPX7PyQmLL6arizZhzMqdAjgijVVBcRawfzVrsMlVmdnf+8VqE8EYh3qULW7MIkl5lo8KUK1M34+GAIul/2FHID8tGYpIv2nf/g7iR8tYlmUvbvsA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258205; c=relaxed/simple; bh=xASpZevNHcaVzYbv63kfOr+Ypk6TFwui56ogxDHDMcc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PrF5T1fOWnMRJ0ozmCpm5P1iTRkzQB1WiTMopBba/AIVUrkyp9fv7Nyh/GghEwasR2JNLDkblh3Zom7zhkFpiON2HbVQWCTMYm7rSjqohzdz6LK8O3O758lIAyhI8cuPxkNbydg0Z2ATcYwriLdE8HXs6GOsVSfiQXxXIKKRdI8= 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=H1cu3A4W; arc=none smtp.client-ip=209.85.210.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="H1cu3A4W" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-7ba55660769so8781442b3a.1 for ; Thu, 01 Jan 2026 01:03:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258202; x=1767863002; 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=G5cND4kPk2t5DX6paIOqq4zpW3qf1DLe+UW4i1yJRWA=; b=H1cu3A4W8dxEp6oL9s1O1JbB2dus7ag68wobZb2/v1ttlpgUhobGPUyA15WiqR2r4u QZxE1oMg6Vvw75Kfqse/Mn5xKv+sjIXA5tWFpYhGIfv/I0CikTkDoC+fZDreVKP5HOpP kZmYb31BapF+C3fUzKC+7tGhmr3zzX2MR4/Ag6T7Xpm/7yva1HHiJoaMPDnmvcF4Iwev WSNHYhnw+9MXLVYGupgH47GuNSlh9W+w4DWMst95BXJlAaS8yZ8v1oNoGnxUhbwahra8 S/7b/fIvTrmx4eR/I250nPgonFcPk4jeE3AOy2xgnKj6/AMMmpSRzIHfKuxIe/Zg8kMC WW9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258202; x=1767863002; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=G5cND4kPk2t5DX6paIOqq4zpW3qf1DLe+UW4i1yJRWA=; b=cf7DsjDDKBom5c4iTEcdKceEgnFmYCYI8yJeWYkQESdkPqMlloB+ik8TuffL4YM0J4 XQaSRFQJMfeSfWty8U/RpWP+Ib+my0oEBY8Q8FVFygowrJbCGHFrJAySzM4Nn2uVJ/2e 5SQGCn61DaU0OCgERWL7mS5Opyzv+hRiu98MEEoJwKFDiOmj09EwiV5HKKoOptsMhuRm /khbgyMyPMuXMqBJ5elticfrCEjWSEPjkbeX9J/9Int0ADDueweGStWkZIidoNryyneN h1DtSuWBbBFEEuvu1xmzuuvld0T9XmjLbJ9fzOvoPpAdjNZkdEGfRH3/OkycR0396E/a 2anw== X-Forwarded-Encrypted: i=1; AJvYcCWGdDuzGjyeJnQF2KgtPR6p3Q5WmMrLk+aPBaQjm/TXIe+AHoIHKc1vAZkQwUnMcjeQyC4v9yGljdyyBqI=@vger.kernel.org X-Gm-Message-State: AOJu0YwRy0GyTODvHhhzfnQVjvx1mW4DcEC/frw0dfOPxZ3VTiuh4e2W YJ98ejZEJAoMUIf9qPrqIkHbHRQRXSTv6NwHT7+NUrE5NUblh2DRPNPq X-Gm-Gg: AY/fxX74lSdeEvFbOYuEUSLh9aFJnxd4xULB/24kSKAKiI84oOpA+MPbba6kAHApIlT rWYNOFexpvH01LYfeJHCO76/Kqhcq4BzkUMEW+W/xG075lUpuXFc9GEiuI9k7peUi3LIqldCNa4 hGhlcs6iZoFo5jWxE1j0xshdfmDHbyoLQMp0n9OleTF01QUWKSr+9bVPMCSPtCmXskRoxHDSXYs HMOAsJKs6w1wnp2VXCpJs2WQs99I9Iah9da0JG2hkeFhYbZLMDn2Hv0T7FKoa0SQj04DrX66+Y6 dUI2cOiuiVuachFsvlepdlQgUfcjZfcZnO5o755h+s6hRZULj9uHL5GD2XY/ntuX8xKG52TNV6T un6zOqFUK574axn6VSgXLDgwvkUGkNOf70lKhBQhvWYKdxXhv5jumX0MbEpOtdPRYydRy2wxeli IghkgM8xE1Q64W X-Google-Smtp-Source: AGHT+IEmHAcWqnpliva3OuZtHZc4HbdIYtIJNUaBfJ0BdwokwtWmkHAr4ksqGBIwXlgYOW6W79PJfg== X-Received: by 2002:a05:6a00:6087:b0:7e8:4471:8d4 with SMTP id d2e1a72fcca58-7ff66872056mr35885583b3a.53.1767258202305; Thu, 01 Jan 2026 01:03:22 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:21 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:50 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-14-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=894; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=xASpZevNHcaVzYbv63kfOr+Ypk6TFwui56ogxDHDMcc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgo4ZMseGjapzGmuJSYJ6+DsYX+adysnVIeG 8wqHU2nL5qJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JJQXD/9S0XPtF0kKMXxI/Q1LjACD3cbRZIY7t5AFolcJGp/jRItTNlBaDdLEbVOMPeEFRwkfZGl y/Gcp7mY/nlXElyZHrT1KIq9A1lQCQV8VF77jZIa9dmR7iWIhHdRr9WWzwi2ytX/T6NrdIkXCaf 5wK9E3IFiaKNVRy2AYIw9dqbHy4DSuf8t8KYgAgnpdxis7MXLLas2ticMEGBg7lM4t9exuez/e5 SmwiDxEYrhDAeaAkX66as039lAo8P8cCJovbLlbl9ULGIFN4HsyF2I/x/oKKRCgO+ZynQqASVEg AXYs/6qVorx1emzksduBpbNOZIcDHf6HhlVJyO6IGpzzs/F2rACsyObHX+Ik3vZx/3m8JvVetYz YLYTpgt12HqC3lVj+XUT774nqmD4uaaZ6uMf+e+hr8oasL+GEoGEQurvFGRTSLGCwjFiMT4X66u pgZo5c/rAwrji+CTfKCNIat6nwvXSfTI7Nvu5+IgTtsvodPxxKms27+eHFGr0AF0rsmQqgaHFul KHvqbOoCCgHYB+8vlmkBkmhHRIHZTLuxcpMHILBivcAs1Hmo5BY+csQwIVjxe3czOQZ/S/Z4Ruw H/OAgJskUPMX0VsiGeshmsFY9tTD+sn1qy5A8Ej/EFUxBmoIssfosdl2t1tbREfK0fSg+46FP0T iTyEsqwcmghVyLQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A8 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 0342455d344474d34f7924a089bf5f5915e68d55..a416cf8204173d4e45eb7baab42= 302eefd0e55ab 100644 --- a/arch/arm64/boot/dts/apple/t7000.dtsi +++ b/arch/arm64/boot/dts/apple/t7000.dtsi @@ -282,6 +282,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 ED791285CB2 for ; Thu, 1 Jan 2026 09:03:26 +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=1767258208; cv=none; b=GD1zM1/MkTh6ZDZQE01r3zaid1Gx4nBrCbImj3vSAEfm8wL2hlajMAG7ZLHSfg7SbgdgpXE6j8gNAhauEOH6lvmH6zD7Chen4UJ0xii+GFOal9IVwFCHAqzVTiqisdaaLGlAKcTSZg/1m5BwygrLhOS5MCCBeCilVjmfPWyTgc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258208; c=relaxed/simple; bh=8i2WC0AFNRoAyJx9LwHHLdlMc3fQP5/vwmujapLLxro=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XTbSrtYhkFdmiIV2IwmFZ13oKKm+yEWuX0Sg3jiGep96atjGFwkJOhfq2lZaw11AvLVQ67dfIOmrNQJx91jg4KE8EKVd32bhLmlYc+5V39W0pnb33Hr2BvJacCOQpedc5jCxQLrm4pdKPZwNijQgACmPizN09sapAnZFAMOLKGE= 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=jkjH0zRV; 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="jkjH0zRV" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-7aab7623f42so12557448b3a.2 for ; Thu, 01 Jan 2026 01:03:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258206; x=1767863006; 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=vgzrS6iAvFIUlLKBejM9CRNPYbscxZNKJWP8/12+9Yg=; b=jkjH0zRVD3KZv8oTxvB3l0OFkgGXYSIz/d2NnCHUNU1tZFhL4m0phmqAI2++a+VujR dffHQ3Bn3g760guz2UDqLgALzzapfDxS1XqZ46P6dkpjz0emhfCucojFVtZFsfFE3iUd O2fj/IXqu2ekjJ24a5uKP8xVhXMmhdxXzBYHUXw8sWLYJOkSxuMMhV+T+NPcq4Ff8Gvh 7DGh2oU7Plt592ZqvQW+hneaDyuK0C4NESwL7LiX6EedrrotmqZbJj54V6Dl5vslG9O1 QmFCCfWQkiyxryDMlANgWP7WOLNdAWzhbTN/WUQe2Nyi+YWZXZH8Z4HaOha6rRalE7S2 oqYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258206; x=1767863006; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=vgzrS6iAvFIUlLKBejM9CRNPYbscxZNKJWP8/12+9Yg=; b=GuC1XTLqg1/BWwwO3nQGig8AyzYo66x3Ycf+5WiR1BTFssrpipREIiy3OSv5YDl0zJ +puMhybyDBA9waTFI4s/5Fell94oYN1hMTi4LchQGQYq0a6Q36WpzdB2iGlf7dzBer7H K/Rt/yBPklZpbGYNB3qUr4F6X7452Alr69NvUacTkFbe/Q+Z0uH1Uz/9zh3b+FkMF5Pf dKoyNPjUyR+QrNDduTKQVrKk72bTXZARY2dk54+MfY0cE2WJSLumhDg81hdqAygBjWp1 yDQpGWTsZi8o0n5i0ekk/aRvIq3HLjyfvmu2mU4DQy+Uy3+yCmLQ6bzg9sTmj6M7s54a 5p/Q== X-Forwarded-Encrypted: i=1; AJvYcCV6zSumF65k8uQAmOBY4psmqrtrLBds1pVQjPCe6sql12lo12dwFreBwBYuzGO66HqwUAZjk9T+1n0Sg5M=@vger.kernel.org X-Gm-Message-State: AOJu0YylADNQSOUNs7PUsdu56CkugbkyaHM4FdH3Z4891dIL4oJ7riHn 1A2cI8PDJaDDFgSxYo3ofpnTNAJUxlSEDq+KAUn+li6VccuBrGa3E0y4 X-Gm-Gg: AY/fxX5C8ww11QEUAx7qges5TE6lZBb9KS3NtxJeGvq1I531FQhZRGdFaZTyoOOZYB1 V8nuYgBKOcJFN7KvSXCGKGkDstsX4tf8UvMvh+rccDgvsRiy1mN3DUr4pbrkUAzKV4vUoD3ovQB aTb/cV46wPu87kOaxq2+oJClwn1V0v7B+aBfuvEKlotP/ka5mCrhbZi8UBKstF42JMhT7zWadwp gmnzOqMEG+dlJY66KeFgBLkRq4rGdzeV97kSxrm7+fqGPZKjNjqC2mmS5ljXsP4MeZVHIYVUT1S jt4YnU1dNGzL95xShX+pFpCjMJFmUbdrCYZolLY1KH7o8qecUWs+uhyId8ieOvDIgvjeECYTlyk mUEDP9g2rWNs+4h+xHaEE8XMhYb85LPmVIGNGEDKKJokq/E62RMlZSyk+y1T/zRD4bu1PlxhrGW ntWjf85K7QB8iU X-Google-Smtp-Source: AGHT+IEA8A3zig71SDu0G7W/IVJ2/rh1z0era57GcwjPTkXa9sJlf6YO/DffuIhThSfawYNdiguECw== X-Received: by 2002:a05:6a00:ab09:b0:7e8:4433:8fad with SMTP id d2e1a72fcca58-7ff6667b6d5mr37774388b3a.53.1767258206449; Thu, 01 Jan 2026 01:03:26 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:25 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:51 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-15-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=946; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=8i2WC0AFNRoAyJx9LwHHLdlMc3fQP5/vwmujapLLxro=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgoOPfHtMsOAsiJKy2RAlYxRutc4/IfGlOpr 6nSyF0xe9iJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JB3PD/9pfTa8LS1pIxQ2OvHZ5LKbz813YPJzHm97C5F2nFhIHy9H2UmYu4wBfnwSR60fyjGNfvn Ck0ncncFeFSNCllr+Tr1e/s2b6/BzhncgdjrCxuRfe1ip8rs4gbv3GICpHKa7JgFrfaoUvbjoLY X8nMbiOnVEqVsQ1oIMAdB8aiT6On61YHrRZNdt9Vp3JBw4fVZfn0G48JyyCsaNdeX7+zszZImoW +e49+fwpaoLD0XEvwK50ej3LScCvFzeC35qf1/THnDtt/Cb4oxenYY0ewKKOmvI3EHUikOb5fgl JmF6OBsESH0/lwe4Bqc7cvvPb6IC678xurUSaQN147BDPcIp/2W4iYSLJGkmzRiUnTZsyksfW/9 Dv8B+r/cgzkvukbptzOpAUrpQ8K5ze4H+nk9Cy7p01PnJwdamIgsL2hoKZQuDlPvCly/1MVy0SJ Ths0xtEiSMgbfiEz4I+9sfExwgILd3uN7IGq3+TihpjMzlwaolYTc6SG3oY9w0JA759dqDFn+0u TRf4yRqLfyKN6lyWiQNnix9YtHmgsdg2KoVwr3jbDBCwjaoga7mvUg9A/ecJWzI/WG2Nj0vpho+ tw+PLoDNWPpBGibqADGwQk/nhVICclVHqfRanZEXI38v3D+Fo+tZdvHSBdCxbc9qyliv5IL7VLJ 35egjrAeqTTyliQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A8X SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 e1afb05423698223ebc15f2ae347e73fb46c7c24..b62122ea40f00a54ae42dc3cd0f= 864f25888489c 100644 --- a/arch/arm64/boot/dts/apple/t7001.dtsi +++ b/arch/arm64/boot/dts/apple/t7001.dtsi @@ -275,6 +275,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 2E5E3286D4D for ; Thu, 1 Jan 2026 09:03:30 +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=1767258211; cv=none; b=l5nQq9WeCuZi8UZAwM8xt1Yf1TVTBql5Du953Rg9aU3KHPnfVoZ8Dpi+MwdLerWUkbUsoCALGbfIxcbUZ7ZG9pvjDmWq6mpq/3BdSRo4GgNeF7S4dvDHPsryaP3H8AoQ/C4ehd/3dRDuNGfSmPeql7RDMtftinKp847BdwxGfL4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258211; c=relaxed/simple; bh=3omd0YVrSktNDZ3RXrP0xc/+wVtkaIIz0927w9SxlCU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sD9WNwHJw8Tig9pbTRVCeLM7GoSRRYSHrP6oidDeyfF+/mH0DcXYDwA02NrOn7SoxuPJ74LbXX3hSSWSlwr5hso1j5UZwSmPfpEuSZMsDb+h0e6B6JVgOpTrvWn7q2OVLieit8yabROh1CmY01LgABWrXHBX8B6OHmpQOGCLaPw= 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=T/jMK+PW; 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="T/jMK+PW" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-7b8eff36e3bso18067369b3a.2 for ; Thu, 01 Jan 2026 01:03:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258209; x=1767863009; 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=VOOkO0Y8d9P2yswmxe69xUL0YHF0SsjJE29vdXLnWdM=; b=T/jMK+PWuax2WcEWW6kiP6c6qKjAw8Zf4TM4XUhxHW7fi56hr42iD/lBCAqPZS3yZz RT0HXha48XGyXwcniZwO4qYrIiP5I3J6AZwl1kGmgsITeiTLYb+w6Sv8bJeulMKdGEo5 Vm3vhWba0pjyzY//T9AwrPK1qGcTNBx2dTqfVgicEJuPiXN3tvyRarrpJSRX4kuWxPPR 99zBNjggzMIFag528u06v3mLBeh0K5SVuhSx3tXAbYqSL+98ZOtEWHIX0qV1Qu1i1Nr9 SYH4UBTlRdaj52nLA8/SdQ54IyeC/h5CG1GzhctigW+wSysPD7zdcj1nkioeOWXeoE/E ffvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258209; x=1767863009; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VOOkO0Y8d9P2yswmxe69xUL0YHF0SsjJE29vdXLnWdM=; b=A/E05sQZl1Uftn2UpkPEg1VHooOqRsfJRcxTw8ui5oUsl0IqmBRxPzgtDFe7ANcZa6 ZfUN9IBVwoVz3YrIz0Wj2C4f4+5z6tNcGqMGdPrT/75541afmngK4YOEoinbpgbQZM1l 5oZ4jROKsafu+3mucvf23NxpNKqSMK4kXM/tJHwLXWncPsGl7hfl6OeVGFyhQYEYY7dI KzPf1WJCLhxpXrvwzI70NTaWSZHgIdfBp+7fE3sMBxMBZErTnoq9Qk4Bu80EAPUpFIGc Ld+AxjtnEaWBXCFSs/AnAxbvOCcMBngOG3+75Pejotr9Ybui+/jgP/EFiIv/TS1Ee7wb 9aew== X-Forwarded-Encrypted: i=1; AJvYcCUBeTLdZnZyBI/EetykBVMmyY8zNSHDmCegrQmdEJnyQHoSGukwp1MKD0zB1yIpPIH4/MffszVMRZWYfI8=@vger.kernel.org X-Gm-Message-State: AOJu0YzRPQ/4xFs8NI1YryjuYrkFLWDH/IByWOfRbF2bTXipNpOXyGvs zjWAvDuMdY3VDFgv8nF+7/uXxzkLblRTlRoNVDvFnnzCNE9jQY7y7UCuCZwFyA== X-Gm-Gg: AY/fxX6VyMVqlG++2YbKFfqGkbQO1sjbAV60UJ33ptX5nhxiD4/FlcX/o6JDsWL50wJ +dQ38xHUx80Ggppetp7YggValmxiJuGbg++6BEJ/HO5uJKMzEtT2KF8jjEcitcLE2x0HbviHr5d Se4tazo1WRFxaQoFzj14TdLRQPc7UE1M9lLaz6rc8UXLilnOk1JP1lItFzFQD684SD1F71Rtsxt yr7TXwrKepVLDGdWWiD74h8NBnHiLqvpZA5dKVM4x9jIwZXgJaaXsyFAnjyFgjBMTfCazKpni6/ rTaJM5YzDBJWvuIUICGEFgkp4XxfkZCtQjYKVopVMUBd2IlvKwh9S3nQT68dU5JboAzpJjsehCC AFrMOCcu5Rf6h9Mct0BRxEOhG/r6Ws1ZYRtsWH+FdXXHP+/HmzNgXpqg6vKlLjznpUUObjKKNW8 iV8Klum7brjbAXcRcTNlVQVPc= X-Google-Smtp-Source: AGHT+IFJBtSUfejTWgpNgQSoCDlIJLnAMjrQe0TebRz/JH0wlhP4fBgImgpnBrH6nBpvWNt011OSOg== X-Received: by 2002:a05:6a00:ab0d:b0:7e8:450c:6195 with SMTP id d2e1a72fcca58-7ff66479a6bmr31930739b3a.44.1767258209581; Thu, 01 Jan 2026 01:03:29 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:29 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:52 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-16-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=912; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=3omd0YVrSktNDZ3RXrP0xc/+wVtkaIIz0927w9SxlCU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgo4L8d5gWvdBUOBCVVb6ebQ4I+hDv/E1SUb kvSMq5z9Z+JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JOOpD/9oAMq0s34OmmAP01oVZU/WNedqAtueSymjOF5mohXEQuodSPtHLp4na/8PBkTnsdMaBk5 qYq22cNUmGaW0tNNKzXYdJ5CHX3frqpUae8fhwpg2obo9CbMNAlxz0PbtaPxsJP/ZYmdb5EZnEV etlvvIBY9R6eWxQGZTZrH3TPf5gG724fi4G2AhurxVHs9c+O7M0NC51r7ElhxVuqEosrOERL8Gc s9DW7iZplLGl6hwLnS9hc/rJnoHP74o+IzBGy+1lQYWh99+8ReDPnFqJChy6+HkE7XyIVi6Wupv J7qy43MqWnYX0ZIPBrC29fru1OVTw3N00lcG8Zd72IkY5Rbjqtv9HFrF199MFT5UpK69u+8Ztul qghCVlwmGf5eH6uoI4A1O+K0u4RGx402evKOyJo8Ufdog+1cHk5ynjqX1GlQ7hxccCpmngmh4nv srzdvYX1pJ+LENySSHC506nt65L6cmeXIISvgVCBIzqpuz3boXCFsJrA3dVJb+uar1KQtimpf9F 5HbO1vGr2G0kZFSjSchXVQkhoSgRG1TDLYRvcpMo44X0qpJ6peXtVlVaHJtNAP5I3Jq0OPuBPGf sKm8N0K3G1DhDcQHIX0DtjumbJPoo3NCybrEF25MHdxgw+f/vjL49Bp8/DesqujNDl882sNYrC/ yo4itq/blz0kR1A== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A9 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 bb38662b7d2e0b70e18b6870b706789b1cb242af..aa372aefc995334b1489953c162= 51c8ff9b94d98 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3.dtsi @@ -237,6 +237,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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 4ED2328BAB9 for ; Thu, 1 Jan 2026 09:03:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258214; cv=none; b=t0hPOPFXo9TOlnBfqcOFT7M/mLJ0u6G3v+QGIcWnm3YumNAuUxCdavrlKS4YH/RC7KYseiosP5PrD2/21qaIsqay8CbzGYVPRqcICXVNwQU1qsKw6D7A0mo0JrlVhd3RStb8xepXrJ5puVhhsVaIgCdv7st4VjPbFhrP73uxjyI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258214; c=relaxed/simple; bh=PzJR4btrOIgWAbbA9/PgDRkfL56Q2zFHfShoVsaxiHQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oSVhTAftK8RlNMAbKPIrzyBIW5NgtrWKkQaoYo0SvTwD33t5f1BIErQ73IAsDmObYByIrS7VsP69wO/XmT9qYSiJXXjS45KRLWdLbdDEBknFwnIa5gia3+gF/w4LCQBjhpb2m0YQh4BxSAbDjWlixniCRv/ceibmsKx5o59FGzY= 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=jUfIdPi9; arc=none smtp.client-ip=209.85.210.178 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="jUfIdPi9" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-7acd9a03ba9so11775938b3a.1 for ; Thu, 01 Jan 2026 01:03:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258213; x=1767863013; 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=0XIbviOhDk9tWhSGjjMU+OiN82Iat2rqIxD675mZ2oo=; b=jUfIdPi9p+R8qstHg+y5fe8yF38nqtYbQLWzWxEZgXhqfJ9iN/aJFKgi08raKHAzkQ FYhBPOa1Q1Kw8hxGlhgAkEkHHIHtiNTvMxRVvMqWXl/VquyWR2lXZ2PIOeIUO82gu8iE D8wcJV9ViB22LQ5cdoPv6XkxIhm0RhLH9c4227rsC0yeSXqjEIePph4pww5RMYEPX4Ad Xr4Kgi40w1jr6Ksvig/7SVKglHagomkDq2OLW5+eeVuT4ub1AylpIVdYqkg+aCP8GyRi jX5FJgy0B8yHX2/QHTcSyfOH5dZbUZVdUYm2H7jXjV/C2jv2JxQmY2W8MVLmmO0UxM47 yXAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258213; x=1767863013; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0XIbviOhDk9tWhSGjjMU+OiN82Iat2rqIxD675mZ2oo=; b=rSX5PwK1KCq2FE0VHLh042WGf5IdNMOgiWZrrIa67YEd4L6pEdl43yHmnpNayb8GD0 Mal7Mg3RIlo+KLZEhpLo/RgTAraSpt+eZc7IpDjrTjRQkIBoWXbB/qEevn8zcBH8vblj 5q+AhorjwmP3GXVUp2gIqktFz25vefhBooMyVAnPZZg7leHtRY/Y3aKeperyKPfCRTfC cGoCZPJGH3uLGN9mrD7phWxcM/EV0NgogVH1rKydU/TUMk9/2qI3LmCtKX/uYBYq8PZ1 3rFoAke5Vy65Pb7ZkBSmxD4tNX/HlPozVcjwOzkXHJPcDpuHEl2J3qNNxCJc6g7mvcrP YNAA== X-Forwarded-Encrypted: i=1; AJvYcCVGjrO5ZVccYagALPVAj2pIJkNhM1xG+96RwG6tB4S6pTelpoIYjal2oN151phRmJMSB2TuCC9kMOTcbiY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/jKKuQM06A0NsHErBpiEvBu7lJB4VgFWc2Pzz5Ik7qvklwump SKaceVOifizYsUxoZxsdOeSmpHl1xlEx2oAMp7Sp7NullbKCj1/s36X4 X-Gm-Gg: AY/fxX5+q6O7VKIrxsTQQzM9/JXHz4U3Jz7tmKpl6tm+WN9o25onqZT4AvXbbkE8yJo 7K7Pn2rP9HjtAfyfIsmJPx6CRzz7ljtGE58e9mk5Cmay8/wK2PpJ3xg7DKl1nJg/yyq4ltluXHK LEYFVARx8sUpvpKB08/7wXrbxekTqWOg8o3Y+YExfCpbfvWNxDdlxsOdnV2wpq2mchhV0XbP4nm 3C6yoN9IVFNd/yqy+fAEzGLCg9ec7ZzNySKhoFzs/Wyfc5j6TbwCy5RIU8VJ7ONEPiqTjQWDeFd T2kgXVgHL+wGTWSWyrTvYBuKj80tyDJSTK1lCSp7zj86Uk89HM5X0VFEcktLeI2Q96vqZK/WXHd 60+6SRIEPBUsSTB8cJGVk6I6Aou4EJh7uCJ8FYpHAMszeLVEAfVTq5Sh8IgQg+iACsWx0Msc92j 3Jljkl9b9PmGEv X-Google-Smtp-Source: AGHT+IH4BL4lHRkhONes0fdA+rHZZ+C01+zvYr+yNbWzj90rU1liW8WFWGCqkV1LgfbNxTjIvc81bg== X-Received: by 2002:a05:6a00:ab0d:b0:7fc:da5:f849 with SMTP id d2e1a72fcca58-7ff6607b356mr29575181b3a.39.1767258212664; Thu, 01 Jan 2026 01:03:32 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:32 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:53 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-17-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=895; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=PzJR4btrOIgWAbbA9/PgDRkfL56Q2zFHfShoVsaxiHQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgoK+DoXHphAWKwsrnBV7SEEWyskBmkLmcO0 34oC6Ola+mJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KAAKCRABygi3psUI JJlMD/4j+35bm1G+5hjgR8AIua2VY6BzbY7LRgxLVyF+dm2Vb2IetnHbkgyrOHUXp0nZuKUSEzC +RVJwzOuM3ayrzUaXl5OmNSiKnLtz67LQA2nKMnITYzfyO1wXuEIcJTqpk9qacP4miFMGeCL4Nb LOUwcoH/MqvbQA6VAuYB4tWCSviHOisxqRjv+nS+JUkvBw6ePeF7sjHvOEpdvgNjYpR0JFUs+p1 yem2nsi+rRGV2z9nBqLu7Os+0IK2Y2QCkTkbTTsfKYMXdqcqGr+E7+Fn8DxOaGEdYg1FF1i4R/p Y+z1hpbC3jxKS61EKRrrzztRqYabktsMdcSJRgPuygZfbGabjjjy21gnXDcQqOya8dTEb3Apwun 4PWNA6mJz1vmDQGwjW4X3oe62Dn92c8TTdz4EUgFNyp9t2VHbyL7KSXlZ6PYBXeXr+ULKXnG1ql jXugAiTWcwNkAIIVzFuEXAc/1G7/fQd3RzIedO6pkFEdG3hy/zS932un24FA969+xAYb1vF+vh7 WAd4R6ByIczyEgvTyOmq4rQq6Z2RV8Q9iLaYsRV4ZciimE0h6eJw5MPy6QjbYQTql0sKttYgAH7 s94Blmnncp05d2unlK1gK4b04CMteufpf6uOrTLbDQDmnGw0n+tDJm0Na4S7qTWu2XTw9mcwRqZ vqTHTsH5+i6w+1w== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A9X SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 b5b00dca6ffa4caa1d504860693da001a8ced80e..83c5c479c87fc1ae1bb7c6889ae= d9a71fb55d29c 100644 --- a/arch/arm64/boot/dts/apple/s8001.dtsi +++ b/arch/arm64/boot/dts/apple/s8001.dtsi @@ -298,6 +298,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 9159A285CAE for ; Thu, 1 Jan 2026 09:03: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=1767258218; cv=none; b=Z7kgRXZIzCqA3kPIX30P72xyWAjoam2IvJ7qfobXtVU1jXjIIB6iz0LDjq+EO/Xr9nY251VQ2YKDrPmLD+62Io0Z8bNbHfnqllpPFiuJ7PCORkFaMxuvEQYafnubaqMCdoYrlNI86GhLSlTuBTkFFccme8rElN8VLZBbm2j9m2M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258218; c=relaxed/simple; bh=+Y0a0WIcF+OvRh+wENdR2K0SnXmQmB8D5lWAyKi2wlE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j3Up9nuTunT49m4rqhMyace5wQtiUdKN7gQUqt04/9JND06zhVXeKTvzdtVTkmUcTL0oUP4leAzLufkwmCQtkwTreCepN3NQ8AFzrUmQeSvQUCwdwK7c7Hi5FA2mOR0wz54Ot0W4ONnI5Gst3aRMkohSH4+l+tkHzc6jnRo8s78= 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=U/m995QV; 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="U/m995QV" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-7f89d0b37f0so5269338b3a.0 for ; Thu, 01 Jan 2026 01:03:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258216; x=1767863016; 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=JJ2g7x+wr2VIeqIG6aJACDKejjD/eomNYXl10MONUeA=; b=U/m995QVRC8K+UQq4xTuQ6WyVKDs2Qyr+qIIw5eXHbdFdN8E3JyR8opG89uJkNBi0Y qyF1YXQRHeNi61GYZCMRHWIt0VhrWdON6a27IimbhKJ/nUy7iNG3GdLBM3913YlwTALw T9WkKvRVOejl23gHP6Yh4AEFRn2/LG5G8MO9ue/B9/p7blU93bK/RQOCAw84NMJrDsQN 63h9L2TEjyeHLVmUI6domNVGNBuV2Cwf4y64CFqjG+brj9Y3V2Z2DVVfkrlMgfi6Tx7i aWLW7TAf4xxtigy1zJzmu9ulySNl0xhvCHa2Qd/i5M5M6yFGJyCmzLo6iO9WnueeLGYi 1myA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258216; x=1767863016; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=JJ2g7x+wr2VIeqIG6aJACDKejjD/eomNYXl10MONUeA=; b=vmHz0P1K3wxA7zZG7dkQZfvxfdR/QQz9TsMHQ60GrkJvmzxoU3is92ulgaNv0ebHbd 51IMLI5GXzhRQ0ub9Yzyce6icgakIeFe2o0Fowj5r755JIjrgYneiS2CyfLfc8ckZs4n lpsvrW2EUky9s0C81RIYtmM7B/Lv94DM4/DKLztumfc0FZLyH08NA4H/RHpaJNrkivp5 y5TxB1CeAKAiWlm7e72fPouJjbQ6+OKYaZu1SWrx+WVUbeh6PN/Nkp+Ll36AfJX4ZaU1 sld7ua+JjDzejrzwyRFcUy8m4OtFO6ia+AGT/nI7j7dsuT077Y2KmbwwWU0Lj3Ck9r6T wIuA== X-Forwarded-Encrypted: i=1; AJvYcCXL2JbfKA5oMUgkTQQEVSuEbE35nZQNrMYM9Gtqzqd/mo+SR8BrsCzHqVBgKPehZ1/9bGE5ifqvHngcYSE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6QoibZLXMXKGs5N/oFl34EPG0LRbhxb1H5d3FCEfvSBTUMLwn TXNu2o0tOezAFQ8KIzjVEv2cW7jztgAHNeceJq/QqtG2lRJUg2vNr1AR X-Gm-Gg: AY/fxX5KS99J+cTtwQ6NfROGFrh+bie7YVGwUDwXaCg70SY3FbhbWSQ7WYFnThxPiXX bH2tbWy5h5iUa01mRHDqSjVHhoUYv4UlrxqfFmSou78WBuCoM3u9WdQKSWVp544UuLCp0GisKs2 Grdb+1R2tVYSqnC3epWja6cSVYLJWixJekEx10Uzf2O00WaiNp8/vL5brgXFlg3OZr9bw4FzqzC MA3bfWbOxltAEiP6wNDpnd7whVUi1NfG6QXO31NegrpLTfP2GRxvXOLhwnpZv0EfR0c2Vo90Caw piYE4H3mDMYJwprxsBb4YFr2EBPzsHGlvrknFwcAt2qOaGvRm13OVqC2MyKaz8icGJ7MnQrxDp5 yigxzC7pNVgyxRgjLwGMIUW1R5c27TVQfG8KPa3jPG76MGCkb0ZB88dtt5TVN+WvBdhq7zCf4ko imHz5WvkRaze4X X-Google-Smtp-Source: AGHT+IF5nymNXrscYDT3dfZdh6GZrjRO0nfuwmLLAofLcZomgir0Fi2suutrLyvR1ZQFse7dGezE3A== X-Received: by 2002:a05:6a00:8e02:b0:7dd:8f68:a812 with SMTP id d2e1a72fcca58-7ff5284dc0cmr32900240b3a.6.1767258215759; Thu, 01 Jan 2026 01:03:35 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:35 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:54 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-18-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=894; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=+Y0a0WIcF+OvRh+wENdR2K0SnXmQmB8D5lWAyKi2wlE=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgpIAo0xFMf0/lApSkkk6hUOoy204imPMcjy aXS1LJup1WJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KQAKCRABygi3psUI JDK1D/wOEdgWStw9HVNv4Na47OndjFfy4bu/mK4iGWWoIefk/T2VvbgoQA9qKBH1Bz0/5hn97ez lZAcd12ujwX3IusRLbxduIvwDMJhxrxY/odfYYDZaD2hSWxVQ/15w2CIV3gYHMXc1uQF43qxIOn h0fPSd60uZ3TIueTTbk3nG/BVUhkDstWOFr1azPiXt/9KEWsKeH4DYS2gBbcvuW9RRhu11FFK2m DGo6B7z+kKVIy/LpVLq7IEppxVp6t5DnTqBasHuPPMcJhZ2e4UUlbVPEzpdMjIle9zW2omJdMnv Wp+OPa1976ZvNhUSdyMJUJZzvBa9GYkcIWIBHdVZ/aMDAYhpyZucYyl12UyLjuuexsrsl+5IwN1 23TVJfsTXzm0FOUfXMPVoCLIXSlvJU7Yqq1GV6hT+06JWFRE0AQkW648yTNFixp2CNYDvtT0sxc swkJaMlrjCQUZUYIxV+5zqAaQyuNPGAEEEoDPPv2EoHsQ3KZKHZCItuzNvjiC5WHUaxH9cklUcd qio3aGsjyKHPn4P31pgrd1Mk5yltKydQ1AyUGVPxIagPvcMuKauERp4M+ABwIXNzgUeA1pjaOh+ hY0tCYa41usCDXiyVUvCKJOKfKwCOCnknbbFb6huqvxWYvQXTnDhJK1BFeNTEqVzApWPKQezKhd cl6H9+JAo43VIdQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A10 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 522b3896aa87eb290dc831cbbf2cc8e593844097..3cf1eef5cc261fa1dc699e8b5c9= 991e2215a6010 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -332,6 +332,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.52.0 From nobody Sat Feb 7 07:24:33 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8835F299A82 for ; Thu, 1 Jan 2026 09:03:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258221; cv=none; b=W//fF6b+iSVpbXqAjpND00K6H2lRqkTib3zHKuOTqF7Fi9/wXf3WQEPrJjDelLf9Ue+xdegIkBiGQLE6Pm3U62gAuGB9QwHSXk0H+hA0/JgkKLMLrbnf6LBWatST7OHwl6NbdPPfmbctuWVv6DXalqb2qWjYFjTUpRPfkhsPeuY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258221; c=relaxed/simple; bh=OX5KL+MG6sfpo1KjHjEhXoAalFtdpPr6gBFVJvOaFLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IxRlqdv/gfwC6wvGkdcoux4NHHCx3o3U5nOxUD/OMdMPVuA3B0miz7h55XsUChrwZjN0sbqOrRzjJ38F/DNFh/Vv16t2XBkycUi31bLyivT5yO9lvihUPOGmP/aIf4a/ytyzLVTCc2Kp5bMw4zJVbbZgbboAPnn3EG+VooooqpY= 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=BMYn0Mb6; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BMYn0Mb6" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7b80fed1505so11341591b3a.3 for ; Thu, 01 Jan 2026 01:03:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258220; x=1767863020; 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=NS7rXNvu/k+fb0x7YdnIE3Agpb80vBTRZvlvmIIsndw=; b=BMYn0Mb6/aiVIizePYkr79HnfnU2CdfFV7HsZdq85jjKvL+xIB8F5uJnUIfZYqiGmr mv1RyP9PpcdevEYZpKi8zMB0wgrDLSUJEW64BhNImLDd8LjE1uqP9yEisH5HrktF4ppC SKGYiIVev79YEEzA4GbmmCYCewb1EfJapXphBlh1piKfiYyfuwYwEWgqNA2sfeAmwTKK /6ag8onk2uzVPNjj3vHhCHKgkQzLrjfA0IWlam/MzWlgBcSN+SRq/uLKQqcPBRAFaQQK hkLPdciEFbzbgTcvEZmSZ/13Si5Oj9ZTW2yCEFRatVOdSu4Z3jE2g5Eub7J9HUEdnp85 tXFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258220; x=1767863020; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NS7rXNvu/k+fb0x7YdnIE3Agpb80vBTRZvlvmIIsndw=; b=m+ie6dYrcidQ7iNL+HaUO9v9Lzl4EWrGrtEi76c3SEF0/nJkBGpey+PM9EzbDbfCA5 6MkiZW56OjgWjPMmLaTRed/cL3c0AbUIiViWcdPmTpPku6rbw83IFv1pVvYyEw8g+sSn GgYzwHLN3kZEblKPF50Xi4pVIgGUyY9iaHO+bNwSU9FcZ9K4wbCMofh4nrTRGGnlcBTC hwr9sAIKPPInvcIVFPRxYgL/Q2WujCnhJ7VcxsCGAicj4z6SbI8QUBWwI8G0nQXDIWTg WFlUN1EYShPkXqVQAifF8Nh1Rk7i/lXPrCqi9OuWjyS6RDcN9CwCvbzz1RF2wAEWlNQb jzNg== X-Forwarded-Encrypted: i=1; AJvYcCUaZ4wjsneXYmMPvVlDFHjd6LlfsKnuhEy1gOrUVc/aDpwbrd6Jw7KMC06SCD2AAJTjHttZWp8t77R7wYI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2JYnZwQGmhMD6luOSTMw57vA28vvkYL8+2tUTYYMz3q4h933I pqV56788P32IukZBF4w6WAauyXrJ5L9suJNKPpn/c3Sq5NUTT+EMAytX X-Gm-Gg: AY/fxX73RlLDDCyKZjZkzqv004WPGrg7abfaIUzO/bWFG/u9jj1NAGGN0AAnfBETbhJ T9OfY2GN+zKq9JngkTeeTmwYoVgAQm654Ys7F3ydyL5/t6bkIciKh8wMdMovTGR20rQIE7SAo19 srSFIAf0hBDtoQKZErSqR2ZkcdZt42y2EDWvCAzzrcL7p7p08f7RWKrOCi1tT8J8uR5So7AZ4Gf qmKIKdGT8uKOJa3pWjO/IUf/L2LcCqie0Q8gECmtaYZTHZbbna8ar1ltSrPHLbLWz74qD74gL8f Vf9FRB8jaGHIWfH24q0909BUUfmD3CdaUGsklogMfzqYxRHDhfKq4Fx20MkqLIFwYfJ7IJTH22u mpCMkD+h4DWR6NgZcKCpC0wgoSNILVGDhCW42Z7zkqCF4XgNEjqSfahD/IBrrpDXGQSChv0FENA YxP6NMmV5TQSsj X-Google-Smtp-Source: AGHT+IFe2eYmVWLE8qLLK6tWjkKXLBApqyzquQyvEELPpD7zudq+rhR0KNlRnMSRuoUBRZkLLMtt0Q== X-Received: by 2002:a05:6a00:6009:b0:7e8:4398:b367 with SMTP id d2e1a72fcca58-7ff66672842mr21088807b3a.58.1767258219859; Thu, 01 Jan 2026 01:03:39 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:38 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:55 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-19-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=946; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=OX5KL+MG6sfpo1KjHjEhXoAalFtdpPr6gBFVJvOaFLI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgpeeS+UEfUxUfudtiuD+PcujvuHezCHD5z8 x9ladDrvDeJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KQAKCRABygi3psUI JC+uD/9SAW9UXMI8I0m8V/UHzOCtWUTPWfbNC2fPY4pLYEu1gNB937JUCCFEL5QoFfVRTabvK15 RaBDG/EzwT4YHXcHyPN5ehspY9NIIh6kUqh1+oN689J17ZkRtisRM+N391Qfgacwj5XTjypx73O y4uihlGk+Ha1D9WAzs7L8OWyVGvRuxZIoTqUjdPWhKgHPxO2KweN5v2giZOpmJ0T1w2uIjjGaPa F4yli6Q9Ck8Mx/wQ3ls1nuA7TU/21leS+84f3t0KDBQTByLZTIv4/FtfKcZdncLjlY87evXI1m9 2l+fLDspjdaFUMWpgmDsLCoir39s98aqLwa8y7M67+jre9zBXMPpHCwK8IDSant3skHQU2mioRF QAEsruAQuPI4u94MAtgtfEm3jmL6EZoz1TFRWdo5alsh09Z8/bFFIrurHAAwOrM6ayecJyIlxbt YDKh4UZTSvzHeFqIiWudQNuXu0bAZKN0S8VGQZGONe6hPUl8PDbf8HMWLTFIsLakMUSkhvime0a Eo3/STxQKgq2S/3rnHxyKSATl7/IdJeZ4QLz+UzJn8VLN9r0We88iZHVfrw1TCZIdN6DIzM5tUI lgF3Vzr1oA8AAdrUCjMWLcd0HruyQujEoxW2QLgzBSSUlxTEP4NvsVM/3TwdkIAWalc9qjlWW/r tbo3bM8BJ14ggAA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodse for Apple A10X SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 039aa4d1e887625e7b6ad789bfd9aa032dc58d01..7f7b0230cd648eba2533f860622= f683771197bff 100644 --- a/arch/arm64/boot/dts/apple/t8011.dtsi +++ b/arch/arm64/boot/dts/apple/t8011.dtsi @@ -329,6 +329,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 D472F29E0F6 for ; Thu, 1 Jan 2026 09:03:43 +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=1767258225; cv=none; b=cugmKjIrUt3FIUrs43JTr37UbRF3kfRDOEskIaql57EXHC2ek6xVx6rnsMaaPM4rQ97DTMC1WLFiezwxQlD4rydOXLvL8CyVJ8Iq77ACMD5+pmUpPqun/J3BEyJ0vfoOXun6dA+QJ7iWuQx6u1+19Eh2QbywgvaJGt2k1+WhoMI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258225; c=relaxed/simple; bh=2e/a3Ds8H9o2DJDRhuOCh9X1vWNSB/53Pgczil0A+/g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nrmCTr+4YvI4ziUHToifKkpNKHi3yK3YVEz6ch/9JHMSPcnj09ugXixSMDaQNRzCXtHH6rwNpFQM9srsfwZP4IuesxRRLDv4d8OZFut01MKyTHYiIJBnKC/IyXJwpEdQmbPQdnuGDzo08/mbNRaWFE9eRls8T8AfQwaueMaSEL4= 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=hfxJkw/B; 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="hfxJkw/B" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-7aab061e7cbso15256059b3a.1 for ; Thu, 01 Jan 2026 01:03:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258223; x=1767863023; 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=9XtdvBMU0gKAhP5ZVoa0pl/xHY6lC0zNp+vmjfClAxY=; b=hfxJkw/BiJDbVjkS4xOU8Lfz/FpLK+ucTlOhBwlWIOCUd0U45OSdxhJCZADsJ6ZIAa /9Ng/2Lod3p9hUC8CdH12OfVyavvsOP1OebVMjLpNqvT46pAuFKk8uEnohii6Tv9xO0V v8ecA/uYDAoxhy13YRI2BuSj62kE+qbrn75kKMW87S9gZt12PxdoABnokjE7BcpGledk zF/xD8K8P638wik7giLh+NR/rAhsusI+XFAixl7m4uVJbNFr9PsZ4QctddT7HAf2BS93 u2olUQtGwD9KhmfBhN+2YSa9RGJr98U+z4kTeypOFxj9VEWI6w7+0WVNHP3hrfb/jmJ0 B1cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258223; x=1767863023; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9XtdvBMU0gKAhP5ZVoa0pl/xHY6lC0zNp+vmjfClAxY=; b=OBCqxtrbSb5rlpKWgvPUC75zhf6n3E8trG4ld2CcCJitvFUixevkwcIp0GqXBGqpJD tkrkTvSo0b1+eBKGjojucP49daSqkiMdh/vBKeHg9XpYd3CO1+vuyeU2zUc4jPO64EOg 3JXfFksK6HVJO9Wp7ocKF3Wpzk2U0ERECCfN1qFObM2cJwbV4BPZFRvevWtI1afbtspP IOmPEzj9ebj5KEZkBBHCTIUXHDZIKNJdYCs5zaaUIRGs2LnbC6TZ8T0IykjC5SCrzxx9 A3W0o1ZjhE+4Z7/6sAPGjACxSj3uaQn16g9UltyolVM1sc6kKDoF78Dz3CHpQmvvoqx6 p6rw== X-Forwarded-Encrypted: i=1; AJvYcCX2f54t0YcJwvmqsb8Tyzww5mn9GeezwJE4i1hT6bi6vS/p1/dOwp4yxAAjnapAK/9rvce87oJXUMoCx6M=@vger.kernel.org X-Gm-Message-State: AOJu0YyXsir3gZ6MpBsvE/m6LLFw0ss4xS7Gr026NlPKC67sEHdjavco CtNHjMtVClQlKUj8tVmZuZOpMXKls3Q2NSN/WeHJtGfNtIgHK8+5uJzp X-Gm-Gg: AY/fxX4YPU5YG/4SDoCBb5PRkbNmvA7klqj5DWNCdIN5yj25Ne2ufrVR/7J8471RYzr 0au05zSv1uxt4p3RHoEvttDR1VDtutvD9NWqEMGCdNZU/8k4lBP5STyTAElFJrIONNhiS3bcmsj qAFDBShPaEigjynIwsu+2WEZqaupqJItcgGI4Q9O8v0//bktcpPRqFh0u6bYu2W59DtEsVkh69T Cpjner2v6dp+CJ0lsM81zWO8yZUwzTyJbALYeRVDsaktKhi+dkNJPHpsNswZpb4A+J/6+kexhRj gABW6i/ay/MPeElSGA78NOY7/6jfDmZknBBSP0yvyya+6iSKsO9YaW7MXKzJqp+fVxHJxX8lmYA 4UIaeShP3R3OUqlLAlq0SC6NIBV9TBJSttGSTunj9jS+6zLCNcifbEQkJE5l62Yw5dVxctvsHuA khXsdunvT+pz9s X-Google-Smtp-Source: AGHT+IFPVSjDn35If4JJdkAPCWUwApX7FF/dix6EAElR4Vim/M3LWWrzlOgnsMJu8g8CeCTO8KTRsQ== X-Received: by 2002:a05:6a00:ab09:b0:7e8:4433:8fad with SMTP id d2e1a72fcca58-7ff6667b6d5mr37775009b3a.53.1767258222975; Thu, 01 Jan 2026 01:03:42 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:42 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:56 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-20-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=893; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=2e/a3Ds8H9o2DJDRhuOCh9X1vWNSB/53Pgczil0A+/g=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgpmSOXQD6QVHUKQIc9/wmCCvSC78EgImcU0 Scj4chLGH+JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KQAKCRABygi3psUI JKn6EACn3FwPUsnDwR26T9WGHQmSa56fVTYQz4qnaN0v762/bzKhEjyrbRif0DKEHu5nuhSjqD9 K92s/a5OSvOdIUMek6dSroTK5+w/Fnpe4lYbW3XjOZgVi793XboetGLP9PSkvg+ec5iDvrJ+qJE rssKT+JHQH+nDD25xn/wTEbZM4wBmAgZrRbeliA6U44Z8y3pYcRcof9GBGaQhpj47QDJVDm97sB nWz4qWxJvBCoxeUJA6xvvbmKdC0CTtVDAh/1/pt0dEpQNvZxmqP5xoZ7LypgZsLUFJvVP6V8FOs FLHtg/0PtDkZ+wHehmLxRgBi7Sqw0mGqCpgOE1atAFOWH9f9kmjHSMw8eCAC3C2ZwCWQfWmONQZ k7pqZL6xAWI8YMwrAJf3iQrRzQqUjAd9W/EyJRCJiImh/IDywKXboA+rtWH3lVuSH0N1m4iJjld nNRTNgDfvcw7yLzawkM1zArnPy3s3IdMou/x93oTtmAKsoqFJt4QOxFw7YjPrSPfdKo/89OFSpM zTgfms2XNyxSDYruE9M+bH3mttGKIB6xU6jvd94vdd29KqRKwdScwqRfnuFhpFgKlhAx3G1pEwX gUf5HSVnNirL0ysxdAff3Yfy0MkUy7rp9FPDHfZ21MgZYIVqWa6FPWN+ziZBEYZy9rHwSgzh8qW E+aytyN6Uc6xWFA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple T2 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 e7923814169bd4060706945561910ed1d5c2e0c8..579560de1aef8c311cbf66c60a2= 111e2d5ac37c5 100644 --- a/arch/arm64/boot/dts/apple/t8012.dtsi +++ b/arch/arm64/boot/dts/apple/t8012.dtsi @@ -297,6 +297,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.52.0 From nobody Sat Feb 7 07:24:33 2026 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 E02502BDC0A for ; Thu, 1 Jan 2026 09:03:47 +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=1767258229; cv=none; b=XmFKK5Hwl2ihcDfXv8p/yGcrJRBWHRCGOKIAJhz+xBoxznCD+EK3X9/cXGHvy4BfL7i3EAioU+d7s0+L6oFV6vnxkmQ6B4BMKeMtOXiflZQdeJsCdai7DzOIA466utiCe4XDFeqIdvoJuO0nXHlZRf5s+h2eyejimFlkipuDqm0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767258229; c=relaxed/simple; bh=trWVfDATm/MwjZ2+dtjuGYhC7m5DG/4DEiwR1Jy0uIU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CnemhFafqeOB//HjTM2NxWxolEGTqSXg6SSKyIxvbDFHtwkydtK2mzU/MSENh7yrMME8tvhu2GpRnXlxM/U3XoUE4mp8Aipy7mBYCGys0YZuUBAnofs35B/LLqIw0g0cZ8vjXviQ9pR6/+KESc76F/T7fp+mzMLMQ37lNf4OXes= 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=BCw9p/Bl; 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="BCw9p/Bl" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-7aab061e7cbso15256101b3a.1 for ; Thu, 01 Jan 2026 01:03:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767258227; x=1767863027; 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=3tdOFnD1zwwXEjmETrN68s5mUpHoY1S7934/U4qRcoA=; b=BCw9p/Bl03ryIMzjgJtxF3kXGb7L4t3I7Jy/tj8SMtIVhXevn4gFwU65ADp/OhRu69 S3vxky+VZMO8MCSBmXRHrap1dCAsrUvQXoor5TB2aBAHdc3UpFx8n0DapAaY4jZHkkwS Zf072HJR/PGnmz2zHVjiQEeTJuG1V+A+8uRSccF1E1Y0den7XHvYCZPwmR73M1H87hdJ Ova4H3DuCE6gAHKKqQ58l3bzx+ryw0vXr9/sQtyP5eOpN8hjELAHlkL7lFBpoS+Eup0y GamgGMfh9oDMrk4WasBe1jbgm+iZtlUB3wsKnZXhacpV6P0ZZBvw40SlfcdlCJaTm4Lx QlMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767258227; x=1767863027; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3tdOFnD1zwwXEjmETrN68s5mUpHoY1S7934/U4qRcoA=; b=i6fERQDfk80LTPZxC0LavYgdFal4MZgGkti4CftuoK5ddidSgeQ9J5dUTMtFCSJoRx ehaL+OUI8pOMRyiJZhcXiRuJEHXe4ic6Y8nwYc+d1N1GN//opxRG8ERKoRGPvLs4yys+ WjgLv0HuV/b4xR8plwOmcpZcGB9u/KiiXe0PisQS+lJCTzUZQLbBgd/40YOIyJK4IAiV ab1MIqmt9rZ3wDxdq/Fh/u9Zqr402g9M0LFfynWp9uhp9r7LyKmYJ9wnlgsjJqkOKn1K +L64dFMGHuMPl148SHjduYITchOpMrUjGtxnevzT7TVGOuU3V+mGQ3b5gQBlEmDBYFI6 Ly4g== X-Forwarded-Encrypted: i=1; AJvYcCVJhINuVuUGY/LFEYT8QL2KyRk74g0rrVsSjmeH4LOH0S+RJjHNcxDYFZ2I3XCshrwxvkPF13C4MGSg+ZQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4ebAGXckYV59VCQYBHce0oVC+UrZaFkQb6J6n7cSmMBs2m4I9 ZfIwaHJuJUTDCvAhFBCXXNtTMjmSiHLloPMG0g8u+z05cPHjFRGGtQ0+ X-Gm-Gg: AY/fxX7Q/Bdv0z0jS86aifrR2Koo3Iwhh+k32G8/W/b1ItivIGGlvcjk+NqxHRClHnP vpHShOFMYZ0C5K8wQ9sgczFx+sYIN0ODERp5o/iWNq78TLllgEuXW6S3ywdtnUTMcALZgokI34f stzqd3pa7Tya68lh+iyMBsxZXAVH433ulhbzwsZnzZpZNw5LI8xam/iliKetBw3YeuTv1lqjC2C PX69P0edZEvjI9QuL2VDiAlpxSJrnMhM2DdfujAcOYPU/Uq4Qn1DtEZ1W10B+5ObtMRZDmjQ0sI dAwhG17xbkoW1kNsLIcEWxcWJSzPxpwildWHdTQguLawtBKgwOZDS4rsr261dUI+AzMdInwCz/k BdQg71tgkhGdCWnbCHmjOIu1S8GMwCI7CaTmIpAk/PN5nk9RvdJE+H+XQqkInm53lsApgS8bYV2 noS6p+HbD38qq7 X-Google-Smtp-Source: AGHT+IHO9HLDqLnxGqMh+mxYDWViv1/O3WqdN3+qFILp62mk/kOweAuJA1AZ8e4wVoEHoRWOZ+prQQ== X-Received: by 2002:a05:6a00:90a2:b0:7e8:4433:8fa2 with SMTP id d2e1a72fcca58-7ff6607bcddmr39960635b3a.42.1767258227104; Thu, 01 Jan 2026 01:03:47 -0800 (PST) Received: from [127.0.1.1] ([59.188.211.98]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-7ff7dfac29bsm37182957b3a.39.2026.01.01.01.03.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Jan 2026 01:03:46 -0800 (PST) From: Nick Chan Date: Thu, 01 Jan 2026 17:01:57 +0800 Subject: [PATCH v10 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: <20260101-apple-cpmu-v10-21-48812c529ffc@gmail.com> References: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> In-Reply-To: <20260101-apple-cpmu-v10-0-48812c529ffc@gmail.com> To: Will Deacon , Mark Rutland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Catalin Marinas , Janne Grunau , Neal Gompa , Sven Peter Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, devicetree@vger.kernel.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1462; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=trWVfDATm/MwjZ2+dtjuGYhC7m5DG/4DEiwR1Jy0uIU=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBpVjgpSfeNnDDFSIT2Vc+1Lesv6jNsQYcFQYur4 OGMFS8dLn+JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaVY4KQAKCRABygi3psUI JKgdD/48Oa+AjeAoAVsrpKQTk4o35ek0CzqaxUwDuPnoOwbkEgFd9Gv9cAbMM2eks5VybrHunJz e5NYXyt9bxOKT51Lq+Xkyro8ixG0EQrPItJKj8ckf/yA6Jitm7fikoHiQXc3PkUC/MuJkNcEV+6 blmxnWxOsdxt2pbkxVBVk1ywud8xwITHXftKf/OZ+gUCWOaHgWXUEdZ++zxDCGn6G7BB2FNPBSj 3RMWYElEv3m00UtjLwOVegeF+9LQYasHUjckXbFLoDBXqSmwvyBSHP1MurONsa28XQry5VlBHku LSF50dJsLChEaxClORGyiVsFvBMlI/WRnnym0EyqYwAHLZ2KLfqLvqsJndKpbF7RXdfbTuC/r5G 1v8Xz9KfWik/7JJ4vmnSMoAVJ8EwE5XkckvZYUPt3k2hC0FUS+YOro/8fPOs6kev4KJv2XpZXJI cE0NhDyB0MfSclFPKZBzb5frmfVGA0+PIUwXEZjHsirGsdOhbLBDQq+ZIxuUiqfUsP1X5bs1Ohh evZE9VP8zemVg8jruE9jT8nqu3Ve2kw5+w3T4X+spL84wVi5lGnMmxefqyfyXFSNJxhvwM1nBf9 bXvbE7sVJts4ECdTCJlZg3epyUkjmC8R7apIijQZJb7EQj9R3wCtCysNsWW3UgUOqmeE3BDJ6i9 YG47wDhWWBmbfUQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add CPU PMU nodes for Apple A11 SoC. Signed-off-by: Nick Chan Acked-by: Neal Gompa --- 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 586d3cf1f3751d9ee23262e55fd692bfee86c13f..0c1ebab56d6b36ed5362a042ecb= 6cecef7c97f64 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -341,6 +341,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 { @@ -530,6 +542,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.52.0