From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CC13FC369C2 for ; Tue, 22 Apr 2025 09:08:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Type:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GtN1e0XsZDhFKhJsTSy3VjPTI+4ZocxmzftAek5pHuY=; b=3ixGGTwThmRbzugptyKd8GUuMa x6GeLrefuR14KqTX5SEbwv7LOvBEhbgnJJVDkrCWf/Lq/gmMTr9vw2ZGLYyl27b2AI26OvRaivi9D wljZKEaBi4m3UgHp7QPkxvSMMWF+e8PYq7zgeh9J+YyW/3CQTEKvU5SjtoxCxucifHz30ffVKqJt2 WUG4IR+7mKsHPMhnekNwobG2uvjpZIdlFo5YpWRf4f11ghfGPbkuA8BUAeFFBeO8kJgw+eMDDP4KZ KkfTOCJUWdWnleZYwNS/gkZMddQjZil69NKshe3itCpM9KwHmlk46tbuVKeP5wLR1t16Zv8URxLjZ tC4/VCAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u79bg-00000006V1p-17xG; Tue, 22 Apr 2025 09:07:56 +0000 Received: from mail-northeuropeazlp170110001.outbound.protection.outlook.com ([2a01:111:f403:c200::1] helo=DB3PR0202CU003.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u78G5-000000069pu-2iMB for linux-arm-kernel@lists.infradead.org; Tue, 22 Apr 2025 07:41:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iW4DHLPBuqnrSN3hG9uwfS/DsIyjycpzCPdcG2J2ixygdg/Nr5DnqaeKUKBVD30ZB2+STxZ7FF4ZZuW0HRDprUXCPNU0+eHkEM00SnMqkeQehJWvi68Ni/WpNfUw1/nWHsxakTQ6lMBGrodRw7txi0bEKsFNKSVaiINrpLz+N/Pl0ip2nzLl5972uVwBgvVbpcCt1jahiN35lRtuphPjMxhNANor0qri/8SFXnetJUrvlxTwFSZDPZEgLg2nmijwB3OYa90iFunfhPJldQsdYXVQq7vnf/gS7JY0qb79o80ix4jcb/vyEicLM5+JZCZeSZOir1my2wCRbRnso6rN1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GtN1e0XsZDhFKhJsTSy3VjPTI+4ZocxmzftAek5pHuY=; b=E6BtfLUNGQPCDSfti6pNqCxYtGY1JS/KM8Lj16RuXbVuClSv09Jr0BT6C87dbCulHxK8mR1a3211y9tv3kDj/zfUDN4YIeW7D9pWteEWOzLDvopiddi6Jq7AFm69wta0qTwal0Q3S5JpAu8HYC0/SrYjViRlk8KL3gUYyOqWm8WNdEcqQozfpBfbL4SpSitWKG7MViXy2zIxlybHJp8N0G2WWTrK+KXBifTnoD8gv6Vs4J2+1Il1wEuonJA1OM0+usU/oP+V4m75K01BAD7Nc5i39h4WhISBYiBJqNqbGKn7Zu+MGcpj+1mjks0fiQTzfQUqhzLL6jZyh5v+uJwchw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GtN1e0XsZDhFKhJsTSy3VjPTI+4ZocxmzftAek5pHuY=; b=bjXnmejP9v/kcWoiI5FdjPwmXb6z+9vkRAnuI3jtAj2mHrcSyb7DRZ5ViaM4Vps82EY+HcHZjwXgLuF3gGx9d6ow7w/KuQzHHAP4MODh+ZKjMTpYoX7XMnQUs7r/j6ySIPle8ogky4j7Y51RZzlOq0G77rDVW9nsP363iCM6BkuZ6hj+uG9s5Sc2Vzm4kHjx4RYS3npjj834kGba7UlWRd2UjIqg4ccDZVMlzQXyARfJbzMgDR6G2B6WlQYFW4PKRDRa3DvmXEjOunpide7WnfimTOFIlAaP2DW9DKuDTHWTf3DMyrwYBhwA36aw48fysDu6pIBKq7TEQnU5/St3oA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PA4PR04MB7520.eurprd04.prod.outlook.com (2603:10a6:102:e9::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.35; Tue, 22 Apr 2025 07:41:30 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%5]) with mapi id 15.20.8655.033; Tue, 22 Apr 2025 07:41:30 +0000 Date: Tue, 22 Apr 2025 16:50:16 +0800 From: Peng Fan To: Mike Tipton Cc: Sudeep Holla , Cristian Marussi , "Rafael J . Wysocki" , Viresh Kumar , arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] cpufreq: scmi: Skip SCMI devices that aren't used by the CPUs Message-ID: <20250422085016.GA10830@nxa18884-linux> References: <20250421195206.3736128-1-quic_mdtipton@quicinc.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250421195206.3736128-1-quic_mdtipton@quicinc.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-ClientProxiedBy: SI2PR01CA0026.apcprd01.prod.exchangelabs.com (2603:1096:4:192::16) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PA4PR04MB7520:EE_ X-MS-Office365-Filtering-Correlation-Id: 265b8930-184a-420e-e317-08dd8171184f X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZdBpJACaoCjrF8xKz3DrxAwWVEb6fxY80QEOfTqX9Swgy3Jt+wRZoeb+z+pA?= =?us-ascii?Q?KdSyyxySoZql5+He5h1jItnUAGOAiYOGbF31W9TrR0zNMo/VKsz2Qb1Q8eI2?= =?us-ascii?Q?u/uDolLglpLk3+sOg22lvshoHs++NXCaEXfDL+V/hCK7B7pRY+Bya++Xh/WI?= =?us-ascii?Q?18Hl/KR71htgqsiqIups0sRAq6u6U9qv4PGayHQonDg///pFW7yc8UwwWcPL?= =?us-ascii?Q?Q+4zh1zvR8dPb0qV67mgjDA3NWKv6qcGoP+HWGQ8gIz6AVua3PVOAkJ3kkzw?= =?us-ascii?Q?BD0Qo4UPmMpvqhgqbdlvxeWmiSlIoV3Ut6/B8icFcE9/unvc/q+y5jeI94ra?= =?us-ascii?Q?FNUjp85VtHN0QfPUA4A/qbw0m1T3zMqQ29ZncaTvWncuFIXG45jb6pFCY6QW?= =?us-ascii?Q?hd2m3hLH82loZmyPLz3krjXEdbjoPpHDqj09Gf3CmiyCvg+yliRf1LEEdYnV?= =?us-ascii?Q?lYTc8anfga/xwh0+jXwJGf34I/IopUfxXaKA1ZojPzfyE/TzfXFpIngaJ7ua?= =?us-ascii?Q?Pqfq/ObY4mm0pdJyX56J3lNDjgMBOjz2tG6YLHoRdhdb7aQUEWUjYNtB+CGm?= =?us-ascii?Q?R2byUE4h+jtTMg/KBLO63hbjF1K3beTI9MuZ+WEAb2E1vLG/exiKtWfL4jSO?= =?us-ascii?Q?FV9o/VbNRRfV9vUHuqbeYf0+H1F6OFSBIdT9m/RLG08AgN36xQbGFnroIFqG?= =?us-ascii?Q?wJX9BYS4paVZ94jy65E/5sRTTyj/Vx69HwOdxBMhoyX5cTJDz/ubt5bopIly?= =?us-ascii?Q?YdRLXrmHrKDSckzHxwr6erkSMlm7binbuJiwcmRIOj2KOacs3WLIHgl1YgHg?= =?us-ascii?Q?cP6207DS87KchWGfKXUW+2gBIHLM0M/dWdDIew72BxMwL1VsLL1qzwOut9L6?= =?us-ascii?Q?XTCV9QWhGi9FkWKs1tcokhRqwZhQHSWwq4RTxzRRogQ7B6wN53lBatgmXt7q?= =?us-ascii?Q?yDfZxWNX83TGxvCCAWUrySlvVCyyswAm9Y2Kdi5w0Vgo8s0qXqcg9p9iu/zp?= =?us-ascii?Q?BXSzLtTgO1oD7GvVvUvu6jOEPfFPw5u/TzFDrmpkozMYcPo/5iK0MJRtJ+GI?= =?us-ascii?Q?KPdj9+DVod9k9Y3orZ3xA8VdsMTNTW674cFTE9JPzYhcvKkjBvZ803EIk8wp?= =?us-ascii?Q?gV6e4e69a6Sa4RK9hllUiebZgj14KF8txPrE9aS8GJqsS4fHkvMihKTcfGOH?= =?us-ascii?Q?BLv6wRIP2IKFfccbWPiWE9ln2lh2Y0FOwnQe9neGehyxP2WVV9iwbAvAOVbl?= =?us-ascii?Q?+ZSfI4gLg2JJQCgn9vq3AxMy5RNYHnhrcHNfmZo+fgwrm1PuHkRXpgz3IspD?= =?us-ascii?Q?v10ynovBSBvBpdNJLy1tb3txioGrAsNvBPqthy896vPPKYRDzRK/Jx2xewGP?= =?us-ascii?Q?x186cTYAkATKhg0XX5274nXJlfViB76y7951ElFBz3rvrgEW2ugzbbe2SAnX?= =?us-ascii?Q?p6Sk+y2d4JtJsIF2PUghyQ4YCslVreDukAcavaWu3IjEaYZEfCjFTR9id7iG?= =?us-ascii?Q?+gLoYt8eEZ8gCSs=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(38350700014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nGDPs2B2o0uw09vTw2cZ3WZiQGHbzTufb8DYi+o1FiaSNJUhno5pU+Kb5hzF?= =?us-ascii?Q?YZw1wW0Dxw133sK7bj14k4cKoQ4LgDfhWZXHuHm8WJejE2Rc/5dylC07lO7E?= =?us-ascii?Q?UOyP58gmJo8g6J9g3W6arcVRrp67pr3hOjPQ7QGLV+cXiKw8x6D0sqQgM3zk?= =?us-ascii?Q?ka7Zy5y9EI6Pdi78RwHXK6eTXreQ16uilPOT32j+zlbC/ExUbgMoglAstCr7?= =?us-ascii?Q?jHqja0bVeQ0v/ePYpS+o/nOMYvwhjgj64CLxbU0L+FJaeQMZ224sbAMe2ogR?= =?us-ascii?Q?B9Yt29mqGlT9JkeUZfCuWJx1WzZrwyTz6BfCbcQOf/F11340yWyOkg2vJ+R3?= =?us-ascii?Q?Jq3sBeXbgAc4j0Ab01p9upjiMa+AyB43hc1VDV9syEuVFSpBZuJowvdCMKqv?= =?us-ascii?Q?46Cb4HJ/mRuUvhFTBCC6XpdQKlXplsFaAUOseJUv6ipHjrrPY91oesRnlYy4?= =?us-ascii?Q?j1612IK2N+i4J3rBfuGis1wwJcpUHXKmLGK4C1fxa6Qm4CrTguQU+p+LyAnf?= =?us-ascii?Q?hXj75pBx8HdUooeF37UNK2mDFG6aJZMmuOOFMQH9frMx4JOlRarZvtfbawsO?= =?us-ascii?Q?PaMhQOea8IQWM6kX0xsBRUMyYgb/F02fBWF1JzWl+6D9Y9bai9kPJYqHcNpx?= =?us-ascii?Q?4Y8lPVFAR1FjHzPheIfiS4tqlfB4kWC/FvbkLAKSzSjcYQXyRTDH5HEAEDKF?= =?us-ascii?Q?gXh27XF8NvzkdrhYVhBko1HBbuYQFRQK59+iPqR85ccU6EMKu3s1BlqI6qtj?= =?us-ascii?Q?kKfRVu3kv3AyWtvoiSchkqlVi6BjY1BoSwSissHekpMxpLvkgMAN27xzn0Mb?= =?us-ascii?Q?N0NecVGndLjDW1wXWHsA9X/vh5ir/c3wMzp+JHndRr9FI+KTpjg/2fgwESWo?= =?us-ascii?Q?oeovAedp5kSMFjiVlBS5dnKIqgLI+efqBqrPQip0QCore/+jvM8DKUOEl6KI?= =?us-ascii?Q?/3cCcUqgWdi9oXVbwS92oYHCj3EdfARjJDBe89mVjBaaS3U3+23SE7DIWYje?= =?us-ascii?Q?quiKxdbYLQsxt1QU+ppNbicuyqfWnqHCbvWM7ctYtUu5x5ZgKdpbBl3Hqfnz?= =?us-ascii?Q?RyaDdnQrsRdWe8/LG9PPGC2u+QfkZqC5V//yEURkoj+F2RtIwMBcst7FJ5hu?= =?us-ascii?Q?AgF76VEbW698T92fJx/KEFdQbmlSJCMnBFXj9bzqsc8YDGO3iMVrIFsLpLcq?= =?us-ascii?Q?8joIRFjH9Y5zboixN2oR/0vkh8OQwnhTVeVqDm+CzppiC+WuFTBAQtL8ohjc?= =?us-ascii?Q?rHWLwrAW/sYQyCAybBKUa6HWtwaLULeLFDZW0C31xK53hG7rCrSRutBTX5hI?= =?us-ascii?Q?d0mX+3VFEDqOqCF4xy7m6lzvbRg18N6CsX9yYjbMAxynhH7/0fe/crtM2KfL?= =?us-ascii?Q?YGlsyijRGhKw/GgX6l1VWrGBSdgtfy0YCspJWF9NRRX38qITad72XFwGOo/L?= =?us-ascii?Q?3HDUdHztufUNb9xBWnmBJ4rbl37mRdP9EAGeI//hZwCKDLHtXKEO0hmyOnel?= =?us-ascii?Q?SAb6ctjRQihx4qm1lDzkycjGI/nvcMK+6NCbwypxWfjAtwyZxHXFt/EX2nrp?= =?us-ascii?Q?sZ8Iv7AOJuRtiOpHf8ndseIRc8DrHNMLdjqPIugb?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 265b8930-184a-420e-e317-08dd8171184f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2025 07:41:29.9576 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sygYAS6ZDdLaABmAMwTIB5K3Wnli9Sl1zVUrq8PnK1FUjj3wJJ9VNngP9peQdExczbBEOrORm2bTPdYMaG1ScQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7520 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250422_004133_690748_F8582BDD X-CRM114-Status: GOOD ( 14.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, Apr 21, 2025 at 12:52:06PM -0700, Mike Tipton wrote: >Currently, all SCMI devices with performance domains attempt to register >a cpufreq driver, even if their performance domains aren't used to >control the CPUs. The cpufreq framework only supports registering a >single driver, so only the first device will succeed. And if that device >isn't used for the CPUs, then cpufreq will scale the wrong domains. > >To avoid this, return early from scmi_cpufreq_probe() if the probing >SCMI device isn't referenced by the CPU device phandles. > >This keeps the existing assumption that all CPUs are controlled by a >single SCMI device. > >Signed-off-by: Mike Tipton >--- >Changes in v2: >- Return -ENODEV instead of 0 for irrelevant devices. >- Link to v1: https://lore.kernel.org/all/20250411212941.1275572-1-quic_mdtipton@quicinc.com/ > > drivers/cpufreq/scmi-cpufreq.c | 28 +++++++++++++++++++++++++++- > 1 file changed, 27 insertions(+), 1 deletion(-) > >diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c >index 944e899eb1be..b558f210c342 100644 >--- a/drivers/cpufreq/scmi-cpufreq.c >+++ b/drivers/cpufreq/scmi-cpufreq.c >@@ -393,6 +393,32 @@ static struct cpufreq_driver scmi_cpufreq_driver = { > .set_boost = cpufreq_boost_set_sw, > }; > >+static bool scmi_dev_used_by_cpus(struct device *scmi_dev) >+{ >+ struct device_node *scmi_np = scmi_dev->of_node; Nitpick: dev_of_node(scmi_dev->of_node) ? >+ struct device_node *np; >+ struct device *cpu_dev; >+ int cpu, idx; if (!scmi_np) return false; >+ >+ for_each_possible_cpu(cpu) { >+ cpu_dev = get_cpu_device(cpu); >+ if (!cpu_dev) >+ continue; >+ >+ np = cpu_dev->of_node; dev_of_node(cpu_dev); >+ >+ if (of_parse_phandle(np, "clocks", 0) == scmi_np) >+ return true; >+ >+ idx = of_property_match_string(np, "power-domain-names", "perf"); >+ >+ if (of_parse_phandle(np, "power-domains", idx) == scmi_np) >+ return true; >+ } >+ >+ return false; >+} >+ > static int scmi_cpufreq_probe(struct scmi_device *sdev) > { > int ret; >@@ -401,7 +427,7 @@ static int scmi_cpufreq_probe(struct scmi_device *sdev) > > handle = sdev->handle; > >- if (!handle) >+ if (!handle || !scmi_dev_used_by_cpus(dev)) > return -ENODEV; > With the minor comments addressed, LGTM: Reviewed-by: Peng Fan Regards, Peng