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 X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham 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 92A8DC2D0A3 for ; Mon, 9 Nov 2020 12:42:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B16F920659 for ; Mon, 9 Nov 2020 12:42:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="YuZLRTFY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729516AbgKIMmd (ORCPT ); Mon, 9 Nov 2020 07:42:33 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:60502 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726956AbgKIMmb (ORCPT ); Mon, 9 Nov 2020 07:42:31 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20201109124219euoutp023c96aae5b6945c991753a0db7de1c814~F13Tgs6j21159211592euoutp02o for ; Mon, 9 Nov 2020 12:42:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20201109124219euoutp023c96aae5b6945c991753a0db7de1c814~F13Tgs6j21159211592euoutp02o DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1604925739; bh=t2wsra6pFjd1kLeiYQLJvry2jPgGLVeGgWlbciJIw4E=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=YuZLRTFY/IqTDFLK0B0Ob4DY3WmrkiZR/oi0Id/g9jMUQpogWb3Pr5wbSetcJGsv1 Z0Kxe/tbB8aO1MXcPoGiKvl6sWIHr5fAwxhNPSKrHXS+fVT/NOaWq9RQQXYEPHzVsY z7+IRPZoYk4slFbs8NZlnXxnVOD2mZiG3RnhXRxw= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20201109124218eucas1p1e0131db319a18a51d0c453783b02058c~F13TOei4n2417324173eucas1p1O; Mon, 9 Nov 2020 12:42:18 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 77.AE.06456.A2939AF5; Mon, 9 Nov 2020 12:42:18 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20201109124218eucas1p1b8948a9bf2cf107b17b500b1603905e8~F13S35i4X2139221392eucas1p1a; Mon, 9 Nov 2020 12:42:18 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20201109124218eusmtrp1bf9ebbed4d530f96db5c05157ce7158e~F13S3L83I3056130561eusmtrp1I; Mon, 9 Nov 2020 12:42:18 +0000 (GMT) X-AuditID: cbfec7f2-809ff70000001938-f0-5fa9392adb12 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 79.BC.06017.A2939AF5; Mon, 9 Nov 2020 12:42:18 +0000 (GMT) Received: from [106.210.88.143] (unknown [106.210.88.143]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20201109124217eusmtip2b3ae529bb7e2f30616335522231b56ac~F13SWnOLY2205422054eusmtip2d; Mon, 9 Nov 2020 12:42:17 +0000 (GMT) Subject: Re: [PATCH 1/2] cpufreq: dt: Don't (ab)use dev_pm_opp_get_opp_table() to create OPP table To: Viresh Kumar , "Rafael J. Wysocki" Cc: linux-pm@vger.kernel.org, Vincent Guittot , Stephen Boyd , Nishanth Menon , digetx@gmail.com, Stephan Gerhold , linux-kernel@vger.kernel.org, Bartlomiej Zolnierkiewicz From: Marek Szyprowski Message-ID: <2924bddd-d237-aa57-abb1-a67723770e97@samsung.com> Date: Mon, 9 Nov 2020 13:42:24 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 MIME-Version: 1.0 In-Reply-To: <684ff01900180c0a40ec307dacc673b24eab593b.1604643714.git.viresh.kumar@linaro.org> Content-Transfer-Encoding: 8bit Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0gUURTGuTOzs+Pi6rhanjQS1ogy1LY0JhJ7EDaVQRBBBalrjg90NXZ8 ZFRoktViZRakk+YDKlvRWjHN1URF3WrVYn0gpoYkgZZFboqZaY1j5X+/797v3HO+w6VwlUXm QcUlJnP6RG2CmlQQtR0/un19djwO3zJ5P5Ax5T+RMRXfPiCmx1xIMvbrbYj5PNuFMZ1Wm4xZ 6DcRzEBRAHO1bQZnTNPsbgWbXbKLrReG5Wy18RrJDvU3kmxN3xWCvVFjRKxloA5j7dXrjlAn FUFRXEJcKqf3D45QxNa8zyTOvFp7dkC4hWUgAQzIgQI6AFrG2wkDUlAquhyBaTaDlMR3BLnm TlwSdgR9Y1N/BLVUUlYM0vkjBDl19ZgkviKYG/klF991paOg4WYGEtmNPgYV5YNINOF0IQbV maNLJpLWgGHSQIqspINhpH5eJjJBrwdrbwMu8io6En7Z53HJ4wKvCsYIkR3oMOhrasJExmkv yHp2D5fYHQbHipcmAnpQDj8LmjEp6T4wf7osl9gVJiw1y7wWrLdzCKkgC8Fod6VcEjkIei7l I8m1E4a650hxATi9CZ6Y/aXjPTA+U0lKe3GCgUkXaQgnyKu9u7wuJVzNVknuDSBYqv61bXlr w3ORWlgRTVgRR1gRR/jftwQRRuTOpfC6GI7XJHJpfrxWx6ckxvidTtJVoz/fy7pgmXqOpm2R rYimkNpR2Tz/MFwl06by6bpWBBSudlPu7bKGqZRR2vRznD4pXJ+SwPGtyJMi1O7KbWXjp1R0 jDaZi+e4M5z+7y1GOXhkoLpr3ryXT9i7iGjC8+jT0O3zeQdDe4KKBfL1ROODhs7e1DeLZTlf VqvO20IuVnYHdpUWx1sOv27HNh5YDI+O2JBNvos2taxx9PqIaZJOpPhu3o09NDobiDTZnaLS eu9nw3HsrK025OWLRaNnknOfk3mHbuv+Q12h0x0FF7YxEVXH1QQfq9X44Hpe+xuFDfLDWgMA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOIsWRmVeSWpSXmKPExsVy+t/xe7palivjDc7vkLPYOGM9q8Xqj48Z LS7vmsNm8bn3CKPFmx9nmSzOnL7EavHv2kYWixtzTSw6jnxjttj41cOBy6Ntgb3Hzll32T02 repk87hzbQ+bx5ar7SwefVtWMXocv7GdyePzJrkAjig9m6L80pJUhYz84hJbpWhDCyM9Q0sL PSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9jC33G1kKTspU3Jg1kamBcZZEFyMHh4SAicSi +UAmF4eQwFJGiUd777N3MXICxWUkTk5rYIWwhSX+XOtigyh6yygx5ecLRpCEsECKxIOnZ1lA bBGBUImjU7+CNTMLzGGSWNXHD2ILCcRK3P/xig3EZhMwlOh62wVm8wrYSdzb+QdsAYuAisTp K7uZQWxRgSSJlxemMkHUCEqcnPkEbD6nQJzE1X37mCDmm0nM2/yQGcKWl2jeOhvKFpe49WQ+ 0wRGoVlI2mchaZmFpGUWkpYFjCyrGEVSS4tz03OLjfSKE3OLS/PS9ZLzczcxAiN127GfW3Yw dr0LPsQowMGoxMN74M+yeCHWxLLiytxDjBIczEoivE5nT8cJ8aYkVlalFuXHF5XmpBYfYjQF em4is5Rocj4wieSVxBuaGppbWBqaG5sbm1koifN2CByMERJITyxJzU5NLUgtgulj4uCUamBc fvXXp0sznoa0VC0U0dNd+MemxP5Lwa8JrfwXbKcui1yg1Tn1AeP6uIZTk4q+KGc0bFeunb7S fK5jR8Mk4bJvm4ONiwuO//9vuFjaJzNCuLV5tuC7/TVfX5z/pVD2ULmm/LlmVuavqFD5xV/F L7PVFFho/pHcFtt42Zb/iYaQVPDab+tzMmcqsRRnJBpqMRcVJwIAWKZu/OoCAAA= X-CMS-MailID: 20201109124218eucas1p1b8948a9bf2cf107b17b500b1603905e8 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20201109124218eucas1p1b8948a9bf2cf107b17b500b1603905e8 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201109124218eucas1p1b8948a9bf2cf107b17b500b1603905e8 References: <684ff01900180c0a40ec307dacc673b24eab593b.1604643714.git.viresh.kumar@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Viresh, On 06.11.2020 07:24, Viresh Kumar wrote: > Initially, the helper dev_pm_opp_get_opp_table() was supposed to be used > only for the OPP core's internal use (it tries to find an existing OPP > table and if it doesn't find one, then it allocates the OPP table). > > Sometime back, the cpufreq-dt driver started using it to make sure all > the relevant resources required by the OPP core are available earlier > during initialization process to properly propagate -EPROBE_DEFER. > > It worked but it also abused the API to create an OPP table, which > should be created with the help of other helpers provided by the OPP > core. > > The OPP core will be updated in a later commit to limit the scope of > dev_pm_opp_get_opp_table() to only finding an existing OPP table and not > create one. This commit updates the cpufreq-dt driver before that > happens. > > Now the cpufreq-dt driver creates the OPP and cpufreq tables for all the > CPUs from driver's init callback itself. > > Cc: Stephan Gerhold > Signed-off-by: Viresh Kumar This patch landed in linux next-20201109 as commit e8f7703f8fe5 ("cpufreq: dt: Don't (ab)use dev_pm_opp_get_opp_table() to create OPP table"). Sadly it causes regression on some Samsung Exynos based boards: 8<--- cut here --- Unable to handle kernel paging request at virtual address ffffff37 pgd = (ptrval) [ffffff37] *pgd=4ffff841, *pte=00000000, *ppte=00000000 Internal error: Oops: 27 [#1] PREEMPT SMP ARM Modules linked in: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.10.0-rc1-00007-ge8f7703f8fe5 #1908 Hardware name: Samsung Exynos (Flattened Device Tree) PC is at dev_pm_opp_put_regulators+0x8/0xf0 LR is at dt_cpufreq_probe+0x19c/0x3fc pc : []    lr : []    psr: a0000013 ... Process swapper/0 (pid: 1, stack limit = 0x(ptrval)) Stack: (0xc1d29da8 to 0xc1d2a000) ... [] (dev_pm_opp_put_regulators) from [] (dt_cpufreq_probe+0x19c/0x3fc) [] (dt_cpufreq_probe) from [] (platform_drv_probe+0x6c/0xa4) [] (platform_drv_probe) from [] (really_probe+0x200/0x4fc) [] (really_probe) from [] (driver_probe_device+0x78/0x1fc) [] (driver_probe_device) from [] (device_driver_attach+0x58/0x60) [] (device_driver_attach) from [] (__driver_attach+0xdc/0x174) [] (__driver_attach) from [] (bus_for_each_dev+0x68/0xb4) [] (bus_for_each_dev) from [] (bus_add_driver+0x158/0x214) [] (bus_add_driver) from [] (driver_register+0x78/0x110) [] (driver_register) from [] (do_one_initcall+0x8c/0x42c) [] (do_one_initcall) from [] (kernel_init_freeable+0x190/0x1dc) [] (kernel_init_freeable) from [] (kernel_init+0x8/0x118) [] (kernel_init) from [] (ret_from_fork+0x14/0x20) Exception stack(0xc1d29fb0 to 0xc1d29ff8) ... ---[ end trace 5879c43bc748d0d3 ]--- Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b CPU0: stopping Reverting this patch and d44aca126b03 ("cpufreq: dt: dev_pm_opp_put_regulators() accepts NULL argument"), which depends on it, fixes the panic on current linux-next. > --- > drivers/cpufreq/cpufreq-dt.c | 158 +++++++++++++++-------------------- > 1 file changed, 68 insertions(+), 90 deletions(-) > > ... Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland