From patchwork Tue Apr 4 17:04:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leonard Crestez X-Patchwork-Id: 9662127 X-Patchwork-Delegate: rjw@sisk.pl 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 A541A6032D for ; Tue, 4 Apr 2017 17:06:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 93B872841C for ; Tue, 4 Apr 2017 17:06:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7BE9727F9F; Tue, 4 Apr 2017 17:06:23 +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=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0A95627F9F for ; Tue, 4 Apr 2017 17:06:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755125AbdDDRFq (ORCPT ); Tue, 4 Apr 2017 13:05:46 -0400 Received: from mail-by2nam01on0057.outbound.protection.outlook.com ([104.47.34.57]:36567 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754913AbdDDREn (ORCPT ); Tue, 4 Apr 2017 13:04:43 -0400 Received: from BN6PR03CA0015.namprd03.prod.outlook.com (10.168.230.153) by BLUPR03MB279.namprd03.prod.outlook.com (10.255.213.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10; Tue, 4 Apr 2017 17:04:37 +0000 Received: from BN1BFFO11FD034.protection.gbl (2a01:111:f400:7c10::1:177) by BN6PR03CA0015.outlook.office365.com (2603:10b6:404:23::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10 via Frontend Transport; Tue, 4 Apr 2017 17:04:36 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD034.mail.protection.outlook.com (10.58.144.97) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 17:04:36 +0000 Received: from fsr-ub1664-115.ea.freescale.net (fsr-ub1664-115.ea.freescale.net [10.171.73.166]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v34H4Nb5018701; Tue, 4 Apr 2017 10:04:32 -0700 From: Leonard Crestez To: Lucas Stach , Viresh Kumar , "Rafael J. Wysocki" , Sascha Hauer , Shawn Guo CC: Leonard Crestez , Mark Brown , Robin Gong , Anson Huang , Irina Tirdea , Fabio Estevam , Octavian Purdila , Liam Girdwood , , , Subject: [PATCH v2 2/4] cpufreq: imx6q: Set max suspend_freq to avoid changes during suspend Date: Tue, 4 Apr 2017 20:04:12 +0300 Message-ID: <5f61b819733127ddc7d41e82bf703a355c845b49.1491324640.git.leonard.crestez@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: X-EOPAttributedMessage: 0 X-Matching-Connectors: 131357990763791759; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39400400002)(39410400002)(39850400002)(39380400002)(39860400002)(39840400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(15650500001)(50986999)(5660300001)(76176999)(47776003)(7416002)(305945005)(118296001)(33646002)(85426001)(189998001)(356003)(105606002)(106466001)(54906002)(8656002)(77096006)(2906002)(50466002)(48376002)(36756003)(53936002)(50226002)(81166006)(8676002)(8936002)(38730400002)(4326008)(86362001)(6666003)(5003940100001)(104016004)(2950100002)(39060400002)(32563001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR03MB279; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD034; 1:U0eKGvAUHt9Sl+Cb+KJqEUGYjPFNvvjpwHSAiH5JlbE3utj8/EIgvczS0k/0bqRW34jgKbgYmegxIsH0QftTdUY+2F6ImNP/kIeBuK4S96GQo99xheWLAxxyrJe1qmg5PrZlTpQQSY4UB8NCg4BJ9UJ1nIx063uy3WsKl7nQI3H9j7B5/VcXG1y3cZRK4J+ChnJU4XVFBV524/lZQ1FAe9XpintG+2e/Taoid9TfEP8h7mseSeyCZPM7vAOIrRSFt261Z7r+xC4CrN+9BTviAmczkpqPXiyCmKmxSQX1N3cFFMzQCTwF+vQ4jb6vucERpWz8GICI+mKayoYVP+cP7qOmDMNCv1Osr8mbLHM10Hp+9jj9fJ3NdlR/RHhnopcpFg97uC4BHJCf5arz1ytK56JSWFj365j3U8MjevsyfvYb/G9RnP9iis4kIWVsWSVuI7qgIwEnewq4v51vwe/V71lRP21JpQSb97kGIuFs64h1swiotWCmdZMqq57+U1QvkOKWxF8cB6LLFAn8Sqd4RCQrjzkGkYnxm21/GqADr7ToWP3XjYDjR0FtZqDp2m7GNRi6nxzyrPLwaUQSeZ/O1tLk0UnmDgMBMn+0v6nO/6UmVvAllxMUhWvN1K5Qk66r MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f36ea248-61f6-4692-242d-08d47b7cac57 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BLUPR03MB279; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB279; 3:EZ2GZvwEFy6bH4Jxb7Kxh+MfGziXhJ+V5QGxloxCOfCs/Mx/CpDOMQN3/8OrGMXu1soYmPz8THhC9G5dojkOZkA+uLlhclS0a+bAC03qt1poEpo19iADrqHt0vGovtxPG8SVzBo4RQOGmai6rDL31ytI+v9OlfdlpW377+Pq6tiKYGy2LTbrv2ljOOAnYzyalgqIgnOppE7XiXgpG/u3WBzZg0sW7iC4NauiN9GmXWDSdBcKBmhd8BX3n3fqB0yYicNVCZ944HrUwCgHVuY30nWCFim6r0VJbmbVTmmSRVPI1cny6NToz2YYUJCtfMHUtJh1WW3fzXriltfz75YIiRGIUenq7/gyw79nAH+GooKJn+Qz1331JcSj38wPhH6bt7fXT8Ad5ZAGUzzE+im1veCFUWddjG4s11n8NR/PA24kiGRK4dFFGPJ+pwPZ0gWP; 25:X66713hmcA4MYU1p0viGNtlc0SlvvEGVrnMca8Um0/8h63ZZShjJIP5GFEj+J46vx+BTfw7UdIw6Ha/fwJuU5UVcaGpzRFt82uwor3+ikJXfekk061M4jE5EKt/RIhMtI9vJ+YXcAqRGxLexZAzYRbmKRzX3wkbk09/mrRMcEAco1PQX4fGzHIn84yjlI7RdrS/8m9ynO/PkrAjZVHngp90qFWxXF1RmW+luQFRkqOwqtC9mcvN/APSTK5r4zIXaNI/a6PZSzurewO9cA1fv+2mhHqXgynk7FxHZW9U7Y4EkeB21Z56L4lAgiMc8chQ2UejsuzzhbzghkgGAqNJ8iyfIf42JQaNMCJFrtTPtgM68D8oEaqJOTSItP87tzxnT7WPed2TktK/ceusHvQq7FzIFCht00I47Jeig4GN+BRkTL1KeqPVjYSuf4Kh5RhINMQeN/Gv16MsexsliRelohA== X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB279; 31:3w3myt4pwnHhfZJ9T81TxR7/LbbV78mEEShIc0vBzlwKZaIibxxAlcAHmq8T2YPa1L+j8Hli3ZwKH/7Q1cAjCQnQJX4L2X2SAuayL3wyZjrrGrccPPP+IfOH12unNtOWwo89igcDDKVbnqjc+myp1nsPHQWDfCpFNbdr0FyqfmPa8QXqK3UgXficFi6khxUKX6ceYOqed1qs33paxyHMfBNS3jMyC7EPCSY2ZT9/N7SOvsKBtJ+QVw0kcQvcu26repC0NJzhOHqIc6t0tXxrfA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(8121501046)(13015025)(13017025)(5005006)(13024025)(13018025)(13023025)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123561025)(20161123563025)(20161123565025)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703161259075); SRVR:BLUPR03MB279; BCL:0; PCL:0; RULEID:(400006); SRVR:BLUPR03MB279; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB279; 4:Zn7bR0xClRcCZ3p6+B4FGGbGQYsW076d5IcW5nFL3edofHhduilKgIuHxO6c0z6pPS1PBo5UnVvl82HbehypwPH5PZOqts0Vybeg5klW9eKO0UAczuJnrWk4409Tern4f4TPzKs/H3cFpsgSqhwn62KuI84USDHrF/pc3c66/BrXURQRcjIq2K/nWJfYPjlNKpSuQX8QaGS4bgTPU74tpi0rtTGjG4N2UpilIjsHFjx7kMLTHhnYv/ctDKUO8pVQqhCzyaWg2ZKzJEu4jYh3wGCJzESdtMSdSIaMEnOV5V5Tx5CEvq2VLGbZ/cTL1sGjw2xJeAklueGSFRtPFnKr9Rj1gMmiGRHE+qVe4GSuwZkAmD2u7kB7BnYkSprfKRb1j89gAvmTu0FrJvHDkCBCt12z0dX2dttUY/mZGvtBczJbRIIZwAg1hEt8o0I1xiIXme3OQQPRir+Wy3DltejvBRDo3NBesPfFVmKm4mfh+cEyC+JyVG9Cc+4QfEbizTx977dG4aJ0V12AyrUX3nCyF/5tJ/2V4i7s53CEVbTrhthB+tofrcxDLYmRgjiEcQiQdSCrKnn0S2XprQrhLCrppfP4xqVMUlc6FkqO5O1BW+1kg31KMoZ/VbIswEUZfx0WReY3tgdHXKI4NiB8FBYKFejU1920bzNdRi8tJ3nD5ss4Pp5RT54Ht7NvhQndBRTZHMjaQecB7R8X3CN+lmRvwde8K66n67ygObFMlzQB/pUFr8RzXO+pD8JQh7CIF3Es+Cv1lAUqfwpL6Wx1pKeG6Z87vH6YdcX9ySsGU0/fhVitN1ic7+7t9nRYdURhPrCPp+bboI2rexvOXpgDS2WiA+lvy+qQOw9X2qU7lyo75nKmhHLuutGz4o/4tdHi5nXVr1PwDMZO0FjQ7BpNB/Hwwg== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB279; 23:mAr4B1xKWp3Br1RgVCebAs/6McFxNw7NNFsN3QzU9k?= =?us-ascii?Q?ZzEmCZatQEkS/jZ+8eU+wt90YhjLI/ihqjkPz1fOnp3438Uh8xivxWlXTXHi?= =?us-ascii?Q?b3ej5dpCpSNP2y/sUiwlRmzJH75DWI+B0haYdTF2qDO5+Qdf1+xUwGWZIz+J?= =?us-ascii?Q?nOr1Z7hA/3MoANQEsZbu/GiuKf5dC1CA5IiN4ix3nXGd9ygJgHpJWN1/vsHD?= =?us-ascii?Q?6ycPJMBHbpj47aVptOyXrjYu80i0aDHbzAEbjVsRfjM+WNnV2kvZm6/ubMoa?= =?us-ascii?Q?8uBFQ/04+fOVWQxU4sp1L10SGzEehA5nYRtMbo0pJ+0xzA41arM7Mchh0xf8?= =?us-ascii?Q?OdHnlticdnnuL+JdtHWL70UvJ9ZZb4RudjiTWQet3J3zZwie6WcG8kCm+a9h?= =?us-ascii?Q?Kg+1czWHdsCyin2xrRxMj6leXcunmLBXijUKbkIzX4xydUdGjhGbXpskrS2C?= =?us-ascii?Q?CwmNWbn5z0B8gkO2MROqPy2E7sMbQ6fIg77Ytd70etwaDJf/EZ00gZpqpiDB?= =?us-ascii?Q?TqXUzsFcUj+kTMy0qc8jYxyl98v/MPL5bsIJAenPOoYJ41eiNFC1xYBsReuS?= =?us-ascii?Q?aRp7tuw8XjqyRt5YOqc2KdJhXdTNyr4NeDlT2EQ946LmeAP8Vktqur4l1dVL?= =?us-ascii?Q?s2TxAdS4FAQjrUEI/xL6I8huIs+R3ItrnPcYjwZGwHvwIsN/0vg8ExARQ3hm?= =?us-ascii?Q?eypDAwfQlPux3zUeazfMBzbEwz6gm56aEiTey49Y2X/KFk16UzCImfoLtQ6C?= =?us-ascii?Q?xXLmgiHkeQQwuXO+TjN+YFPhgYur8yMyInPKzIeS07jz5Ip+Ux95Fhm/YliN?= =?us-ascii?Q?y4yWhN4QdMfcV5ghQUXUXelBKc8HpJgNPmr5KKHRiJ1xVqNpY4x4zAmN7e0U?= =?us-ascii?Q?M37FSPz4Qg883gB0hKT1v0AMwDBTJM3MZqFb9OwJlpvIJa9F22QzFJ3EzW3Y?= =?us-ascii?Q?RrzR1aWYn2wEe305DVemhvsyYK7QyBD2jxK1Y65N79oTHS1idcR0E1srfuFm?= =?us-ascii?Q?YKOc8iZzuZgsnWZq29jFeL7NnYxK+a7DTJC7HoWvmpOD9mOmQad8e8Yaftr3?= =?us-ascii?Q?1OcvzIiqy8IKkz9XF/NPPB6gdcT4VnWEppiRwnzlz9DtQAuBsn1kLpToDbrx?= =?us-ascii?Q?cywL4ERzoe1/O34tHrwkEu/tYuHkQMS9aBxqcRYIjxAfDZQEvyQdiTci2wC+?= =?us-ascii?Q?4NDMB28BB/bUo4Xa/axH4Zc1aIM0vAT3EI+M2lCG3n/W8syCGPrVxlaPbByz?= =?us-ascii?Q?0cplwH4E9Nf/Vle1A0qMInt+E0EYQF0g1IKZca?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB279; 6:imkEdS4GoajiedP10dOI43UPXvgcrOpT2jD5eSQ6cwjTC62iqC6FsuqT3pnUvzImNhgyarhs/oDWgVyGZJInjtq1HvIP2EaR9TTNKViBP3Jds1sEEzUsO9N4LkFhvO9tKgHWU1chcAoJz3uKg4QYUL4ib08jpkV0SWlD6B7eBlv82XfSbPt7DG8PjipT1H9LLn+JztOXKjmLwOdJRe9czlVVO0E66iv07yz5/wvRvJHuTQz33sFSNCWOsMFjLpvaI5hJDPTx4coDTispIgK1c9yJKTiN57mS79Ti6w4qtGFJ0bZGd8a/X1WNQOX3hQ7H9XJx/OYgLsCZwjg6M3GzbN7yOqiY73dBYIowyYLq9uZQ+AWf/4O52UW+UT3oyQnicjrpHMh2gxAL3XOHv03aIA==; 5:c+bej0OqEpigr2uHodcrQddJG629VJJa3s11eYUZdAIShObZ+CDR/Aft7tZXGVVcfo1es4fla3aAsoWOmhpI5LNVu+CJSXSlUgMIrPBVnYfnOfH3nqsKDB6C1iAKEjX6acG4g4kFyvrK5Kly3sdJF514S7Vm+VFsrEIEGuZhitWaIrB37A6x/eXcy1Ea6WkM; 24:HocCSRv76rVk53k9TA2cRqsqpnoPXi1oS98sTDmx5aZbRv1lG8+kEJMi5Qv4ydtyda04fasYYw/nn3Jp96sg4+T13/LOrMaOefgLUGlsVqc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB279; 7:SgxMjof1hcNAF0mEjYXct8ZFAZ7ASh1FfwTFhf7WXqO2ytvebCpOkRq0SI3j4IuhVQ+sZJ6W4SwmEhV6dPuvlFECgjvDQsmwWD7jx0QOaZH9WzqdZiaizIA6LyeiMXSf8aINUgs0YhYizmrXu7TMDQnhQ/JnwU7tDMFn0OMAlZtUhaE6dYYYGUO+syGYz8XfD8jU9LdxlW6H6EceywrE3+NzMiTA3aIAPZKdTTwJaE4bk4+462w0Er3moOXmfbc3czum8Pj2lT0va/pMfDtY51ywattv+C4ST85Hx1D9WvsXhcyWbRRwrpb+VJGIQ2uCPFSIDCVp5N/anQ7S8ftocQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 17:04:36.0671 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB279 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If the cpufreq driver tries to modify voltage/freq during suspend/resume it might need to control an external PMIC via I2C or SPI but those devices might be already suspended. This issue is likely to happen whenever the LDOs have their vin-supply set. To avoid this scenario we just increase cpufreq to the maximum before suspend. Signed-off-by: Leonard Crestez Reviewed-by: Lucas Stach Acked-by: Viresh Kumar --- drivers/cpufreq/imx6q-cpufreq.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c index be90ee3..786122e 100644 --- a/drivers/cpufreq/imx6q-cpufreq.c +++ b/drivers/cpufreq/imx6q-cpufreq.c @@ -161,8 +161,13 @@ static int imx6q_set_target(struct cpufreq_policy *policy, unsigned int index) static int imx6q_cpufreq_init(struct cpufreq_policy *policy) { + int ret; + policy->clk = arm_clk; - return cpufreq_generic_init(policy, freq_table, transition_latency); + ret = cpufreq_generic_init(policy, freq_table, transition_latency); + policy->suspend_freq = policy->max; + + return ret; } static struct cpufreq_driver imx6q_cpufreq_driver = { @@ -173,6 +178,7 @@ static struct cpufreq_driver imx6q_cpufreq_driver = { .init = imx6q_cpufreq_init, .name = "imx6q-cpufreq", .attr = cpufreq_generic_attr, + .suspend = cpufreq_generic_suspend, }; static int imx6q_cpufreq_probe(struct platform_device *pdev)