From patchwork Fri Oct 6 14:56:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ed Blake X-Patchwork-Id: 9989637 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 100A56020F for ; Fri, 6 Oct 2017 14:57:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C4A128DC7 for ; Fri, 6 Oct 2017 14:57:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 011E728DCA; Fri, 6 Oct 2017 14:57:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3F59228DC8 for ; Fri, 6 Oct 2017 14:57:00 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id D314C26765B; Fri, 6 Oct 2017 16:56:22 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 17FC026765C; Fri, 6 Oct 2017 16:56:22 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10070.outbound.protection.outlook.com [40.107.1.70]) by alsa0.perex.cz (Postfix) with ESMTP id E6CC1267643 for ; Fri, 6 Oct 2017 16:56:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sondrel.onmicrosoft.com; s=selector1-sondrel-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=6+A/cDLtFkPKpog4QxKXY489pNeTQtWjcpjyQw5/seA=; b=1TQwB39X6y/eBtLd/onnB64OwBIPNnvMynJ8b5PhcYWBt4J8l+n+1PXx0NbWQfNAx6ovy3qXqjaSuTWSc1XWu4qOqY3gx3Sgx9YQiFd67LocNpbr1nua0SV68iydxw0OftNZxc56DK6O4Vj+0FU3EHsQPYx2wIEoWCmWr/s1aZY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ed.blake@sondrel.com; Received: from blake-linux.sondrel.com (195.88.9.101) by VI1P191MB0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:800:a4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 6 Oct 2017 14:56:13 +0000 From: Ed Blake To: lgirdwood@gmail.com, broonie@kernel.org Date: Fri, 6 Oct 2017 15:56:07 +0100 Message-Id: <20171006145607.13709-3-ed.blake@sondrel.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171006145607.13709-1-ed.blake@sondrel.com> References: <20171006145607.13709-1-ed.blake@sondrel.com> MIME-Version: 1.0 X-Originating-IP: [195.88.9.101] X-ClientProxiedBy: DB6P190CA0017.EURP190.PROD.OUTLOOK.COM (2603:10a6:6:2f::30) To VI1P191MB0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:800:a4::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6f81678d-40ea-4b59-7013-08d50cca63fe X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:VI1P191MB0016; X-Microsoft-Exchange-Diagnostics: 1; VI1P191MB0016; 3:RpB2wBP2Hzn/sKLHr+2ZK0Lt4+dJl/PyKWVnjkROT1aPshuqB2ssMcQPdrKXrCOzOLXMd3SzOj4FKKWsRkTaVTWuEUkMvakcAUzLCqgUEjquPIxgUphivQD6a6bcf5V45maid4xf0Hzdac0Zr7+dx4MBFPrzFg7ZPWt34oRNqTUnJMD64l5pe3j9wg5rMPjG930u+SI22yWOwmEJM86x3Ybz7AWrl17mpVfrp3jQBET8sVeI0Yd7eFoiJDAyqhGX; 25:+WVKj0qM84SXvgBajMr2o8xLUWt+UCLBLkdEDWFWxLcLCazizFzTQ1Ezzd5IHb43i8pg86vmeQyh4kncSKtuSUyBApnICCWIRFmy/7VebwWqCNNfoobD5m8T81aRC6jwWmZ/neh6mu+4VHnwYcjojCK7y8fPj0mk5ezwl2AHPsBrK8oNRcNyyqA/f+Slc8OryPLij+Ic4y7ysystPTb88yPEzJvov7IAqDzN9ckVY4d1o2lKG+HCsrV3ibL20zPUp3lN6VqzFxhCQETXbBYLV2QrJ9Tr8C3B+WGOkBi80hEzwDHhsT7+4dskgvKS61ETMdTmCUfOkS4ssLtFbDng7w==; 31:PEzLBnWWba94TJgdFYA6uJaOwZQP4+O0gvoamffcypALOyNUW5jYlqofI9SnIT2oeyT1Tw80PPsKqR8K7ajlZ7EusQVdll89DIkm6IbkL3mzLvlnFVlkRJgkvCoACBtH5bxHlQyICJQ5LnUQjEFHg2Y11K8U2uJ8pCR3oD2ixaEZQZeWMWddxwYoEi8PicAw1RATK8VDD4sj02dLVpPubwR2oCIR/O9lIit+wHDvK5g= X-MS-TrafficTypeDiagnostic: VI1P191MB0016: X-Microsoft-Exchange-Diagnostics: 1; VI1P191MB0016; 20:pZ5YX1RUZRKiBhOGRjythpOzNmId+Mg6b45LhI1xKdEQf3hxZPl5ZDOPHlMcQioJDiJMIVOleLyTMY3ZfDIZrc9fS+d+yr0jSWU8g94Ohsjll0h6S3X+MkmbWgyNwKjYmPA9SDcXPHW+W+SADZmIv3SfaaeyCk7NV+qXa9hoVmoMsY80a5mMpmdE6zWW/a+czggGmNQ9I6mJYXLW70DQiw33svH5PNGJ/ZII4FKmTWoWVfBEV5/4sCPuiBj1aYXT; 4:nnUmuhjyHB2PUSn+rQl1fJOrtt0dkQB0C8Rm2idj6BWYAOwI9HLuj6TMwBn6xkz22ZrL1vW+JYtii6Hs3XRDNFQPhTmOfp5G4j4fTW5RRYEVKumLdevlMajy+LLHFkENlAJJMn1vCIAixQoUyyX8UmAgnMhblw+kLNuE+kTraxcHKea7qyKlQfUJURGvEdsTeyq1OwxjZeX//3h7rMzRhXLpPz8RJBQBV6hHn8FDuMngVbCeLVRUXz+K6uYyqhFR X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1P191MB0016; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1P191MB0016; X-Forefront-PRVS: 0452022BE1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(39830400002)(376002)(189002)(199003)(23433003)(189998001)(76176999)(97736004)(4326008)(230783001)(39060400002)(5003940100001)(6486002)(3846002)(1076002)(5660300001)(106356001)(101416001)(6116002)(305945005)(50986999)(478600001)(16526018)(6666003)(105586002)(33646002)(107886003)(86362001)(53416004)(81156014)(81166006)(8936002)(25786009)(48376002)(7736002)(53936002)(69596002)(66066001)(316002)(2950100002)(8676002)(36756003)(16586007)(2906002)(47776003)(50466002)(50226002)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P191MB0016; H:blake-linux.sondrel.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: sondrel.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1P191MB0016; 23:Bk3smufvWakQs6wEuAD4kB+1wvlnH3pHEicqzkj3u?= =?us-ascii?Q?vUEGJgtyecblwqMXoPEw8IHNAzww9HK4oGoEsiUlvzCVwGeFnsEbcdap2Ns/?= =?us-ascii?Q?nXiBmZTSHtlC9p8X/OUiu4fgJ0sMPTYFAZeylCXkqI+tbvNU9p0Pmmpbv79c?= =?us-ascii?Q?X+9UnQ0U0imXLH0vh22lEnL12oZpnwW9ffJ4DiTiPkICkeFW49ucUaqrn13D?= =?us-ascii?Q?lNgog0fun4C31kOz14Z83wr9oPfx4oQQu1JF27BZKvgIBJCz0wSz9wf33Lg+?= =?us-ascii?Q?KwlbbYK/9TbCPUr/64KCWhwayErLg5Yas4RvDmnkFNUhWvi6xQypFNmhi7E/?= =?us-ascii?Q?LLCacRjeD0pmJnbLNgq8WrS0PR8lLwjlvdP4VC0qyRnhpWPvyy8NL4vmkBmz?= =?us-ascii?Q?4WOZeHlL50zqPFx6rKP0rJYYQwlBnCDMegwOxmiBtcVEBzAftaL7VOL4kDHb?= =?us-ascii?Q?c6jx9NWI1h8h80Nza7BTltx2vcqg7VCVlfX10KuGYW5aycc+MLLGv9p05Bxg?= =?us-ascii?Q?S+04ExbDfaYEOOEGwF4lTX8sa05BLiHpq5n98JKqIrUQRdBSyjhfncIYPf8m?= =?us-ascii?Q?Rmjh2yz3ATczxAGlnFNys62NneJ/y5l1E8Pgivr0r85xiif7VwV9Yv63+un0?= =?us-ascii?Q?e32IRvWkrGbWrIUtllV8cefTejPRqWw0uzHQZV34m2b/ED6JNi7VHIhH7j5s?= =?us-ascii?Q?yvTpBcvgt3YvKDBTwo9mIuqtq/aHHqbk5zMPc+34msynp1hOaPgOJDZHHz38?= =?us-ascii?Q?ed8AvzrYgy56q5vROH1ssabIF3y/Ace0z0EbgsK+YBha9IdbdK9RXB70U54l?= =?us-ascii?Q?pzb1yZchDWn3PqKRDb0NtU2BTt+lQnfLWgnKpltzyYSpWjyhcK4YPTTSlKbt?= =?us-ascii?Q?R7Gtx1Y8TDZSUz70xJoFcAFtPxR0bOnjq5I2xWmr7ahO1z96/CUl//UACMm+?= =?us-ascii?Q?UHYmGnR00Nk1RrxX9dk1M7ydyeA5tvLEceInbO3/ZPCMxJtbDTG6kXnvxG2C?= =?us-ascii?Q?Ua8j88XjezvB2yYHKKwmATxdYO3JW72HutWVM0VekmHh4qf0es9cHwK81kYb?= =?us-ascii?Q?p4c8WwMoUm1ISmFGoNXoyW9YN/9+MKZW+ocVqgFBaMonqU+krRKp/SuHE5GB?= =?us-ascii?Q?OoZ4Syi+k7+2H/SEODZ0v1drrzoaWnZ7/w3eX3KCo1xVQZ3hPU7qvdN29/CC?= =?us-ascii?Q?ge6leWALvlZaIc=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1P191MB0016; 6:3PJBS5aqb+QAm0NPTNC/nqm0XTx1iilyCjAYTOR0snNoAIDBXCfy7sHTjgTdKKUP8JOBzYoUsGeJMycp9CgWZd7wEyq/AqizuVV07fkBQStYUHYQNGKCBSigudP8TN55lWBJ6x2VfK8Sa/lFlFfQDs4DLq5PKVXpXKQMO5N9ExtVOhIRMwWs1iFKE9zm0/EAtQurCIPlB0jHCqowQQWda8M859RNw9sA5zFy1G40NR/pFhA8lN0ITPDAFD/oImToWcHVb4Go2KwpNkE2XYqHWpfe82hDZBMIx2KYE03u6ORjoxQQBedkm9vB9LqUmVHAwc4OXZVn3nc0Jz7C10E9/A==; 5:uvziwcBE6iqffoyxl6OR9wZx66tk8mWlSpvds2DvMQnrCmre9Dq/r/W2wqaIfVfBaXPuI/qOBkUq6a48XrQ36jVv2nAMWYVfTzur7SIpcJyMEyIOKd7lvRdg0A7JHkKrshTfhZs43BjeX3di2jH7Pg==; 24:tsoW64KeGU3FVS1FBbv8mOM+v5X6mOHry1gYzCoTufdHL8EL18cFBYn+IipsJjdAJRvsrgl8GoiYqPM85EltDrbVgsgWa0GZRqHptwajTMo=; 7:8kQr9ZiF65BIbdc+VRD9zYN8fThqXUnBVD7YsxbUPGBW8UZC19peM6cqxJs5CW9KdWYiaFF1huQDSVToAHdti8pmSRY7fJME3fFhTgwadqfMF0B7gWtWhBj8lDhLM/WzxcWhYZFHwyPqzuTU7Vm6KVEKaOFF3LW7j9TX4xpPEvhK5IpBccv3tUsjjXeHG5lp66uwglf7aHHcj1zeaM8nO8WlWDu1ZbgwMxFoWVVhyWI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sondrel.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2017 14:56:13.9902 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4faa3872-698e-4896-80ec-148b916cb1ba X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P191MB0016 Cc: alsa-devel@alsa-project.org, Ed Blake Subject: [alsa-devel] [PATCH v2 2/2] ASoC: img-spdif-out: Add control of sys clock to runtime PM X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Disable sys clock as well as ref clock when runtime suspended. Signed-off-by: Ed Blake --- sound/soc/img/img-spdif-out.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/sound/soc/img/img-spdif-out.c b/sound/soc/img/img-spdif-out.c index 1808a5542fd1..934ed3df2ebf 100644 --- a/sound/soc/img/img-spdif-out.c +++ b/sound/soc/img/img-spdif-out.c @@ -57,6 +57,7 @@ static int img_spdif_out_runtime_suspend(struct device *dev) struct img_spdif_out *spdif = dev_get_drvdata(dev); clk_disable_unprepare(spdif->clk_ref); + clk_disable_unprepare(spdif->clk_sys); return 0; } @@ -66,9 +67,16 @@ static int img_spdif_out_runtime_resume(struct device *dev) struct img_spdif_out *spdif = dev_get_drvdata(dev); int ret; + ret = clk_prepare_enable(spdif->clk_sys); + if (ret) { + dev_err(dev, "clk_enable failed: %d\n", ret); + return ret; + } + ret = clk_prepare_enable(spdif->clk_ref); if (ret) { dev_err(dev, "clk_enable failed: %d\n", ret); + clk_disable_unprepare(spdif->clk_sys); return ret; } @@ -358,21 +366,21 @@ static int img_spdif_out_probe(struct platform_device *pdev) return PTR_ERR(spdif->clk_ref); } - ret = clk_prepare_enable(spdif->clk_sys); - if (ret) - return ret; - - img_spdif_out_writel(spdif, IMG_SPDIF_OUT_CTL_FS_MASK, - IMG_SPDIF_OUT_CTL); - - img_spdif_out_reset(spdif); - pm_runtime_enable(&pdev->dev); if (!pm_runtime_enabled(&pdev->dev)) { ret = img_spdif_out_runtime_resume(&pdev->dev); if (ret) goto err_pm_disable; } + ret = pm_runtime_get_sync(&pdev->dev); + if (ret < 0) + goto err_suspend; + + img_spdif_out_writel(spdif, IMG_SPDIF_OUT_CTL_FS_MASK, + IMG_SPDIF_OUT_CTL); + + img_spdif_out_reset(spdif); + pm_runtime_put(&pdev->dev); spin_lock_init(&spdif->lock); @@ -399,21 +407,16 @@ static int img_spdif_out_probe(struct platform_device *pdev) img_spdif_out_runtime_suspend(&pdev->dev); err_pm_disable: pm_runtime_disable(&pdev->dev); - clk_disable_unprepare(spdif->clk_sys); return ret; } static int img_spdif_out_dev_remove(struct platform_device *pdev) { - struct img_spdif_out *spdif = platform_get_drvdata(pdev); - pm_runtime_disable(&pdev->dev); if (!pm_runtime_status_suspended(&pdev->dev)) img_spdif_out_runtime_suspend(&pdev->dev); - clk_disable_unprepare(spdif->clk_sys); - return 0; }