Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3788711imu; Mon, 7 Jan 2019 09:26:38 -0800 (PST) X-Google-Smtp-Source: ALg8bN6+XLETi23wf6WMkR77NM3bfgPZ5X7C9oQheum8RCqUxgF4eK7eqxNtxk3WZIGIDEZbNjiE X-Received: by 2002:a63:e655:: with SMTP id p21mr30293844pgj.70.1546881998168; Mon, 07 Jan 2019 09:26:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546881998; cv=none; d=google.com; s=arc-20160816; b=pyeooT3WX3KR3fCPbJlFnWGfkhQLUPifZAbm0YbE+RqJsbW1aSyaXLQhJ4NtV0qOj9 ScENoEyMhJd32nWBFtRz0FfY53NSSDdY1mU/peZ/i4LUr0lAPp1dMGIRxr50M8GlrO3R P4AeCPhyAe/FVZg5R8n/AEfOi3gV3Gz629MNhDh15xO69RBlpuRYSUm58U3YTgjE1Fsj Xlk5PTA9lGtNdPEkWC6E42EcEntWRV83TiE0IBPBnditql+aX5gXubJjkxYDEOZFByBe 4nJ9DzqBBAtMkauN57/wMM46GAjN5sgJ1z4vCDhvsqw8O9pFrHxqBoWTQ6e4QkF+IsR8 oJvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=H5y+hc6H61AH3Ay8FWFCGBjx+pUvYDyqwcQQ/WHboqY=; b=OYm6iVFA2elpORAGMJqpipnlMzCZSbxxS9rg4bFGbPwTDUudIF7FTFuQvDFFMRjxDL swI8UU7NTn76CZ2d4OthQC3NvV9aokb5hXQGHE88l1E5CM469vOQqgb46yxGa2mhg84z AEm4ljilMd7mOpoonlUOp/4m0hl3CDbIie2d4fJNjYdJ12/rCkhnB4COO4KSwg7BovXX JUqxY6qmmr1Ib/b56eWq5vfwIzbp0nR0Z0YV4oiWz1pNVj5/0/G6Df3NN02OZU16fuE1 pjp8JjmMah1KbHH0MrrnF9AI3Qq65O9RuzZvckz43mVnVb059Y+vZ+nu5reoyLG9oYFm EeNw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a1si3211061pgk.495.2019.01.07.09.26.21; Mon, 07 Jan 2019 09:26:38 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730356AbfAGNVx (ORCPT + 99 others); Mon, 7 Jan 2019 08:21:53 -0500 Received: from www1102.sakura.ne.jp ([219.94.129.142]:17777 "EHLO www1102.sakura.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729736AbfAGNVw (ORCPT ); Mon, 7 Jan 2019 08:21:52 -0500 Received: from fsav305.sakura.ne.jp (fsav305.sakura.ne.jp [153.120.85.136]) by www1102.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id x07DLdVp000356; Mon, 7 Jan 2019 22:21:39 +0900 (JST) (envelope-from katsuhiro@katsuster.net) Received: from www1102.sakura.ne.jp (219.94.129.142) by fsav305.sakura.ne.jp (F-Secure/fsigk_smtp/530/fsav305.sakura.ne.jp); Mon, 07 Jan 2019 22:21:39 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/530/fsav305.sakura.ne.jp) Received: from localhost.localdomain (183.38.232.153.ap.dti.ne.jp [153.232.38.183]) (authenticated bits=0) by www1102.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id x07DLY0H000344 (version=TLSv1.2 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 7 Jan 2019 22:21:39 +0900 (JST) (envelope-from katsuhiro@katsuster.net) From: Katsuhiro Suzuki To: Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Katsuhiro Suzuki Subject: [PATCH] clk: fractional-divider: check parent rate only for general approximation Date: Mon, 7 Jan 2019 22:21:24 +0900 Message-Id: <20190107132124.27788-1-katsuhiro@katsuster.net> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. This patch removes parent clock rate check from custom approximation. Signed-off-by: Katsuhiro Suzuki --- drivers/clk/clk-fractional-divider.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-fractional-divider.c b/drivers/clk/clk-fractional-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, unsigned long rate, unsigned long m, n; u64 ret; - if (!rate || rate >= *parent_rate) + if (!rate) return *parent_rate; - if (fd->approximation) + if (fd->approximation) { fd->approximation(hw, rate, parent_rate, &m, &n); - else + } else { + if (rate >= *parent_rate) + return *parent_rate; + clk_fd_general_approximation(hw, rate, parent_rate, &m, &n); + } ret = (u64)*parent_rate * m; do_div(ret, n); -- 2.20.1