Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5157494imu; Tue, 29 Jan 2019 13:55:49 -0800 (PST) X-Google-Smtp-Source: ALg8bN5wToKkhxZ3Z+mYoWSsq3AAkddBxuSO8Hv42DhL/NTUdj5w6n/ut+JoQoPTOv0n8L/qkJVI X-Received: by 2002:a62:55c4:: with SMTP id j187mr27776198pfb.129.1548798949559; Tue, 29 Jan 2019 13:55:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548798949; cv=none; d=google.com; s=arc-20160816; b=tw/0h9fKXkXjDjC9TcMuW8PZmCjB2KxgMKOT78odNaN2RIim67WLewMmoMPGySd+vd COzXp3SaQphQMW4P+eZ/XhFnkmbguVrEmEFFV++hNpdsPWGX+iCCpq25k6N7OzwsSwTe NUJC4UMNKBTX/Jkeff2PRRo/uwNz10qjRbz4Jpr7pANkWicnIjtjStmGL9coCDtIFK5N IUBN+fTEw6K6GMSY7mv93Y5tBdz0i2/P1FxYkZUgu3uSF90yQpe+ybaQM8vPg7bWf5ic fOGH9sJIyFDeadhduNO54oFwPdECx4j/9Cv3vC2uzJ6Sr8WxLQLCOLgPwLZOT3o0AZzk aopw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:to:message-id:in-reply-to:from:cc :user-agent:references:subject:content-transfer-encoding :mime-version:dkim-signature; bh=uvmFqKF4E8pZliDSjrb1GBJ/SjGUwTFYo46j0xCbKxA=; b=XpcUKhBOVU6MQO5uuFzvbPCub2DdGx631nzpBo40x5xYW2rebwVVp2+7KxF5t3q/5K VtE9GXEXrfPS+BH4HVToqJSyMuHko636/X5dPLjzanl/BHcCTFMsgY3wFAy2XmpXtHFq k8LG7gXDkPKr8cdB3Ze3jWpc4/7hOD8Up4VnKEj4CggWMdEPVkA4xO8gtYn1LgU6E+iD QkZsGn/qntstvenmklYRqBpKdy265AzSgeo0iwyN1Swzb7V+qRGeW9ubbahdw6IJsMOa Jqj5V/hZmBPHIXLRKm7qbSXk/+/LxTp2RgR7O6gXU71TN4JmvObbLG0cgmZrQrvWX6NA CaNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=U9UxA0cy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33si38133642pls.408.2019.01.29.13.55.33; Tue, 29 Jan 2019 13:55:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=U9UxA0cy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728624AbfA2Vz3 (ORCPT + 99 others); Tue, 29 Jan 2019 16:55:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:58000 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727339AbfA2Vz3 (ORCPT ); Tue, 29 Jan 2019 16:55:29 -0500 Received: from localhost (unknown [104.132.0.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6F66D2082F; Tue, 29 Jan 2019 21:55:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1548798928; bh=vrxCJaOOpOwcogcgyECS3v0aknQ9iQrGQguScjUaK1M=; h=Subject:References:Cc:From:In-Reply-To:To:Date:From; b=U9UxA0cyUrMxiTYxpM3wnnFBmKrfWWxFDHwv/B3kUtMTwSm0zNfd1QcP56IT+Oj9f xI3WbrqQOMvOqqDu5iVfsV6GWAgT5DC3rsliyyqgBmQ0RuhknDkh5tnU3eO/Fhw2vI t1Kw9jsxJWpxw7811NP5A6jM2tLFkDnmsitOtbBc= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH] clk: fractional-divider: check parent rate only for general approximation References: <20190107132124.27788-1-katsuhiro@katsuster.net> User-Agent: alot/0.8 Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Katsuhiro Suzuki From: Stephen Boyd In-Reply-To: <20190107132124.27788-1-katsuhiro@katsuster.net> Message-ID: <154879892760.136743.9274469856102314518@swboyd.mtv.corp.google.com> To: Katsuhiro Suzuki , Michael Turquette , linux-clk@vger.kernel.org Date: Tue, 29 Jan 2019 13:55:27 -0800 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Katsuhiro Suzuki (2019-01-07 05:21:24) > Custom approximation of fractional-divider may not need parent clock > rate checking. For example Rockchip SoCs work fine using grand parent > clock rate evne if target rate is greater than parent. >=20 > This patch removes parent clock rate check from custom approximation. >=20 > Signed-off-by: Katsuhiro Suzuki > --- > drivers/clk/clk-fractional-divider.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) >=20 > diff --git a/drivers/clk/clk-fractional-divider.c b/drivers/clk/clk-fract= ional-divider.c > index 545dceec0bbf..b0fc5509e0ff 100644 > --- a/drivers/clk/clk-fractional-divider.c > +++ b/drivers/clk/clk-fractional-divider.c > @@ -79,13 +79,17 @@ static long clk_fd_round_rate(struct clk_hw *hw, unsi= gned long rate, > unsigned long m, n; > u64 ret; > =20 > - if (!rate || rate >=3D *parent_rate) > + if (!rate) Is your fraction multiplying the rate up? If it's a divider it shouldn't be increasing the rate more than whatever the parent is supplying so this looks odd. How does the grandparent matter here? Maybe you can show the example in the commit text so we can all understand what's going on here. > return *parent_rate; > =20