Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp4451121pxa; Mon, 10 Aug 2020 09:20:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw3Rxcc0t56dWmkKXDNa35uGi02ciMKUkfVxa7d6AEcCMgtUXHcGDxah/eCoyA/6IWAbqG5 X-Received: by 2002:a17:906:57c6:: with SMTP id u6mr21418866ejr.331.1597076441756; Mon, 10 Aug 2020 09:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597076441; cv=none; d=google.com; s=arc-20160816; b=Z6S4G3BfV8w8efgi7ygSiXnjrUQ93IlJJNHQTK1uWhSvTIb5dDObY3ZdFjPregxG0r /Q7RmOVsJBO9gqKh9o931khLshKgizoS+5tCWl+PS33h0Gm2L4Kbcx8EIntfwqYmxKPZ LuJ+z77HvjkVwjuCEvokmth5GJ0wRXxXeVW2aW19bK6u5h0Y9kcqAXq62rc3XCsL/2RL qVEIKxxD1DknY90r90Zvqlb+sn2DDl/4i139vjbVAnrjwY7CQmiN9yYw/ioUWSW56UkJ D+TYn1V5AUhyivw4BBvRbUUrupWotaTXvh/enyRv6Uqfy+ol0gc0UYHtDOgsM2g7qfzx HyBQ== 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-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:cc:to:subject:dkim-signature :dkim-filter; bh=fQpqVRukjFwXato5hWiSMNWbmM4mkmN49H5yReXM2hA=; b=Iw7xzbdvPXUTrBT95bvsgCW8REaCAnZLeqhYabFYRbih4yrKuSS+L34pmQeS+iwQr2 1U9Oum9tk7cFu/B1tzE/o3hYKI/McqHnd92W9MFhE6qm6wFMubVvakDFwNB5r3S4o7i/ e9KRyKzYdCUIxwNr2zUYGlbt95DtbsR/x6SE3RAR0j280fo/tv/JRBzfoPC+g3IvEyBI RlmhojPMyzDrVHSwl/OEA25zMx4TIfHqMukPTLkzVNCRam+Sj4PxBQOC6EHX18ihJjiA 44nseFm7WlUXr0HM6/3IqGHXgnz38sK74uGkkHANwONu5Y67QM5V2hzQHdcPFw65uMnm HL0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=ZuH1bRlp; 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 o5si10818653ejx.202.2020.08.10.09.20.18; Mon, 10 Aug 2020 09:20:41 -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=ZuH1bRlp; 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 S1727872AbgHJQTY (ORCPT + 99 others); Mon, 10 Aug 2020 12:19:24 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:53039 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727874AbgHJQTT (ORCPT ); Mon, 10 Aug 2020 12:19:19 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200810161918euoutp02384d1cdf9682814a19ece9ee0375e87b~p9HxmBsxb1253312533euoutp02J for ; Mon, 10 Aug 2020 16:19:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200810161918euoutp02384d1cdf9682814a19ece9ee0375e87b~p9HxmBsxb1253312533euoutp02J DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1597076358; bh=fQpqVRukjFwXato5hWiSMNWbmM4mkmN49H5yReXM2hA=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=ZuH1bRlpbqrLTPWQNhFxv0ARMvwqzUA6clJw876ceDAuIHXTVFP94rjtmmloUcwrS jvfDcmzVr6Es1H9CFNmvdqPYuvhdwiimQ0Z4sFI/WyrkyeGdZl2nxXdc7IwsURCp1M seRFKKDV40+qQG+fk8uK4YbZfS9CWnS86Yn1LNGY= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200810161917eucas1p16c02187100dd71f8cafe62950aa63e8a~p9HxI8fxt0149501495eucas1p11; Mon, 10 Aug 2020 16:19:17 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id A1.27.06456.583713F5; Mon, 10 Aug 2020 17:19:17 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200810161916eucas1p22c6e8c9488194bec4cb7198a416e24fd~p9HwDFisd2971829718eucas1p2I; Mon, 10 Aug 2020 16:19:16 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200810161916eusmtrp23a51452d6bad9cb77bcc3dae202516f7~p9HwCgCEs2878128781eusmtrp2t; Mon, 10 Aug 2020 16:19:16 +0000 (GMT) X-AuditID: cbfec7f2-7efff70000001938-d4-5f3173850c20 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id FC.E8.06017.483713F5; Mon, 10 Aug 2020 17:19:16 +0100 (BST) Received: from [106.210.123.115] (unknown [106.210.123.115]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200810161915eusmtip2a378c927ee9f676763e6ea2365d6660a~p9HvZytQT1832518325eusmtip2-; Mon, 10 Aug 2020 16:19:15 +0000 (GMT) Subject: Re: [PATCH] clk: samsung: Prevent potential endless loop in the PLL set_rate ops To: Stephen Boyd , Tomasz Figa Cc: COMMON CLK FRAMEWORK , Chanwoo Choi , Mike Turquette , SAMSUNG SOC CLOCK DRIVERS , linux-kernel , Bartlomiej Zolnierkiewicz , Marek Szyprowski From: Sylwester Nawrocki Message-ID: <6736f3d1-31de-6be4-2b1b-50c776025b72@samsung.com> Date: Mon, 10 Aug 2020 18:19:14 +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: <159683164115.1360974.9195158180168134577@swboyd.mtv.corp.google.com> Content-Language: en-US Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHe7dztqM2eZ2GTxYKoz6Y5BwWHFG0mzikD93og6Jr5slL25Qd NRUiQRSdl7wE6tA0JYyFiOZdshrq8E6mJc5Z1EgqrOYlskxzO0Z++/2f5/+8z/OHl+KLO0kv KkmTxmg1SpVE4Ex0DW9MHs9jZYqARctBuq26laTfrC2RtK14kaRf9dUK6OqpAR7dMmgR0i9H w+mt120EbejbRKec5N/m8oTyXr1FKG83FArkpR0GJF9t975ARjmHxDOqpAxGKw295pyYX/WA TNXhzJrN5By05aJDThTgE7Aw0yHQIWdKjB8hMNTq+ZxYQ7Bq2xByYhXBeME4+jcyZ/6y22hG YDYYCU7YEAx9XCXtLnccDQ8tVXw7e2A5DC7+IO0mPjbzYPRpi8MkwDIoGSp1PCvCoVDcPegY IPBRKLIZBXY+gGOh0zTL4zxuMFJjJezshC/B1MiEg/nYE+at9TyOfaB7udYRAvCoECrv6gju 7nOw0LIs5NgdPps6dvkwbPfah+0DuQiK+81CTpQheGtq2E0dDAuTv3ZOonZW+EJrn5Qrn4bp 93V8exmwK8wtu3FHuEJFV9VuWQQF+WLOfQR+G6p4HHtBkXWbKEMS/Z5o+j1x9Hvi6P/vbUCE AXky6aw6gWFlGuaWP6tUs+maBP/rKep2tPOZxrZMKz1ofTrOiDCFJPtFqcEyhZhUZrBZaiMC ii/xEJ2ZGIsVi+KVWdmMNkWhTVcxrBEdogiJpyiw8VOMGCco05ibDJPKaP91eZSTVw7SP5sP UnkP+kXEGnKvNAUoCs+j1jvSn1qXsMp679n6lPXo2t6LJXHNf+oTozxu6zpDNPduVLyYMH9/ 7h81nFx3/+xVP2tbTk72yYgZ3Fh3WVSe+YEJD/IdHY/0tvaENcx2qWLUVLy5zudJoO9jy7vG YWpJGlnevxK59jXLtK9pQEKwiUrZMb6WVf4FruLNZEgDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKIsWRmVeSWpSXmKPExsVy+t/xe7otxYbxBseWC1hsnLGe1eL6l+es Fh977rFaXN41h81ixvl9TBZrj9xlt7h4ytXi37WNLBardv1hdOD0eH+jld1j56y77B6bVnWy efRtWcXo8XmTXABrlJ5NUX5pSapCRn5xia1StKGFkZ6hpYWekYmlnqGxeayVkamSvp1NSmpO Zllqkb5dgl5G2/SFrAVdAhUz/2Q1MP7j7mLk5JAQMJG4cfs1excjF4eQwFJGiS9LrrB1MXIA JaQk5rcoQdQIS/y51sUGUfOeUWLqwfssIAlhgWiJpXenM4PYIgIeEkfufWMFKWIWuM8k8aT3 OTtIQkjgEpPEok4rEJtNwFCi92gfI4jNK2An0bP9CFgzi4CqRPfHQ2wgtqhAnMTj3v/MEDWC EidnPgFbxikQJHH+5Fkwm1lAXeLPvEvMELa4xK0n85kgbHmJ7W/nME9gFJqFpH0WkpZZSFpm IWlZwMiyilEktbQ4Nz232EivODG3uDQvXS85P3cTIzAKtx37uWUHY9e74EOMAhyMSjy8BdaG 8UKsiWXFlbmHGCU4mJVEeJ3Ono4T4k1JrKxKLcqPLyrNSS0+xGgK9NxEZinR5HxggsgriTc0 NTS3sDQ0NzY3NrNQEuftEDgYIySQnliSmp2aWpBaBNPHxMEp1cDobzS3cSVbrNOEsOUNBvuy +Vcnuf76Wf7z543zqa9tHyi9ueZx6sTxudxPZk64z/t70fMFkncM/sezTvnosk/unoiQoP+U 0nfHP7z8dqRw8dS+W7UdLy5dus5ymKnt0f1Zf61Fdd8pr8tQOrJm1vntO6qv/f79e4vKbb1U M5/IT58Xict96D62a7YSS3FGoqEWc1FxIgCmTylw2AIAAA== X-CMS-MailID: 20200810161916eucas1p22c6e8c9488194bec4cb7198a416e24fd X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200806160653eucas1p2b7fd860f5d89589cf9df0ad0f8d3981f X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200806160653eucas1p2b7fd860f5d89589cf9df0ad0f8d3981f References: <20200806160646.1997-1-s.nawrocki@samsung.com> <159683164115.1360974.9195158180168134577@swboyd.mtv.corp.google.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07.08.2020 22:20, Stephen Boyd wrote: > Quoting Sylwester Nawrocki (2020-08-07 10:06:08) >> On 8/6/20 18:11, Tomasz Figa wrote: >>>> --- a/drivers/clk/samsung/clk-pll.c >>>> +++ b/drivers/clk/samsung/clk-pll.c >>>> @@ -63,6 +63,27 @@ static long samsung_pll_round_rate(struct clk_hw *hw, >>>> return rate_table[i - 1].rate; >>>> } >>>> >>>> +static int samsung_pll_lock_wait(struct samsung_clk_pll *pll, >>>> + unsigned int reg_mask) >>>> +{ >>>> + ktime_t timeout; >>>> + >>>> + /* Wait until the PLL is in steady locked state */ >>>> + timeout = ktime_add_ms(ktime_get(), PLL_TIMEOUT_MS); >>>> + >>>> + while (!(readl_relaxed(pll->con_reg) & reg_mask)) { >>>> + if (ktime_after(ktime_get(), timeout)) { >>>> + pr_err("%s: Could not lock PLL %s\n", >>>> + __func__, clk_hw_get_name(&pll->hw)); >>>> + return -EFAULT; >>>> + } >>>> + >>>> + cpu_relax(); >>>> + } >> >>> Thanks for the patch! Good to have this consolidated. How about going >>> one step further and using the generic >>> readl_relaxed_poll_timeout_atomic() helper? >> >> Might be a good suggestion, I was considering those helpers but ended >> up not using them in the patch. The cpu_relax() call might also not be >> really needed now, when there is the ktime code within the loop. >> Having multiple occurrences of readl_relaxed_poll_timeout_atomic() could >> increase the code size due to inlining. How about keeping the >> samsung_pll_lock_wait() function and just changing its implementation? > > None of these concerns are mentioned in the commit text. And they seem > like problems that should be addressed if they're actually problems vs. > avoiding a common macro and not mentioning them. Sure, I will improve the commit text, I just didn't investigate in detail how the common macro could or could not be used before Tomasz's review.