From nobody Sat Feb 7 08:07:16 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 --- 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