Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3037665ybt; Mon, 29 Jun 2020 13:35:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdgBi/QY5L6qGVPahQev8OZMr+Fm5EJkq5K54oI5gV5gWPT5BxgQBEzpsT5rVqwyrInivJ X-Received: by 2002:a17:907:7245:: with SMTP id ds5mr15383654ejc.1.1593462901615; Mon, 29 Jun 2020 13:35:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593462901; cv=none; d=google.com; s=arc-20160816; b=oz+7fBJuLQ4qjykukP0S64flKhgfXrCQrPmYznCgrttxXhYh5X10rDlV0SgJ2R2tmM JmAqRsO1EkTzbgIfBeh4CWUaGTXsuG31CRaKJUKIo9MY7YaFTD2won2bPgmCEU/aFT3i WkrQhlGuWO0bv3Dkhb3l7+feDIK2wBazd/OHkiv/09POxlbigITLy0iV03vaRuCV2ZtK 2p36vMl3JGGgRkSM982W3+kVkwXGJ09Ya0nN34TsVA5RuKtGzs/2M3D2Tj/OuuR+hA31 /XCKrWDrL343boyrhQpPGdxwaioUM2C0hkWMHBHnd6SpIPo0MTxGxRYSn15VMsKG4x+U MJeA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=S6PLOTNVpJ9QVxyzLuCttT+5bZyjwZudtQn4Ojp1lNQ=; b=tCPT0jV0aVet33z/bin7sc44V48vDRxd2G3U7gScay7p8QRJkCxRFDZgUsvlQ2afT0 v1J6vVLzGKAknvWjMV5iQGZa0qTGB0HeTP0vhyTYnlLfEH1bnejjm8ef/+YX7DjzDzcj +HPCDEyi3RH61qMN/cuIwodddRyfDJQ/hmnz9m2u6eKqAYO0wZaaDOBwUQzBMpfUN8Xu NlVvFZ4YwarQicOrqSryLPoMU57OxIJisAm8xrlVFCjqX3LqlbPZmCRZFG2yuuV1DSRT 0R14oQSLA1x9SirD59PE56LJxdyQOPMvEDskW2qqBYkq7f8LNaML6v4B2vHZuLRZ8d0C EdYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=LLZLGiPw; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bd18si331397edb.31.2020.06.29.13.34.38; Mon, 29 Jun 2020 13:35:01 -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=@kernel.org header.s=default header.b=LLZLGiPw; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389269AbgF2Ubu (ORCPT + 99 others); Mon, 29 Jun 2020 16:31:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:37020 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732473AbgF2TZT (ORCPT ); Mon, 29 Jun 2020 15:25:19 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 16EAC246E8; Mon, 29 Jun 2020 15:40:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593445217; bh=QSlBsozypvO1fQOT4Kak0ITcN+kl2Ea7Xakhpr49Ngw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LLZLGiPw4gK7eOYQjpUyCzgFeOwY4ukge0rK6pdeyXpaKlzWDyQ/YgzzxVt0S/aHJ LNAzcp4EY/HcrzDg3YzQ8tbl13OYnvQE3SJFWuVTg/QUi0yR9Fu1B3rX0VUhcsCaj1 hlIW3Ftejcaq1DSI+O1b+QpGFvOnedFmpkC43Dk4= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Bryan O'Donoghue , Georgi Djakov , Andy Gross , Bjorn Andersson , Michael Turquette , Stephen Boyd , Sasha Levin Subject: [PATCH 4.9 005/191] clk: qcom: msm8916: Fix the address location of pll->config_reg Date: Mon, 29 Jun 2020 11:37:01 -0400 Message-Id: <20200629154007.2495120-6-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629154007.2495120-1-sashal@kernel.org> References: <20200629154007.2495120-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.229-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-4.9.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 4.9.229-rc1 X-KernelTest-Deadline: 2020-07-01T15:39+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bryan O'Donoghue [ Upstream commit f47ab3c2f5338828a67e89d5f688d2cef9605245 ] During the process of debugging a processor derived from the msm8916 which we found the new processor was not starting one of its PLLs. After tracing the addresses and writes that downstream was doing and comparing to upstream it became obvious that we were writing to a different register location than downstream when trying to configure the PLL. This error is also present in upstream msm8916. As an example clk-pll.c::clk_pll_recalc_rate wants to write to pll->config_reg updating the bit-field POST_DIV_RATIO. That bit-field is defined in PLL_USER_CTL not in PLL_CONFIG_CTL. Taking the BIMC PLL as an example lm80-p0436-13_c_qc_snapdragon_410_processor_hrd.pdf 0x01823010 GCC_BIMC_PLL_USER_CTL 0x01823014 GCC_BIMC_PLL_CONFIG_CTL This pattern is repeated for gpll0, gpll1, gpll2 and bimc_pll. This error is likely not apparent since the bootloader will already have initialized these PLLs. This patch corrects the location of config_reg from PLL_CONFIG_CTL to PLL_USER_CTL for all relevant PLLs on msm8916. Fixes commit 3966fab8b6ab ("clk: qcom: Add MSM8916 Global Clock Controller support") Cc: Georgi Djakov Cc: Andy Gross Cc: Bjorn Andersson Cc: Michael Turquette Cc: Stephen Boyd Signed-off-by: Bryan O'Donoghue Link: https://lkml.kernel.org/r/20200329124116.4185447-1-bryan.odonoghue@linaro.org Signed-off-by: Stephen Boyd Signed-off-by: Sasha Levin --- drivers/clk/qcom/gcc-msm8916.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/clk/qcom/gcc-msm8916.c b/drivers/clk/qcom/gcc-msm8916.c index 8dd71345b5d02..55430c8f1bc20 100644 --- a/drivers/clk/qcom/gcc-msm8916.c +++ b/drivers/clk/qcom/gcc-msm8916.c @@ -270,7 +270,7 @@ static struct clk_pll gpll0 = { .l_reg = 0x21004, .m_reg = 0x21008, .n_reg = 0x2100c, - .config_reg = 0x21014, + .config_reg = 0x21010, .mode_reg = 0x21000, .status_reg = 0x2101c, .status_bit = 17, @@ -297,7 +297,7 @@ static struct clk_pll gpll1 = { .l_reg = 0x20004, .m_reg = 0x20008, .n_reg = 0x2000c, - .config_reg = 0x20014, + .config_reg = 0x20010, .mode_reg = 0x20000, .status_reg = 0x2001c, .status_bit = 17, @@ -324,7 +324,7 @@ static struct clk_pll gpll2 = { .l_reg = 0x4a004, .m_reg = 0x4a008, .n_reg = 0x4a00c, - .config_reg = 0x4a014, + .config_reg = 0x4a010, .mode_reg = 0x4a000, .status_reg = 0x4a01c, .status_bit = 17, @@ -351,7 +351,7 @@ static struct clk_pll bimc_pll = { .l_reg = 0x23004, .m_reg = 0x23008, .n_reg = 0x2300c, - .config_reg = 0x23014, + .config_reg = 0x23010, .mode_reg = 0x23000, .status_reg = 0x2301c, .status_bit = 17, -- 2.25.1