From patchwork Wed Nov 22 07:36:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu-Chien Peter Lin X-Patchwork-Id: 1867189 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=PNy+OF9j; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SZtTB3JTvz1ySN for ; Wed, 22 Nov 2023 18:40:46 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bJL7LA+zzrPSEHxuuxtrusbBuzq5JJOM6qipnC3rzPY=; b=PNy+OF9jXHz1Xj Pba7/RbtQ7zjlyp5kzUM9cMYGgU/BvXsOTLBEVBd+1u41pEgMVOKIbuODxVxbKBYBNYNQLpNF7XZD R7bMQKvrCNijVc0UX7VstKJWBq8/QmAbG6myBRIcbrfIVNYFzD6i5TLa5AQFZcu5hqjRZs3tL3fbU gQbieIyBs2BxKj7JV81/AHGTIXQi/h2ps56ABNFoW8lKG0V1Q/OVduyYWqE/FAubQtPb6ZXLQb3o/ sP/SVf1Y/pyhbFyq1wrKogKL42fl/sLz25tieWCe5xpKgZXMqzmTGBhKE/8Aw38KnCo6B1ZMhjLxQ cCufKbGsnJN2t+LtmKTA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r5hqc-000vip-1M; Wed, 22 Nov 2023 07:40:34 +0000 Received: from 60-248-80-70.hinet-ip.hinet.net ([60.248.80.70] helo=Atcsqr.andestech.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r5hqZ-000vga-3A for opensbi@lists.infradead.org; Wed, 22 Nov 2023 07:40:33 +0000 Received: from mail.andestech.com (ATCPCS16.andestech.com [10.0.1.222]) by Atcsqr.andestech.com with ESMTP id 3AM7e9ge090697; Wed, 22 Nov 2023 15:40:09 +0800 (+08) (envelope-from peterlin@andestech.com) Received: from swlinux02.andestech.com (10.0.15.183) by ATCPCS16.andestech.com (10.0.1.222) with Microsoft SMTP Server id 14.3.498.0; Wed, 22 Nov 2023 15:40:05 +0800 From: Yu Chien Peter Lin To: CC: , , , , , , , , Yu Chien Peter Lin Subject: [PATCH v3 06/15] platform: generic: Introduce pmu_init() platform override Date: Wed, 22 Nov 2023 15:36:08 +0800 Message-ID: <20231122073617.379441-7-peterlin@andestech.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231122073617.379441-1-peterlin@andestech.com> References: <20231122073617.379441-1-peterlin@andestech.com> MIME-Version: 1.0 X-Originating-IP: [10.0.15.183] X-DNSRBL: X-SPAM-SOURCE-CHECK: pass X-MAIL: Atcsqr.andestech.com 3AM7e9ge090697 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231121_234032_469041_2D49F274 X-CRM114-Status: UNSURE ( 9.37 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.4 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Add pmu_init() platform override which will be used to register PMU device and populate event mappings. Signed-off-by: Yu Chien Peter Lin --- Changes v2 -> v3: - New patch --- platform/generic/include/platform_override.h | 1 + platform/generic/platform.c | 3 +++ 2 files changed, [...] Content analysis details: (0.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 TVD_RCVD_IP Message was received from an IP address -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Add pmu_init() platform override which will be used to register PMU device and populate event mappings. Signed-off-by: Yu Chien Peter Lin Reviewed-by: Atish Patra Reviewed-by: Lad Prabhakar --- Changes v2 -> v3: - New patch --- platform/generic/include/platform_override.h | 1 + platform/generic/platform.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/platform/generic/include/platform_override.h b/platform/generic/include/platform_override.h index bf4b112..f2a4327 100644 --- a/platform/generic/include/platform_override.h +++ b/platform/generic/include/platform_override.h @@ -27,6 +27,7 @@ struct platform_override { int (*fdt_fixup)(void *fdt, const struct fdt_match *match); int (*extensions_init)(const struct fdt_match *match, struct sbi_hart_features *hfeatures); + int (*pmu_init)(const struct fdt_match *match); void (*fw_init)(void *fdt, const struct fdt_match *match); int (*vendor_ext_provider)(long funcid, const struct sbi_trap_regs *regs, diff --git a/platform/generic/platform.c b/platform/generic/platform.c index fa400b9..54a913b 100644 --- a/platform/generic/platform.c +++ b/platform/generic/platform.c @@ -267,6 +267,9 @@ static int generic_pmu_init(void) { int rc; + if (generic_plat && generic_plat->pmu_init) + return generic_plat->pmu_init(generic_plat_match); + rc = fdt_pmu_setup(fdt_get_address()); if (rc && rc != SBI_ENOENT) return rc;