From patchwork Tue Nov 24 10:08:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dong Aisheng X-Patchwork-Id: 11927875 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F40BEC2D0E4 for ; Tue, 24 Nov 2020 10:26:44 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7EC45206CA for ; Tue, 24 Nov 2020 10:26:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZLxis8OR"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="gp2gF0Sn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7EC45206CA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0cvoOqrFxFy49mDJzE1cp+0XvYN/ClM8siwUh+TznHk=; b=ZLxis8ORb0WNro2LjbzavJAVU fujWTB0YnugCVjdmyzLZvxLVH290zgsGDjXjOh+WQqwblkXWeiSdxdQro2RJp/n/5hGj8uaco2TS4 eTO8xQWt7xmezsDrkP2m3yEFJsjEdAMHVtcacAshDWzzxcpwr/GqyqJwPfwH/B6kgsnzzZIioN27S B0Md5LKNZqx+PSpnbVtOP0KKBtiKFUrPQlIl4N0Q4LgyvPqveTEKWRiyuidbdIjAN/lCt1OlGgk8+ GpXggMJfK6XHYpiyBPx99LkyBm1U1LuMZrzMeQXNAhPwaZvtlj7E6bpfARZaG0vYG9BctEFnkGoZc ywtUW1zDg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1khVVs-0007EX-TY; Tue, 24 Nov 2020 10:25:32 +0000 Received: from mail-eopbgr80059.outbound.protection.outlook.com ([40.107.8.59] helo=EUR04-VI1-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1khVVg-0007Am-NZ for linux-arm-kernel@lists.infradead.org; Tue, 24 Nov 2020 10:25:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i9ZUZJoWoBiwMrd54vK89GM9TwO4HEcFCpKp9TmMCz61wrzHMZFg4OJi4KbUuuieyPijFvtY7hzlMfAlXKCzEDAGpFQUwrmaG1enl+odQWLy9J6rCwMlqnrg1mMpm/qGxxMC39iboZwFiDV57w7MOhVt2WQvIKq04lMu88Z2b4Ve9i/I+w3q4RtQgmQrrT8kgCOsXu+GrcfDwGY+oBjg5DfEsT/T0jqA+vdc+f8xZ0BDGdD8nVvShR5jzpK4+8v0jEdJcotkllRB8srNux4/g+KFH5epTyCcFYfPGle7/Q1Oq0J6esJcLLGYLX67jH1kN+nJGvNKlXnQ4VLQFA9haA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Rt+YP04b0t/9T7hIjTkFE4HBmL+T38d3Uq1xS9V3qVQ=; b=e4nlLhKn/ilr7JfDK2IKLRN6ahqQZBvnApNR1YS5Xz7ruklpEN/7yIYAGrc6bMEalXmj+Dop9+vtHo23+z7zObjYvH29pKpwnECRHCA5iotrQgYCArzZyWP9MB6ZHBtOD/K+L5w4zL4RrK1xCQw+IGEgptad26pOYRbshkK/3gfF8ZQTcSoSVuW0B655kW0P2UQu1vNAaTcUvn8z0SzjaBIPnxD/DstbHIa/hEcjcjVti8Eh1Nk99mvwDMDTYRVY6vShS0LsPjmqX4jlFDZPpbBVFUVIzZwmvg/DDxb40sonvGI/tkIswVgd0+oeECXpJwwdGeBQ2vA4t+swTfAbCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Rt+YP04b0t/9T7hIjTkFE4HBmL+T38d3Uq1xS9V3qVQ=; b=gp2gF0SnBfgc5pHo7KRtmAG7bR3ZyCdxRFMQyZTPDZvC5aS68I0MjrsF5gdcRBYbevhtU7VR7GIKkCs9odyFt7tMc+1/jpE9JV/UTFfTGSUccw2Bi9VeKwRyfZSr7me9Ou480ZBeBNt/Ez4kTZa5zDRVZx8lvZBvzJE4LibNefY= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4966.eurprd04.prod.outlook.com (2603:10a6:20b:2::14) by AM6PR0402MB3669.eurprd04.prod.outlook.com (2603:10a6:209:1a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.30; Tue, 24 Nov 2020 10:25:16 +0000 Received: from AM6PR04MB4966.eurprd04.prod.outlook.com ([fe80::3cfc:a92e:75ad:ce4a]) by AM6PR04MB4966.eurprd04.prod.outlook.com ([fe80::3cfc:a92e:75ad:ce4a%3]) with mapi id 15.20.3564.029; Tue, 24 Nov 2020 10:25:16 +0000 From: Dong Aisheng To: linux-clk@vger.kernel.org Subject: [PATCH 2/3] firmware: imx: scu-pd: export SCU PD register status Date: Tue, 24 Nov 2020 18:08:01 +0800 Message-Id: <20201124100802.22775-3-aisheng.dong@nxp.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201124100802.22775-1-aisheng.dong@nxp.com> References: <20201124100802.22775-1-aisheng.dong@nxp.com> X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: SG2PR02CA0054.apcprd02.prod.outlook.com (2603:1096:4:54::18) To AM6PR04MB4966.eurprd04.prod.outlook.com (2603:10a6:20b:2::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from b29396-OptiPlex-7040.ap.freescale.net (119.31.174.66) by SG2PR02CA0054.apcprd02.prod.outlook.com (2603:1096:4:54::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3589.20 via Frontend Transport; Tue, 24 Nov 2020 10:25:13 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 42cb6794-8faa-42fe-55e8-08d890633c7f X-MS-TrafficTypeDiagnostic: AM6PR0402MB3669: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NpEO0Jy1nPKsP9XiK+Kk0zPMNbeRojme8DSaKk6mdvCzMq01LJnUlUMN5LlvbaxLSKNA4brdClPjhFG3m1HSOKJbHhYJabNYdidnnChH54fKZ2o3xqLOYGmfX155EET02Qzxc5I879DvgVhw6xh3PAA43GsIiErVoPdO+md9S0qChPZt1uEvFxuwog9THT8GDGfVfsnMcpepGc4EpHpUftVvO2iAZUFO+GIhuEN0C2KrmniDJvPyNer4HyzJyBpBzms3rrFNLpo6Ha1fW8T8r+EdS34oeBv025am+VwfawgHMyimZf8NVvwlFZVBybe4MIUycokew91FGMC8hVYLaUFxERdmRZk7HBMTgkj6k7Az7iUNQU70EcV13z/GvIwqSDyHK+zYJ7+ubxcMC6M97A== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4966.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(366004)(36756003)(2616005)(8676002)(966005)(52116002)(6486002)(6506007)(86362001)(1076003)(8936002)(956004)(6512007)(478600001)(4326008)(316002)(186003)(6666004)(83380400001)(5660300002)(66946007)(66556008)(2906002)(6916009)(16526019)(26005)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: QVNJJmNl+A/7s8Di9x8pyiOaI8MKieIsg1MC2SF175TTWWErP8srLqmELgLJYYCdwTacKq/bzGHGS91TB+P5kIg/p6QaB9+sUuH2dDbtHlrX/rkEltg4irUMK+lGUbIkmSRwQPoyr2uwh+ETvLRjk2ZEWTWZ4tMGr/fLwGc/6z6+YkgBxKon3elFi6/wzt+ub/+5YG8ePKiLSAup6k+V3UIMrG5c8yuLavERqrrrK9bRNtpI1XLsK/XaKNzjN+lLyvawYloZMIA5LHJYoizAWx1j3Mhd6l6haK7m+orVL32FCPCqaqfTlTKDlKq8mJI1Syk0sosqyhY2fFs70IwDna4qVoOK1d6MsWFvYPpfU3ls5nGuq99istjBIuA9C+Mi0Cr1HdcBx67eoVs66S0Wm8lLDelLQQdvDE+6Or/+xaiFErpC9SjKJak/kceypxRaMAcldNcVngFjKzUSQGufYU1VyDbnqVptXoct+05Y5EWAMHPY1Q/57PUmkYqZ2T5I/BCzpgs8esA0qBURNJ95pIxlvDMh5Li+Cr12RRWfPK9+ruq0fU4vUeLh2VeX730UDDe7TYFzgMulV6oaZAPDW7C99F+WJFPLfTsc8bDv35QZ6CASWbtCUmAxEpjIx8ClOGdvf+vYMDMfuXmOjm1ifPvVax6vruQA0BgIC0QDuiJJtSG5G92Fk+PdhFIL4N2vB1DqSBO0Uv3OwpNJWWiSPTWJZXB+J7f0rk7z0+6do0YJwafcloqPY/nJeo3A2Cry38g60UVok26Vd6RlqjkiWGU3rw2S226FhrnW+JvNRIUtijzpKl8KW7SnKCljgxNpo0CKp5UmN3+Nn8SabvLTgZg2BvGwICnIa2YYcUij+QdDhOsMTDsBVAQcnqNVE1Zj73ZWhm1VtH9ZrrCCU+NeYA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42cb6794-8faa-42fe-55e8-08d890633c7f X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4966.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2020 10:25:16.7103 (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: W55KK7xc/NTouzlBRG6Xv1umAtlYVZy1Wysb6BqG26thMNMKtPDKXByVq/zQJws/iKi3LigBO8z9/Mi1GUGUWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3669 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201124_052520_888913_B7C00591 X-CRM114-Status: GOOD ( 18.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dong Aisheng , dongas86@gmail.com, linux-pm@vger.kernel.org, sboyd@kernel.org, linux-imx@nxp.com, shawnguo@kernel.org, sudipm.mukherjee@gmail.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SCU clock-controller (SCU clock protocol) does not have a power domain property in DT, but the sub clocks registered requires power domain to be ready first. Export an API for SCU clk driver to query the status in order to support -EPROBE_DEFER properly. Link: https://lore.kernel.org/patchwork/patch/1334670/ Signed-off-by: Dong Aisheng --- drivers/firmware/imx/scu-pd.c | 20 +++++++++++++++++++- include/linux/firmware/imx/sci.h | 6 ++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c index 946eea292b52..53b49ef20014 100644 --- a/drivers/firmware/imx/scu-pd.c +++ b/drivers/firmware/imx/scu-pd.c @@ -86,6 +86,20 @@ struct imx_sc_pd_soc { u8 num_ranges; }; +bool imx_scu_pd_initialized; + +/* + * SCU clock-controller (SCU clock protocol) does not have a power domain + * property in DT, but the sub clocks registered requires power domain to + * be ready first. Export an API for SCU clk driver to query the status in + * order to support -EPROBE_DEFER properly. + */ +bool imx_scu_pd_is_initialized(void) +{ + return imx_scu_pd_initialized; +} +EXPORT_SYMBOL_GPL(imx_scu_pd_is_initialized); + static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = { /* LSIO SS */ { "pwm", IMX_SC_R_PWM_0, 8, true, 0 }, @@ -351,7 +365,11 @@ static int imx_sc_pd_probe(struct platform_device *pdev) if (!pd_soc) return -ENODEV; - return imx_scu_init_pm_domains(&pdev->dev, pd_soc); + ret = imx_scu_init_pm_domains(&pdev->dev, pd_soc); + if (!ret) + imx_scu_pd_initialized = true; + + return ret; } static const struct of_device_id imx_sc_pd_match[] = { diff --git a/include/linux/firmware/imx/sci.h b/include/linux/firmware/imx/sci.h index 5cc63fe7e84d..0eaf00ad6305 100644 --- a/include/linux/firmware/imx/sci.h +++ b/include/linux/firmware/imx/sci.h @@ -22,6 +22,7 @@ int imx_scu_irq_register_notifier(struct notifier_block *nb); int imx_scu_irq_unregister_notifier(struct notifier_block *nb); int imx_scu_irq_group_enable(u8 group, u32 mask, u8 enable); int imx_scu_soc_init(struct device *dev); +bool imx_scu_pd_is_initialized(void); #else static inline int imx_scu_soc_init(struct device *dev) { @@ -47,5 +48,10 @@ static inline int imx_scu_irq_group_enable(u8 group, u32 mask, u8 enable) { return -ENOTSUPP; } + +static inline bool imx_scu_pd_is_initialized(void) +{ + return false; +} #endif #endif /* _SC_SCI_H */