Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp281047pxa; Tue, 4 Aug 2020 05:37:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9u0EGQgw1DGwgDjJZ3xgjYWzqRBe/QvhlzWsnGAXwTIDn07As3SIh989h3xbD3Kzs0YQ1 X-Received: by 2002:a17:906:1f96:: with SMTP id t22mr20827836ejr.381.1596544639436; Tue, 04 Aug 2020 05:37:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596544639; cv=none; d=google.com; s=arc-20160816; b=ab81kuqWw1dUTZnNfXkv3ODsyrsD63u0dtzLpvB9hjY2PMvFj2WxCtazKwBVqy4Gxt okLXwfXASXcq1OU9BrsDE/H1zsoj/UHorfhKBvbExI+kXufXXmI9mf23W2jXFRIothB6 nFUBmZcFZKBIuLah7UQqWPeLYmjEW4nEVakKx4kuYD25pN5TNVAQg2ZsfeKrPZgFmFxb dJ6g/U+bvH/V1/MUdxrJElgLKWeXxIeXXbpMLb9tQ/Ogk8EbgKZc6gJBDJ8ZCQEdw4qi M6d2JBVhAz6yfaQKZekT40ZfV0AxeDh68xIG8jOwSONfvt70ga6pgDCzusZ1CaC/CwEe vJkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:cc:to:subject:dkim-signature:dkim-filter; bh=EDYQXtIcEFV7aN6yvN5U5eVqNnOt4HJHg2pizOb1mdg=; b=ZdQg8H7jZ4puzX5cKRP4KYZeIACEQ6yOzUCGV96eSdNwCOIxycqODBauSgIE6F/sb1 W/jWO9iMSMajUnJ5ZnvdAS+JR2hvLZIvEIryu6OdkOcyKdlkUqBowpUcCd0HLvTB4UeI vJme32cq2f1cjMfoDyY7yfOJ2klVLXyWnteGivThvpvDdtxOCcFDSqSP7sc+1vrddj5Q uuI5b7CEao2kIgBQAWHX9BvHu3O0ecOYfc4DsbGw5a1kXCemvK2DpfCVQHAa8/pYdgA4 4OoQvxfpOUkn1gsZ1vgGLUScxUwbQRxyxbKEf2mwJiSfRFK3IOVk0+li09DDzqDeoc8V rW2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=WBeIobOV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id os22si11762085ejb.693.2020.08.04.05.36.55; Tue, 04 Aug 2020 05:37:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=WBeIobOV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726533AbgHDMd2 (ORCPT + 99 others); Tue, 4 Aug 2020 08:33:28 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:48874 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726797AbgHDMaX (ORCPT ); Tue, 4 Aug 2020 08:30:23 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200804121927euoutp01c0b2b48c170e30e131170039041bc781~oD_qGrQNl0315703157euoutp01v for ; Tue, 4 Aug 2020 12:19:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200804121927euoutp01c0b2b48c170e30e131170039041bc781~oD_qGrQNl0315703157euoutp01v DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1596543567; bh=EDYQXtIcEFV7aN6yvN5U5eVqNnOt4HJHg2pizOb1mdg=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=WBeIobOVA9UzCQkCOzhdnj1QhjV3r5jYiUGxoIID5baRL89jWYjnrmUUZjzs3qy8+ bLzwfTkjMkrz+fSKun9BhAUYnInFtw1ULURCpKBblqCWEd6WgKVJRrItDTpbeXmmHh zyi7qYBMrFwN1jOcGql3vFFl6XcS5gDYJoQkD8XY= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200804121927eucas1p1b882fe9f76145572f4e3f57e87d31092~oD_pciIR32714927149eucas1p1e; Tue, 4 Aug 2020 12:19:27 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id A7.02.05997.E42592F5; Tue, 4 Aug 2020 13:19:27 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200804121926eucas1p1af45ed346c7f9601d570f3f7457b3340~oD_o5mN112709727097eucas1p1b; Tue, 4 Aug 2020 12:19:26 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200804121926eusmtrp21f8ebdce5bf2c7a00ae4c8afa7c7c039~oD_o47dY61747617476eusmtrp2g; Tue, 4 Aug 2020 12:19:26 +0000 (GMT) X-AuditID: cbfec7f4-65dff7000000176d-ea-5f29524e6aa8 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id EA.45.06017.E42592F5; Tue, 4 Aug 2020 13:19:26 +0100 (BST) Received: from [106.210.88.143] (unknown [106.210.88.143]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200804121926eusmtip190e48a53cc7bcc86d14a316f4bef39cc~oD_oeKMJu2691826918eusmtip1T; Tue, 4 Aug 2020 12:19:26 +0000 (GMT) Subject: Re: [PATCH] memory: samsung: exynos5422-dmc: propagate error from exynos5_counters_get() To: Lukasz Luba , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, Chanwoo Choi From: Marek Szyprowski Message-ID: <78c95f58-8142-7607-6d74-5cfa6a7ffb77@samsung.com> Date: Tue, 4 Aug 2020 14:19:25 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: <24675559-b807-5b80-1318-805c1530ffb3@arm.com> Content-Transfer-Encoding: 8bit Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBKsWRmVeSWpSXmKPExsWy7djPc7r+QZrxBm9WM1lsnLGe1eL6l+es FufPb2C3uLxrDpvF594jjBYzzu9jsljY1MLuwO6xZt4aRo9NqzrZPPq2rGL0+LxJLoAlissm JTUnsyy1SN8ugSuj5XkDU8FsyYrrdx8zNjB+EOli5OSQEDCReLlzDWsXIxeHkMAKRolbb+cx QzhfGCU+LdrPDuF8ZpRYNnkRC0zLnGtroRLLGSVmvHgK1f+eUWLzjpVsIFXCAskSO2Z+ZwSx RQTiJRYe+gDWwSywhlHi0NvjYEVsAoYSXW+7wGxeATuJq4uvsYPYLAIqElN7pjGB2KICcRJb j19lgqgRlDg58wnYGZwC1hLLdpwE62UWkJdo3jqbGcIWl7j1ZD4TyDIJgVXsEu/23mCDuNtF 4s+sT1A/CEu8Or6FHcKWkfi/E6ahmVHi4TmI5yQEehglLjfNYISospa4c+4X0CQOoBWaEut3 6UOEHSX6D/1gBglLCPBJ3HgrCHEEn8SkbdOhwrwSHW1CENVqErOOr4Nbe/DCJeYJjEqzkLw2 C8k7s5C8Mwth7wJGllWM4qmlxbnpqcVGeanlesWJucWleel6yfm5mxiB6ef0v+NfdjDu+pN0 iFGAg1GJh3cBq0a8EGtiWXFl7iFGCQ5mJRFep7On44R4UxIrq1KL8uOLSnNSiw8xSnOwKInz Gi96GSskkJ5YkpqdmlqQWgSTZeLglGpgtLjxj7egbn+63ILS6eeeXDyz46o2Vz/nnL975m+1 sv1sXe7zOtduYsNzzh2qzAYBPc5Mqvq7jyyw5Xhf2c/tmhwq9OP4yff+t5ce1js6d59m0rMd nH6z7tzlnsD5Y4vWoQXvlkoqpLHcetPbrCvne4P7veOJ0x7747/N3z5TWvWbkpqigmBCsBJL cUaioRZzUXEiAHYP3DI7AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFIsWRmVeSWpSXmKPExsVy+t/xu7p+QZrxBtdPyVtsnLGe1eL6l+es FufPb2C3uLxrDpvF594jjBYzzu9jsljY1MLuwO6xZt4aRo9NqzrZPPq2rGL0+LxJLoAlSs+m KL+0JFUhI7+4xFYp2tDCSM/Q0kLPyMRSz9DYPNbKyFRJ384mJTUnsyy1SN8uQS+j5XkDU8Fs yYrrdx8zNjB+EOli5OSQEDCRmHNtLXsXIxeHkMBSRolL3/tZIRIyEienNUDZwhJ/rnWxQRS9 ZZSY9v0SI0hCWCBZYsfM72C2iEC8xIQH18EmMQusYZTYs62XEaLjIKPEk92/mUGq2AQMJbre gozi5OAVsJO4uvgaO4jNIqAiMbVnGhOILSoQJ/G49z8zRI2gxMmZT1hAbE4Ba4llO06C9TIL mEnM2/yQGcKWl2jeOhvKFpe49WQ+0wRGoVlI2mchaZmFpGUWkpYFjCyrGEVSS4tz03OLjfSK E3OLS/PS9ZLzczcxAuNt27GfW3Ywdr0LPsQowMGoxMO7gFUjXog1say4MvcQowQHs5IIr9PZ 03FCvCmJlVWpRfnxRaU5qcWHGE2BnpvILCWanA9MBXkl8YamhuYWlobmxubGZhZK4rwdAgdj hATSE0tSs1NTC1KLYPqYODilGhh3T5YXlNf8s1u9ievq654i1ZdLxNtcSuRsHeM2TT0im6uf xcUs4v6yePGTSCFuzh+q0k0rp3/8c9xM+vyMd6tEm79WVRtIBajNihCxcha9FLa00eHl9PKW R2uX9Hy+/fRYH4trWZKW3f9g33l3tLhd+1Z9e78l54OKfGpBZ0pVpahf5735F5VYijMSDbWY i4oTARLGHd7NAgAA X-CMS-MailID: 20200804121926eucas1p1af45ed346c7f9601d570f3f7457b3340 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200804061225eucas1p283c1e0dc404bc420a2184480fdfd2b0d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200804061225eucas1p283c1e0dc404bc420a2184480fdfd2b0d References: <20200804061210.5415-1-m.szyprowski@samsung.com> <24675559-b807-5b80-1318-805c1530ffb3@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Lukasz, On 04.08.2020 11:11, Lukasz Luba wrote: > Hi Marek, > > On 8/4/20 7:12 AM, Marek Szyprowski wrote: >> exynos5_counters_get() might fail with -EPROBE_DEFER if the driver for >> devfreq event counter is not yet probed. Propagate that error value to >> the caller to ensure that the exynos5422-dmc driver will be probed again >> when devfreq event contuner is available. >> >> This fixes boot hang if both exynos5422-dmc and exynos-ppmu drivers are >> compiled as modules. >> >> Signed-off-by: Marek Szyprowski >> --- >>   drivers/memory/samsung/exynos5422-dmc.c | 2 +- >>   1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/memory/samsung/exynos5422-dmc.c >> b/drivers/memory/samsung/exynos5422-dmc.c >> index b9c7956e5031..639811a3eecb 100644 >> --- a/drivers/memory/samsung/exynos5422-dmc.c >> +++ b/drivers/memory/samsung/exynos5422-dmc.c >> @@ -914,7 +914,7 @@ static int exynos5_dmc_get_status(struct device >> *dev, >>       } else { >>           ret = exynos5_counters_get(dmc, &load, &total); >>           if (ret < 0) >> -            return -EINVAL; >> +            return ret; >>             /* To protect from overflow, divide by 1024 */ >>           stat->busy_time = load >> 10; >> > > Thank you for the patch, LGTM. > Some questions are still there, though. The function > exynos5_performance_counters_init() should capture that the counters > couldn't be enabled or set. So the functions: > exynos5_counters_enable_edev() and exynos5_counters_set_event() > must pass gently because devfreq device is registered. > Then devfreq checks device status, and reaches the state when > counters 'get' function returns that they are not ready... > > If that is a kind of 2-stage initialization, maybe we should add > another 'check' in the exynos5_performance_counters_init() and call > the devfreq_event_get_event() to make sure that we are ready to go, > otherwise return ret from that function (which is probably EPROBE_DEFER) > and not register the devfreq device. I've finally investigated this further and it turned out that the issue is elsewhere. The $subject patch can be discarded, as it doesn't fix anything. The -EPROBE_DEFER is properly returned by exynos5_performance_counters_init(), which redirects exynos5_dmc_probe() to remove_clocks label. This causes disabling mout_bpll/fout_bpll clocks what in turn *sometimes* causes boot hang. This random behavior mislead me that the $subject patch fixes the issue, but then longer tests revealed that it didn't change anything. It looks that the proper fix would be to keep fout_bpll enabled all the time. > > Marek do want to submit such patch or I should bake it and submit on top > of this patch? > > Could you tell me how I can reproduce this? Do you simply load one > module after another (exynos-ppmu than exynos5422-dmc) or in parallel? I've just boot zImage built from multi_v7_defconfig with modules installed. Modules are automatically loaded by udev during boot. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland