From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755054AbdDDRFH (ORCPT ); Tue, 4 Apr 2017 13:05:07 -0400 Received: from mail-sn1nam01on0054.outbound.protection.outlook.com ([104.47.32.54]:43050 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755027AbdDDRFC (ORCPT ); Tue, 4 Apr 2017 13:05:02 -0400 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; Message-ID: <1491325495.27463.7.camel@nxp.com> Subject: Re: [PATCH 3/5] cpufreq: imx6q: Set max suspend_freq to avoid changes during suspend From: Leonard Crestez To: Lucas Stach CC: "Rafael J. Wysocki" , Viresh Kumar , Shawn Guo , Sascha Hauer , Mark Brown , Robin Gong , Anson Huang , Irina Tirdea , Fabio Estevam , "Octavian Purdila" , Liam Girdwood , , , Date: Tue, 4 Apr 2017 20:04:55 +0300 In-Reply-To: <1491299500.2367.16.camel@pengutronix.de> References: <94d99b261124b813adecf11e86a0ffe05c37f276.1490987945.git.leonard.crestez@nxp.com> <1491299500.2367.16.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131357991004237077;(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)(39380400002)(39860400002)(39450400003)(39850400002)(39400400002)(39410400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(24454002)(377424004)(189002)(9170700003)(50226002)(8936002)(2950100002)(47776003)(33646002)(4326008)(23676002)(39060400002)(189998001)(5660300001)(356003)(53936002)(106466001)(15650500001)(6246003)(38730400002)(50466002)(86362001)(2870700001)(2906002)(110136004)(6916009)(85426001)(77096006)(229853002)(7416002)(105606002)(76176999)(81166006)(104016004)(36756003)(50986999)(5820100001)(305945005)(8656002)(54906002)(103116003)(8676002)(99106002)(32563001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR03MB285;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD033;1:BaIg3yj9QwBiUxDrjKuHQ32FYJieFW1APZva5tZtU0xhXwjGgRuVFXPasLZ9/EyaJK9dyrHNoAqMFHUd8gDF+emMCxbne2RjITcvetuaiskg6T/tNLqlr/AkAeBvQpekXKkHaN+vQz0dTkFmMhm7zak1t867Qbk6BelIUDz7VrU3eafPT8oi1mRsC6PCbjWMqy0OA35xJoDveiINZwAxGgl6B2RyHgpIOt1/L7BrmhfMomZkTyM2m0nklxWycMhXv6QIwjHsBEgsbDUtFguJDbOiaJkbtt7WKPzHGQEs2xAATp1fObauY9rOxqCSrokm0LypL10heIrR3utSb+qPSe/CHCnBpTZv1XZ57IAuVKejfZPeGPUswnhOHQm1XoW93PWku5hxGTpnc5dYn+E9UZkIQv5qNI0BeIaBEnTtsTtrFToEfZZWgGU2GNkBM4D3nF4CdrUuyk5AU1lO6qnVYOmn6HAbhOZafZKsVc78g87Ra3ePH0nwc9TiFQi4iJQ5gnc/mDu4PMUWV5IvAT6BYpICU2wLFb2y9W7ddKyRisotglmthLxLoJ0TXvGbvf9m9TueyBHT4cIzxS9PM1Ar6YlDGqiKMztg7wFw/NfQmf01dG00MqwJ80O+naa6gzC+ X-MS-Office365-Filtering-Correlation-Id: b209c3c8-9ba1-4a81-0bb5-08d47b7cbaac X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:BY2PR03MB285; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB285;3:QKSzxX7s5nXWUMLLID0YWA1wsqNr/2xYJ/WJIHeqrVFtSmW9QKI9N+NVq6XxXxxHE31trOhqjokXaQxmnZunOjl3Em5+qBNXpVbqmyPD+Q2VvyjHwuxisWJjv5+oj3Qna1Z3Qlgda2atPSMqgOJgLIEXLl1Nd6lHw6daaDqX7c8SLmM5s+8BekFo+3Jo7pGg0T9afP/5BYW7M1h2NcOy0NeCVxuncuRLW6hWyjMP2+7F2XNM/h87LVJ1fgruAFlwZ6Iasn1WWVtOifq8dMfsKMoMxsQv52BYk/oUzYSBYTJjauC7GYSKSPRQBYhvcvK8Ez1ajrxxtnldgEQSiweW7aGEJ0uQIhTlMS/gUdMwRrZgrpfbKOh/tpMnd9sTmrOvzHlwKprdSEbaUs9WvSYy1A8g9LchniJNbqmLYIJcRfuwXzJKkdFbL6VwJduOYZ/t;25:WqH8NwtQhj70RZuag8BXB1hr29e6xpSCBKF6UnwuxYnYVQOmRh+CX1S5YXcoWApK3t3pvjDmEB9hjd1m4v2Jwq4XO2OPw6VamctGY6InTV1zbkl2eoUDTcaXRMmpBXi6i0W7MWFD3kSZyvF5/jTtyqpusfp/FoEYdUGBaMa7DQoY0btie9t50Ave6crHOts+SGHNptMDbIwbu7vBFIXwe/aT4AJqTmihoYWUEBtKERW/RTxg3pKg76E1dz/Ng7oynByXDlJt7qAwiCmzDX9fQEIrR6LPVidq0lxHM2AvelokE3Q6g6i1JI1ompixwDil+np+g4H0Y/7PJ0qjyEA5ijG+P1+rsirHL0HgyhCap2xUx7cPv+FtI1v9WHpgEquJt5VQbE+emvhK/S30ze1DkJk3KDx1zBloKusrlooX72ZHbfBmlFvsG9XClF8ojyzqL0IGCRAyR3twhy0Stw1Q5g== X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB285;31:h0DJZrCCfZim6jshijeVIhm0fz0giVrD2vgwfixEy1l3iGJfjufK3SwaSdrFESZk5MO9ZqNv/7SfcFL2iL7RAx+BYstMofCEQBaST1frMmTpyDKALV6OQQXyZ9kI0hPYgEj32P+sZ/O9DukuR7PDMvlCg/0eqrI0XqQDR4wD3S/5cueGVXJ6eBQZIPn5FbsHnRMy8y2F8NgQyiLcgDR8tYJJ/o7otgpUNq610R76hymDEU5F4kRIRmCQzeX4k1c1Nk8nzfkLUR+AfH7yeBCRzA== 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)(5005006)(13015025)(13017025)(13023025)(13018025)(13024025)(93006095)(93001095)(3002001)(10201501046)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703161259075)(20161123563025)(20161123556025)(20161123561025)(20161123565025);SRVR:BY2PR03MB285;BCL:0;PCL:0;RULEID:(400006);SRVR:BY2PR03MB285; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB285;4:aFnbphkk1JxKkcxndWwGdueRKfrngvO5YhOv4Le65HaoFiuxxbfnLWLNUC5oTt1ipOYojzI7lnyubwWOa4Bmp6wH2/P5KnMqF9KBthWqItRAtGpRxmlOMsqc4YRzowrbrbBNXcbdm9eHvJrTjXD/S+PrKPVdLOGIMTxsBxOlO5TMJAK5nX4psvX2F5LdxCGCgdzWkzpEZuxmUdOyHGNBVTa2Ih2Z8RdP1sNQPfS55epeFX8YFqr/KMI6JUwKVrn4GK69y4EuWj+dUCJkIhtxmko/lsWy8w5DYkzLYxlnGPMIH37PH26m4KIPBeg9EXbQg3fLnX0chyem2TDaSS45r7T79NxhpiH+wNrBPKbtwyR42PFTO1WU2dFFQl9Er05hhh6CDJwYqFzSMN3YDt8DFrjHhdQkbJe1ME+6WaOT+Jrm0FYFJF8noqjf6UvT2IFk6T7BxbfFsS2RCGhSoyMqjIrIeJ2oPdPnbKKBdAM7f7jYzaIKu8Vt8i+B75vOdarWh/hebMt7OCq8DsbpUFI+l+fIgUNLDytOI+5lxsFvMDJcFow+wsK9ZA/nsPkbJpswqVgvmt32arNvu7tT06h1yTbWUCXRXMKKFlAc1do9A9RjHv0giVl/1dxLS+lD9QMQuTWEAiyHVIGxI2ES1nlUyFx9dalEY9bL/8UZFTCIqtipk5Z//TciJZGRNzo6MHWwQdNMeril61IsyobVKu3v8PNhexzFGC+HgFujgY3Mn0l/hfIi0q9nfW8GkjqAjr0ykCI9uc5xqsg7+NljgNwD2Ms4ZzDIcF1y5bGpZFzXjWWdPL26TF4OlvSHdfAlE8/6c2+t1vf6ZqQqAl5DrPusFz7/SydYxkxlTVtWFbrOdTJoK4SA1KZWzRIynuM6NABnMfpRr64ffirWF6dugomlGw== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzTUIyODU7MjM6SittRnMvVDJ2NU52cFhIbGNReDFXa1lHQ2FL?= =?utf-8?B?eXhEcmVWazRYQkxUNnJvdGxCSGlYVURIeTh2ZHl4dGQ4SUtJdW5UQ1BqOEZZ?= =?utf-8?B?aHI5RWs5UzhzYWdMVHY4TGoyZU4xRU5Pb2xpL1A5MmIzZjd1RTFJeDQzN1Mz?= =?utf-8?B?aEJiMTAxQkhTSlJObVZCVkw2NnBsOUNnQmVndGpsamsvancxMElGbENSSlpa?= =?utf-8?B?NW5OSitTSnFUZFlTRjhZZlNKS3lsSE9sTWtKcEsrTmdUQVEwdkgralRMM2ti?= =?utf-8?B?OEdGN1RMek9aU0kyK0ZRZEcybjlJOWpDUHNHMTh0amVDVEVoWDNPQkVsT1RX?= =?utf-8?B?clZUUzZJdnNieGJ6SFZVdTlLRWdkWUVpTGo0MFY4VnV1U3N1dlFadlNuQ21H?= =?utf-8?B?cnJBSkp0WE4wZTZocC9JSWc0bm1qenYvREc3MUE0Ly9vWTlRQUs1eUxoVzJD?= =?utf-8?B?bXpoQzVnV09QYzJHVWVyaVVnZzRSODQ3K01zb0FMU1lIcG1PWHlXZFRxSlNp?= =?utf-8?B?bmdnRndHdkhZNHQrVG9NY3FjenJzUjZMMGRoZFNxc1lIYmpGQnk1eU9JR1Jk?= =?utf-8?B?T2N0Z0VGaEZSVzhKdmtONS9jTnA3ZE8xNnVzaFVXeHk3Rjgxd2srYkU2c2R2?= =?utf-8?B?ZVYrZTVELzlEbjBGNDJEbjc3aWNxUzhmU3B5amhWL3ZCTHBMS1NvOGEzYW1v?= =?utf-8?B?dHNGaXZBOXJYSWQyR1dEaVRoY2hkVDg2eDh3UVhVdHI1WGM4b1F3Skk3Yk9z?= =?utf-8?B?NU0zYThGTTZqNFVkOFJMUFZDTVBnbmtIeFNmeVBCZHJHUGxVK015VmpidXla?= =?utf-8?B?dTFWcmxldzZzakJsMWNEVmQyYlIrYzJzaXJKdjYwOHNhNDA5K2dpaUYwWUVu?= =?utf-8?B?ckRDYUdITnZQOGtoSlUycmlBeXBWOXlwYVpQNWRkZ0pVbWpVbmExeVVTeG1j?= =?utf-8?B?NUUvSkMrQUYrdjQ1bXdqODZTNHlkcTJ3ZEw2bEF5ak9CUkl4OGFpRGZsWVFM?= =?utf-8?B?MGk2aHRpcnZaWm1xS3kyeHRVTXVlempEVlRPeWI4VDc0VzY2em41eUpyQU90?= =?utf-8?B?OXZXTnExR0JmaUFTYjUycTFpMmdyZCtxT2xjY3pDYnNSZ2xkMHVVYkZRQ1Va?= =?utf-8?B?RVVPNlpkcGY4VWRTVEsvZXpOeWhCQitHQ1F4alJQZjMxZVBjbjI1S3Q1Vm5t?= =?utf-8?B?K2tYOUNMWFRCSy9lZ3NORnUzZUlKYk85R3BXVmVWZHl0bjBoeXVtNkxXMkZX?= =?utf-8?B?Zk5MUXVFUjdZV2N4Y3VpMnB1WFVuNTlxZHN4NXpsVnN5djZpbUhKejl4bU1J?= =?utf-8?B?WUpGemR5VTdKMytZcENkVWZZTDNrMkhHZUpmWVVzN0JqWjRoUThZNVg3RVk0?= =?utf-8?B?ZTVMVExNWjZRN1pPbkRYUWtMaWU2M1pRMlRONlA4ZW50ZEtkRjNKTE5wcmNF?= =?utf-8?B?RS9SUFVUaGxkU3YyUWNRVnRFcXh4WVRIazF5cUhFeGVIazJPY3REZGd6NGtI?= =?utf-8?B?NVJRWFZQK1Z6U0Fwb3JzYmVtVXFvcC9xUkIvOHI2QytZMEE5VUQveVJ5VEdR?= =?utf-8?B?YUNJQndlaFF1UnA0T1NMakx1REJNMDhkbm1vMlN0UGRCalFUMXdjYWJuN1Yv?= =?utf-8?B?OGN5cGhkbzJBOStKencyOHhkMmZQUkdlSVFFYkZDRmU2cS9ZQmZlOGF5YnNm?= =?utf-8?B?U3d2MzIxVGY3d0xkSllJalpLR0hHZjNNRXZCUC8yUXdQUm5BM3ZaV1pTT3JJ?= =?utf-8?B?QkJWdGNsMXROQUJvaDRWQXV6VC9lNXkzMGN5VDQ1Q1RNSGpzNngwaDhCTmJF?= =?utf-8?B?eHZWR2NCcWJoV2JYb0swcjVnM2NyUmxiM1Zra1NYOFNyUDBwQmJ0S2wrTzNU?= =?utf-8?B?YXhNVmxxWkJQOU55RGIyYm1vV3pON1FvUjlrR3BZVmxMUk1hUlpBMUtYcXE0?= =?utf-8?B?TnNzWU5aT0E9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB285;6:EKQAi5bRuaDemUdPaHnvpmRIjmVawTynLfKYK3JQ3aK/xWq1LgvAWCXMT5vZOgCESdPZRX9Mdhtm61Ix5uwNM5BAtp/FggXtVhKviBIHzkQ3U82Ay/xPuiTfN6JuC/pHt+sE0eWwz8xHvpJtXIkRIcMrAOf51qJS+hSbCxvVfRRUl1TryAgv4jqO7hL+8N8biuJVKlJ3JT/Hh0dJ6Agejk4n+5eLXNl+Rx1MqPdL9Viv6gbnWbk70CpW2UBmCwK4pRS3U+Ah7gcHgIclAHHbR/z6BUrwV/bfozCKANCgPRvwKHaSiyz6ZcCvJaCxl1l/bTV2JUEcDi1s2oVYWQIEuk1sIF7hVtEJWQAPHJo23x0APbLFZhMuEgFxs1+NgWETkUSmLLcmK5Ie50YuPZfgiw==;5:qdXn4Sx4LIPcFnO5ztQxsW7GbFHzOdEb+SQk7aNFLk3oLBMWbb5fP6g3YPD/5Vdl3wP49vegEdHhwUO3DhdNukvdgdCr4RP0HveGnLkdHfVFxCYg7xrL6Oft79QZhL/05f+x35zcg3IzhcUZ4XtIEKHBZPkdhqM+rV79ev31DIcrlhF84EJdrDJ8mfL9q8qS;24:sKRSfiIyReU+UMSgf/i8nF6tSumV3janJrkuxoTN+SH1ZgsNEuF9kakEOIGlLnzCMleXP62YfNG+c/TAAzuEEAB9HbP3hhN4miJk0EsSq1c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB285;7:MwxI0qlS6iFLhYkDJ+K1al91nooLyPUXdkjVb85uxyYjLXUSFLH4E8QAaKJqqYjDcbDLviq8ehCrOjhSgW3Pc9RvSVepC287RhNM5aIJobFXi+ZqNUIm477tgui/IJs56x6zmPuxpf2kKGV/B8BbCKWLaX8dzKQxOIQ7R5tmRAXByTF/fZ/mby2HwFgT56DOEPAHVFkf0ubLExxYnkmqa8ONj5oM8erGC/BNLa6owzpW7pM9z72fK7cPcNvgG8By5q+RryXlRIj80J7t+XatmI9Dly/bsWXkM5XdWyxb5w8VzMzmu16LqsyfLkFi1NwZEC2OTG1FAFNYUYws1gbcuA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 17:05:00.0649 (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: BY2PR03MB285 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2017-04-04 at 11:51 +0200, Lucas Stach wrote: > Am Freitag, den 31.03.2017, 22:25 +0300 schrieb Leonard Crestez: > > > > 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. > > > > To avoid this scenario we just increase cpufreq to highest setpoint > > before suspend. This issue can easily be triggered by ldo-bypass but in > > theory any regulator set_voltage call can end up having to modify > > external supply voltages. > > > > Signed-off-by: Leonard Crestez > > Acked-by: Viresh Kumar > > --- > >  drivers/cpufreq/imx6q-cpufreq.c | 2 ++ > >  1 file changed, 2 insertions(+) > > > > diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c > > index be90ee3..e2c1fbf 100644 > > --- a/drivers/cpufreq/imx6q-cpufreq.c > > +++ b/drivers/cpufreq/imx6q-cpufreq.c > > @@ -162,6 +162,7 @@ static int imx6q_set_target(struct cpufreq_policy *policy, unsigned int index) > >  static int imx6q_cpufreq_init(struct cpufreq_policy *policy) > >  { > >   policy->clk = arm_clk; > > + policy->suspend_freq = freq_table[soc_opp_count - 1].frequency; > I think soc_opp_count includes all OPPs from the DT, some of which might > be disabled based on the fuse settings of the SoC. So this should > probably not switch to the highest OPP unconditionally, but rather > switch to the highest _enabled_ OPP. You're right, this does not appear to be correct. Looking at soc_opp_count it should probably be a local variable in the code initializing imx6_soc_volt. And the imx6_soc_volt array itself could now be replaced with opp's support for multiple supply voltages. I'll post v2.