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 D05A7C3ABBC for ; Tue, 6 May 2025 05:55:32 +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=JC4JElB+rpQhiA/GcUeEL4R9keldKICAKef6QnSg7Os=; b=mC8EowIpUqtRlz8+7vifNzmZ9F XbjhFqrtVlYuTxW5ZfYWOenNNuXLleDTdDkgs9kybktUzvWktvS5kHUVUr/8BzFewlR9fdSw3vLAP s1qfYDKm61tOUgQF40ngI4MHiOqBdZrp0ujEHv24F4c4SY4aNm8pT9mapQJ80aBiez3oVMIuu5AAA E8GWela1rFeDoEcUORNmn+tnkD6KTokgC39ICo9FYhR5FPOQUHVGHgDVBFMxs0NYbln5pLaLRsZzQ wYkSrZ7DZOEF8gv42peQMb7YQURgufGYThYLXxZsDmz0RxdAc2zKTCuy7xU9KZt+duqwaVaCWMMRX YZlBGZ0Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uCBH0-0000000AY1A-3TV2; Tue, 06 May 2025 05:55:22 +0000 Received: from mail-northeuropeazlp170130004.outbound.protection.outlook.com ([2a01:111:f403:c200::4] helo=DUZPR83CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uC97K-0000000A1rZ-0yQs for linux-arm-kernel@lists.infradead.org; Tue, 06 May 2025 03:37:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KIQ3izgW6FsO/ClImp0LPRzLLdJq5Bmy9ts9nsSWfpknhxg2V6jMU357cHOqclVlK92AWThRkS8M3ACAls1/aPPVmziTSyI88H9EJqWKxPyRHJEdHt/B+B67mCBuR/JYsr8xWO04gIePl8HvDkJ7s0sVqJgZrig3f39azSSOuGZrDFrv/SoQGP1G+2kR4n3jvhxIsck94GnYzmk1ycO/m3pTMlhW0cMa9TqiahwMqjtEbTtHtRiNtw2TVd9Q4KSYtj7Wq3cLSSw5OAd5GbnCtgDyvbh+iaB/GJZRGXT5krtu60xsvXGcwNo5sG9FP6dnURpm8th22sSUZg8oc5nzSw== 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=JC4JElB+rpQhiA/GcUeEL4R9keldKICAKef6QnSg7Os=; b=Ci/b0oo6ojvvohn7qw/w/3zl9Pump0exrpm5PXUZGE/EuN81sUkF5hiVWvBr0yIHMRGNfT1Sc5xAvNbrHktnU8tqsawOaw5s0Vztd2iMEulTDemqQMhgJZmcf/Abc41N/9aXPbVDIR3qjGYsFq8Svp+a4VEj8flbL/u/pNOoyXH5jW2IQPk6UgBe0lBOZZrtFNu+6e+EDbiObGxwjGkGxfbWPDRUNpnkPAOZEhjMerzpknV3uEht6isAGmyPCSF0Z0ym5reBedcxy2mv5xt5XREeS0jDNDlc2KYZN8IkiilfZmD2/WGQQA/NiCDVZsVXfIfTcBRJ/wCYkQSmGuBPtA== 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=JC4JElB+rpQhiA/GcUeEL4R9keldKICAKef6QnSg7Os=; b=EkD/QNa8JhpXgWdAPhI2bz5pFWb02l+EaAGZ/dkDz6iHU+OWGT9dPZ0mUJZAfiGOOKzAOh/TMa5XcTOdUX9TIqJxw5V8xemkiVLstVIufsUmBz/2bLKFhfMRg4XRe3XdZ5ncx4ZPb3reriHzFyFEh124tMUTiCLExpOQoFppS6I+Kzv7usuRHXn/FjeExj4fGl/yTpeRXdnzFurqH4Lw7Ty53tzjLUEqmotygFXxCERU8yfIElTKRWsRMjH65EXNs8F2AhbwfW4tbhFtJg6H/PhdfhC5SzAt+R5R8L9WVIX9FLEl4nRv7eMv/ToNNyIM+bOYRP/rXok6Jmj+ntvn9g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB9PR04MB8461.eurprd04.prod.outlook.com (2603:10a6:10:2cf::20) by AM8PR04MB7473.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.26; Tue, 6 May 2025 03:37:09 +0000 Received: from DB9PR04MB8461.eurprd04.prod.outlook.com ([fe80::b1b9:faa9:901b:c197]) by DB9PR04MB8461.eurprd04.prod.outlook.com ([fe80::b1b9:faa9:901b:c197%4]) with mapi id 15.20.8699.022; Tue, 6 May 2025 03:37:09 +0000 Date: Tue, 6 May 2025 12:46:18 +0800 From: Peng Fan To: Hiago De Franco Cc: Mathieu Poirier , Ulf Hansson , linux-pm@vger.kernel.org, linux-remoteproc@vger.kernel.org, Shawn Guo , Sascha Hauer , Bjorn Andersson , Hiago De Franco , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, daniel.baluta@nxp.com, iuliana.prodan@oss.nxp.com, Fabio Estevam , Pengutronix Kernel Team Subject: Re: [PATCH 2/3] firmware: imx: move get power mode function from scu-pd.c to misc.c Message-ID: <20250506044618.GC24259@nxa18884-linux> References: <20250505154849.64889-1-hiagofranco@gmail.com> <20250505154849.64889-3-hiagofranco@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250505154849.64889-3-hiagofranco@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-ClientProxiedBy: SG2PR04CA0169.apcprd04.prod.outlook.com (2603:1096:4::31) To DB9PR04MB8461.eurprd04.prod.outlook.com (2603:10a6:10:2cf::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB8461:EE_|AM8PR04MB7473:EE_ X-MS-Office365-Filtering-Correlation-Id: 79ecb0d4-8001-440d-d7e0-08dd8c4f47ca 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|52116014|7416014|376014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ktN0AzhIkz13rwyAllRN3MtsxbZkJUb9n48oZmhHIqd4W7ya0I2+V+y5onYi?= =?us-ascii?Q?zhSkp5cEGdYMiktM5Hp+G/mjYf0iHZtOAfBwPfn7BViqFZQ/v6Y2a6V7Dy8X?= =?us-ascii?Q?kjzfH/ti7TFbibCcSsIZ5wbQCDtS618gqK/USDaMCILOvjtL6mQ/pMgptFeQ?= =?us-ascii?Q?m9Gmimn6KtDODkyyW3dMSlEnyCe7CklfkG0lC8PlCSF0d/Am55+0bTb6pxE+?= =?us-ascii?Q?WiGDFedIHoomb/SyaycQyn1JMZqPQneVVF04tZCvaXXQdl5OofKh16qIqUuU?= =?us-ascii?Q?sStqiZvuWMl97NJYU94/cJEBaXtNN+M9n/KgthUpFZY85x9GR/iOKtfEgIUz?= =?us-ascii?Q?cZ42jWeS0keR1IUWr/YAU0+7RQYqWuO4+FZtnhisOeo8Ya+1kNImBe/jSRpp?= =?us-ascii?Q?Rcnfx6wrqlysm1EXFdjzCT/iHnEZ58RCrplSs+GSUYjx7s34ciujZQUkW007?= =?us-ascii?Q?NFYVfRzX9YEiiH/2goBF8QnX1/wKKbY3ETIJfqN0BScycdhWYU3euNEleAbH?= =?us-ascii?Q?lW2of1GSZmIdwL65sPatVfHiqTH+cnKErjauu0MZ8x2uNyGBK4gi0c26kbiF?= =?us-ascii?Q?7Z6m7SCTlWn4hPMfuGdo55KrLKi2+hLEhjs2w5+YxGrbjgON99QKjWscTATE?= =?us-ascii?Q?TiNzboaSqxkKV1QO+RCHRgMlYd0cqS4qNDmbukvziXqFKGnZG+uY1+HZuHxV?= =?us-ascii?Q?0RDfDbmkmEQlqHWjGHmcnpRGO04pW68UG+mDY7GxEAeN1jVR1DpEcjCw7BYk?= =?us-ascii?Q?KRSOCqa8TMKHSyZUSUfIIGBuo5eJIApLzLuE8oMvNrmgBZcXnAkgb8mJLbep?= =?us-ascii?Q?V8GJT/flPrLj8d12iodo8aPG4PCxgjfbO4hBIULXT1+3rd63sLscIFPzxtvX?= =?us-ascii?Q?G/kM0qmHSdFBARpGzsQ1WdpXhss9gmY6H/dyuNpFUqFh/s/YrkRpGxHMOiit?= =?us-ascii?Q?WVr2Vnfl4elOKgYTgcTtjwc1HLe0lmPRGlIQYYPgA972TsMG0JRNf3D1jZGZ?= =?us-ascii?Q?K+LThrhS/5+uZpklTI13DUwRSSbB8gogS+ZnDxpMh08eVCq/S0P5ggB9iZz0?= =?us-ascii?Q?Raa0kD0oFVDF9OHL0Hm+st2hIlTk+aC8zDjcTflf+8KI9xKFDVDJxoTHmPNg?= =?us-ascii?Q?dHN0I3DV1vrftOQvK4bVgq5ccEA7RtSlbRRw7652u2TFvQvG8u7MTtAWW3/f?= =?us-ascii?Q?bhTC2O4OPVo4DcaCSD5kKhb0K4xxWYbHQWlliTht8eSapqtW1+elocIfzRCf?= =?us-ascii?Q?gWSED2c6D8m7fDlkq3xgaoPJ83c8YqDrJOhp+bJdQYHFK7dUsbBQVyGZ30fX?= =?us-ascii?Q?KTKDF7ipxMgvL3P83yKl2Qa4DyLdKSEvtWLrNpUp0+L6H71qmNhwpvUP2zRS?= =?us-ascii?Q?2aAFigOmtuHfLuU18mF6DmdFR+tktJKI5uSIEt/7q1KA7U1OqOohIvtNfHui?= =?us-ascii?Q?DWn8DuwO65+N1WAWban9AZb+t3/HFoaBQZK63sGAWanTboYxHvxEUC1RLs1V?= =?us-ascii?Q?KIQWVfdDHemFPoc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR04MB8461.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(7416014)(376014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ixx64L6zo6+/09YPudv7K6a2SMH3JkDSEUdZ8a+2wE19rgPuALcmHrbs6guq?= =?us-ascii?Q?9f3Z72ciwC9YUmYFAuRk2/W7pzzhC4qHreq0QGNDlYAoYcD87s1dt3iNCTyA?= =?us-ascii?Q?vaahQdCnYxOPjI3cOS4JmGLwSt7sgoFeqx3ByVdDoYOm3q4UwwPfQx+UcEAJ?= =?us-ascii?Q?zViCrdIM+N43c4M4TrgAyfRe+33F4YGezhZDu13OvwCiNtSte5CIFskcydH8?= =?us-ascii?Q?Nkkods7ctaMu+in+t2wF6gxuGQ6To+0A4x/VHZv+UvYsSz2I8xWaD7UHVxLw?= =?us-ascii?Q?OL6YneofOV1TJ6MxJyrWNqA7quXUJNnbMttH+S02M3mvkTKR+oPEeApzPCoi?= =?us-ascii?Q?Ijc1s9/luVJE7rnCKKMKIQDAO87ATQW6XSZXHxOpJYrVlPtFKkQGudzHRLmK?= =?us-ascii?Q?yBhWMgcu5exoJdgFxfPvBKDg6M8LVuEzFcnHKLYwQslNZLN++nz7bSSFQmnL?= =?us-ascii?Q?3BOr6jFc+las4P7IWL/RniP4VTkFIRCo/ZzTNp19uKrNy3WF2kqXgOom8YW7?= =?us-ascii?Q?RSBYK5b9E7w+aivvbyx6F+Fkg8YutC9sPI7IGHg4HQZVPDy+etT9zOOpXVNg?= =?us-ascii?Q?EH9cPotw+S/+3vsBJGsabfP9EDcHr0y/Tfll9Zzx+83PfSR9y5bWV+cY+a/4?= =?us-ascii?Q?ow0tfRJZnNbOL0VuZ9ZbQcqXRFofXV/FQODBaAjHG6nFpGpWnihx+/xKM4wx?= =?us-ascii?Q?suvJZT9Q3hZNodUvSOXfhvGM1PMztiEPnC3xQN/PZpZy0/gmjmLR+S8Mbend?= =?us-ascii?Q?/1roYoP3mNeaN+Q/Cx4UF9xH5sGhI8gNJgdmHn9gLSDwAGdqEruTsn7mIErZ?= =?us-ascii?Q?Tlqm7VG6gfivT5MbOzI3S+b6EYOVq3eUGDhH2oPYtoz5TACcCjryt9ynZUnA?= =?us-ascii?Q?HcYP65bK1UNl/gVG3Of5OxfZ/ukJXBEuipUu0TOKW+J9QO2JqdgWK3/tOXA5?= =?us-ascii?Q?azVoxKLQxD2uX2ZFBXMkIEAsTDSvAup7nujz6FAvVCWoRZoSfo98+P+tVY8I?= =?us-ascii?Q?Nnhj9A4XMp+rX3eD+AC/0jmPjzuthiFYZ0tYDbq2jkypmeGhcq9TPLPCymgw?= =?us-ascii?Q?gowW3RiTHz5RlYfsANpu+eTAaIgPmBSTQbBdKFuAPnvxQoHCekMyjDsvwxF5?= =?us-ascii?Q?309ti15T+AuGiZWtJgJGV9CWm6fYWSbjJsMXvEGNT2kfXPhkBUQZyH5s1izp?= =?us-ascii?Q?EyEqYRn8Q3YyqzWJq+mZMu2QwEf/oY7fjmnr4ileT6e/hN1w3okWzJ8em8z6?= =?us-ascii?Q?kNxwVJCpcHzolrYfERmZ2BAj9JY6bP79nvub3ExPGEBTgk5Tg0+nzc+znhMW?= =?us-ascii?Q?YfL96Wp+wpQgFObKLGmqs2pPrefGxXe/AV5YTQAKxtHvpVAk2gb1wN4yVwV7?= =?us-ascii?Q?MXu/2dtwsLrrOGp44690tX29BtqxmUS6TyLnfsiLYfPbc4ZKAskcZjfGZJ1s?= =?us-ascii?Q?+LjRzr4y6S9Id8Vnw7uPlsUL7DHV1gYyB6JPP52ALXI1cFuUbTeDBRKg/BXz?= =?us-ascii?Q?xPHgev/ynh2ukeJXo4cjwjyH3/enNRiZNdrnA9csmqUn9iuhjtswyhHNXNc0?= =?us-ascii?Q?ar/rIsVlyRtEURBc+Z5cLQx4eFXBdFiN1WL+OKNF?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79ecb0d4-8001-440d-d7e0-08dd8c4f47ca X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB8461.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2025 03:37:09.3773 (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: mQzJjZYVCOym1PcGIsbIzc9o9L/710PkFtpRLqYMa7gkNZM4D2xBm4YMZNsmBjHYXJLVPrOaZ49PTI+GkQjrPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7473 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250505_203714_418884_A959FD3A X-CRM114-Status: GOOD ( 17.83 ) 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, May 05, 2025 at 12:48:48PM -0300, Hiago De Franco wrote: >From: Hiago De Franco > >Move imx_sc_get_pd_power() from pmdomain/imx/scu-pd.c to >firmware/imx/misc.c and rename it to imx_sc_pm_get_resource_power_mode() >to maintain the same naming logic with other functions in misc.c. > >This makes the API available for other use cases. For example, >remoteproc/imx_rproc.c can now use this function to check the power mode >of the remote core. Better put this patch at the first I think. To be simple, I think just export imx_sc_get_pd_power in drivers/pmdomain/imx/scu-pd.c. And add the function declaration in include/linux/firmware/imx/sci.h. Not sure Ulf or Shawn is good with it. Regards, Peng > >Signed-off-by: Hiago De Franco >--- > drivers/firmware/imx/misc.c | 47 +++++++++++++++++++++++++++ > drivers/pmdomain/imx/scu-pd.c | 29 ++++------------- > include/linux/firmware/imx/svc/misc.h | 8 +++++ > 3 files changed, 62 insertions(+), 22 deletions(-) > >diff --git a/drivers/firmware/imx/misc.c b/drivers/firmware/imx/misc.c >index d073cb3ce699..61fcb0066ec9 100644 >--- a/drivers/firmware/imx/misc.c >+++ b/drivers/firmware/imx/misc.c >@@ -37,6 +37,18 @@ struct imx_sc_msg_resp_misc_get_ctrl { > u32 val; > } __packed __aligned(4); > >+struct imx_sc_msg_req_get_resource_power_mode { >+ struct imx_sc_rpc_msg hdr; >+ union { >+ struct { >+ u16 resource; >+ } req; >+ struct { >+ u8 mode; >+ } resp; >+ } data; >+} __packed __aligned(4); >+ > /* > * This function sets a miscellaneous control value. > * >@@ -135,3 +147,38 @@ int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, > return imx_scu_call_rpc(ipc, &msg, true); > } > EXPORT_SYMBOL(imx_sc_pm_cpu_start); >+ >+/* >+ * This function gets the power mode from a given @resource >+ * >+ * @param[in] ipc IPC handle >+ * @param[in] resource resource to check the power mode >+ * >+ * @return Returns < 0 for errors or the following for success: >+ * IMX_SC_PM_PW_MODE_OFF 0 Power off >+ * IMX_SC_PM_PW_MODE_STBY 1 Power in standby >+ * IMX_SC_PM_PW_MODE_LP 2 Power in low-power >+ * IMX_SC_PM_PW_MODE_ON 3 Power on >+ * >+ * These are defined under firmware/imx/svc/pm.h >+ */ >+int imx_sc_pm_get_resource_power_mode(struct imx_sc_ipc *ipc, u32 resource) >+{ >+ struct imx_sc_msg_req_get_resource_power_mode msg; >+ struct imx_sc_rpc_msg *hdr = &msg.hdr; >+ int ret; >+ >+ hdr->ver = IMX_SC_RPC_VERSION; >+ hdr->svc = IMX_SC_RPC_SVC_PM; >+ hdr->func = IMX_SC_PM_FUNC_GET_RESOURCE_POWER_MODE; >+ hdr->size = 2; >+ >+ msg.data.req.resource = resource; >+ >+ ret = imx_scu_call_rpc(ipc, &msg, true); >+ if (ret) >+ return ret; >+ >+ return msg.data.resp.mode; >+} >+EXPORT_SYMBOL(imx_sc_pm_get_resource_power_mode); >diff --git a/drivers/pmdomain/imx/scu-pd.c b/drivers/pmdomain/imx/scu-pd.c >index 01d465d88f60..945f972e636f 100644 >--- a/drivers/pmdomain/imx/scu-pd.c >+++ b/drivers/pmdomain/imx/scu-pd.c >@@ -54,6 +54,7 @@ > #include > #include > #include >+#include > #include > #include > #include >@@ -328,27 +329,6 @@ static void imx_sc_pd_get_console_rsrc(void) > imx_con_rsrc = specs.args[0]; > } > >-static int imx_sc_get_pd_power(struct device *dev, u32 rsrc) >-{ >- struct imx_sc_msg_req_get_resource_power_mode msg; >- struct imx_sc_rpc_msg *hdr = &msg.hdr; >- int ret; >- >- hdr->ver = IMX_SC_RPC_VERSION; >- hdr->svc = IMX_SC_RPC_SVC_PM; >- hdr->func = IMX_SC_PM_FUNC_GET_RESOURCE_POWER_MODE; >- hdr->size = 2; >- >- msg.data.req.resource = rsrc; >- >- ret = imx_scu_call_rpc(pm_ipc_handle, &msg, true); >- if (ret) >- dev_err(dev, "failed to get power resource %d mode, ret %d\n", >- rsrc, ret); >- >- return msg.data.resp.mode; >-} >- > static int imx_sc_pd_power(struct generic_pm_domain *domain, bool power_on) > { > struct imx_sc_msg_req_set_resource_power_mode msg; >@@ -438,7 +418,12 @@ imx_scu_add_pm_domain(struct device *dev, int idx, > if (imx_con_rsrc == sc_pd->rsrc) > sc_pd->pd.flags = GENPD_FLAG_RPM_ALWAYS_ON; > >- mode = imx_sc_get_pd_power(dev, pd_ranges->rsrc + idx); >+ mode = imx_sc_pm_get_resource_power_mode(pm_ipc_handle, >+ pd_ranges->rsrc + idx); >+ if (mode < 0) >+ dev_err(dev, "failed to get power resource %d mode, ret %d\n", >+ pd_ranges->rsrc + idx, mode); >+ > if (mode == IMX_SC_PM_PW_MODE_ON) > is_off = false; > else >diff --git a/include/linux/firmware/imx/svc/misc.h b/include/linux/firmware/imx/svc/misc.h >index 760db08a67fc..376c800a88d0 100644 >--- a/include/linux/firmware/imx/svc/misc.h >+++ b/include/linux/firmware/imx/svc/misc.h >@@ -55,6 +55,8 @@ int imx_sc_misc_get_control(struct imx_sc_ipc *ipc, u32 resource, > > int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, > bool enable, u64 phys_addr); >+ >+int imx_sc_pm_get_resource_power_mode(struct imx_sc_ipc *ipc, u32 resource); > #else > static inline int imx_sc_misc_set_control(struct imx_sc_ipc *ipc, > u32 resource, u8 ctrl, u32 val) >@@ -73,5 +75,11 @@ static inline int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, > { > return -ENOTSUPP; > } >+ >+static inline int imx_sc_pm_get_resource_power_mode(struct imx_sc_ipc *ipc, >+ u32 resource) >+{ >+ return -ENOTSUPP; >+} > #endif > #endif /* _SC_MISC_API_H */ >-- >2.39.5 >