Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1587868ybv; Thu, 20 Feb 2020 23:49:21 -0800 (PST) X-Google-Smtp-Source: APXvYqyWkrSemvHxcfx1jmcK51ae+ST710dB8pHIEn8zMcQVCPyp52cqqI9XZgJLbHtpY1uq3HcA X-Received: by 2002:a9d:6c55:: with SMTP id g21mr27267244otq.264.1582271361533; Thu, 20 Feb 2020 23:49:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582271361; cv=none; d=google.com; s=arc-20160816; b=0z51Lnga2jGQ7t6F15x4y3CJYtMfzeBPWUVANKy11dwH61iMsFaXSLkzOZAFFDIrAs UNYSrxdgqY4yOUHIIzZrjfaLx8TfZzuhPi5niCU0cOWReH/SjzvKBNjjYUmRvCnaSCzs qKBzpujiutPc2iGnqCMfdfkbXx7MiIuVhU8OM6eXEuUSDoOYxxmOEaIEBjhci8th3XWC 4p7JXvVl8yBiHGrHIpvSjcWPiDmvnnCKYdSl7tZk33RhPj+gEUut4ihpA10WcYdHdB3Z BudCAPn30UJWRLp9usIAsgOa5RNhkqb1pTlaM9Sf2q6g67r0DFZxJ66WmHtgzTELeX9q SWMA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LIyGKGD49Pi6at/0mnnudHF6RGGFe/ijY9Dz116UgmA=; b=fBmm15Q2jd68W09Fqnk+Ku1wy32cv5b89XvJtKsnHLqo83YfjFBRxR+VrQCgvg7SJ0 S8MnbfrKqAs8XxEbecFqVSH3jOH0PGZtjxw4GNwlYijApE8DiTIk3xZMKOz+d4EBr2wz 9mmloveLnPeWirLecift5/Un8sJff/IT/K7St94AQnX3bafjoU/mO1qmXM7GgWA9HWkq IPzaKH+akbrkxwkS1qfTlesKAC+qzRyygTMVq+h1K4AS1DCiYRHfXD2PvApNKPoPjylf gaO4IrivjrTdbmFpyFLVYN2TvfwTBiFJx7XaMC8QWLwwAmvWRlitTxYJJAEw7VmobAmt WmGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=oABAnRl+; 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 m14si1071302otr.131.2020.02.20.23.49.10; Thu, 20 Feb 2020 23:49:21 -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=oABAnRl+; 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 S1728982AbgBUHrt (ORCPT + 99 others); Fri, 21 Feb 2020 02:47:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:43676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728324AbgBUHrn (ORCPT ); Fri, 21 Feb 2020 02:47:43 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 D327424653; Fri, 21 Feb 2020 07:47:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271263; bh=LUMQ4dfbhY9whkPxnaGYGSz/mst3o4nhse0JeJl/eyc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oABAnRl+HH9nzkMGPvZyNm0MW6P0YTpRgsZ8krghQxqrDVaYw8U/20BeAkiIu4qRk o9oATgDbjVZwIEvkyG70GUOBObHfmjDWh/P5icCNWoGqSq5JR9yyr3/FkftMrKfXad SKrXep1vIMrjRvxJVKpOE6cMLk89Bxt4tmX6L6dE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Rajendra Nayak , Stephen Boyd , Sasha Levin Subject: [PATCH 5.5 100/399] clk: qcom: Dont overwrite cfg in clk_rcg2_dfs_populate_freq() Date: Fri, 21 Feb 2020 08:37:05 +0100 Message-Id: <20200221072412.125206758@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Stephen Boyd [ Upstream commit 21e157c62eeded8b1558a991b4820b761d48a730 ] The DFS frequency table logic overwrites 'cfg' while detecting the parent clk and then later on in clk_rcg2_dfs_populate_freq() we use that same variable to figure out the mode of the clk, either MND or not. Add a new variable to hold the parent clk bit so that 'cfg' is left untouched for use later. This fixes problems in detecting the supported frequencies for any clks in DFS mode. Fixes: cc4f6944d0e3 ("clk: qcom: Add support for RCG to register for DFS") Reported-by: Rajendra Nayak Signed-off-by: Stephen Boyd Link: https://lkml.kernel.org/r/20200128193329.45635-1-sboyd@kernel.org Tested-by: Rajendra Nayak Signed-off-by: Sasha Levin --- drivers/clk/qcom/clk-rcg2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c index 8f4b9bec29565..5e0f7d8f168dd 100644 --- a/drivers/clk/qcom/clk-rcg2.c +++ b/drivers/clk/qcom/clk-rcg2.c @@ -952,7 +952,7 @@ static void clk_rcg2_dfs_populate_freq(struct clk_hw *hw, unsigned int l, struct clk_rcg2 *rcg = to_clk_rcg2(hw); struct clk_hw *p; unsigned long prate = 0; - u32 val, mask, cfg, mode; + u32 val, mask, cfg, mode, src; int i, num_parents; regmap_read(rcg->clkr.regmap, rcg->cmd_rcgr + SE_PERF_DFSR(l), &cfg); @@ -962,12 +962,12 @@ static void clk_rcg2_dfs_populate_freq(struct clk_hw *hw, unsigned int l, if (cfg & mask) f->pre_div = cfg & mask; - cfg &= CFG_SRC_SEL_MASK; - cfg >>= CFG_SRC_SEL_SHIFT; + src = cfg & CFG_SRC_SEL_MASK; + src >>= CFG_SRC_SEL_SHIFT; num_parents = clk_hw_get_num_parents(hw); for (i = 0; i < num_parents; i++) { - if (cfg == rcg->parent_map[i].cfg) { + if (src == rcg->parent_map[i].cfg) { f->src = rcg->parent_map[i].src; p = clk_hw_get_parent_by_index(&rcg->clkr.hw, i); prate = clk_hw_get_rate(p); -- 2.20.1