Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3788980pxv; Mon, 19 Jul 2021 08:47:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrm5MPoGFbVau+TPyYKaqhy2tUH84oKXQH8/7btn1tAJ5itrJ2P48qwHR4rJI8HeUO2N0U X-Received: by 2002:a05:6e02:ea9:: with SMTP id u9mr17392725ilj.174.1626709621777; Mon, 19 Jul 2021 08:47:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626709621; cv=none; d=google.com; s=arc-20160816; b=bWGQg3zCTcJgqQH9MHRdFwIcpJs5avwX54mRRJ8BwqwL1O8t8pHui0ThXE3NJ0g5mS W5Ub2VmGMLQVpKNDupVxglYNBKEKgG8rqqODi9WQxKiCEOMjZbbhOEUCN/8duVff2yUb 44w5XJlPplqyGBBFgYFvP4cbMiF8oCKJhlFRYNUYJTcSTnkBhpm31/iTF6ylJOfIUT21 xX3nejgKBPha7BNi5iTVDsKf0POizgW2syP7cR/+EQhwnwKg+V1WPyrtyiFK1r6k8gPW KD7SpmjndtxhC9czg47d71UZ1iH3/rIi7WVV1dA+Kk7ODeMfW2WViJIrJX8hJtCFKKO0 5nfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4QoancAD8UctBRgJoExIG2u9XMEN3oJ+J2OTzT1R4sA=; b=a9d5DK01vXIdnnEQt+SNQVbFcLQoqtF23TXd9unLEQljXDNNiKVDOSx7BrnBhKRw38 tHRJpsIG0MZsLbpIR2loe/88S8Ktsfkmf5WLVduggUGcCfhTjTKK32L1Bg6Bhwib11G9 /2m9cbtpm0hLWVJ6m0N3B1b4rpY7J1f3oSlOTi/aimoDnE/ow4Mi6HAbsDhET2QVzVyP 6Kn4q0DV1yFeK0hvjUfYQFNMznSAVdProFRQwcOTI/2FbFpcvoLkzSEgBkL1goAarqH8 WdOSILNY/GkCYu2+ERsU8t6gUVW0yMyPSsViygXam/QVH26wZsA6aAmM44W3vSbeqJx+ adNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=rSuqk3ib; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n13si838988ioj.25.2021.07.19.08.46.49; Mon, 19 Jul 2021 08:47: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=@linuxfoundation.org header.s=korg header.b=rSuqk3ib; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244024AbhGSPDm (ORCPT + 99 others); Mon, 19 Jul 2021 11:03:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:34152 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244852AbhGSOlX (ORCPT ); Mon, 19 Jul 2021 10:41:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 685D360551; Mon, 19 Jul 2021 15:21:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626708087; bh=6fxvkolb4LQvw1c/ZtbEpDhH5Y7OIb8tJ40UCw5uHgw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rSuqk3ibj2ycBVR/FvwFvUCN/gDWf13zJ2zzBmWxNYtl/t86MFhLQb+2KvN6fIzmd tCn6TrQiAx+vX+Vl0ZEHWMTOZ/YcowWK5/tAEqJc2AnYcaw8MbaId/xrP/nDdQOrw0 y3MlJWKHJNQ6OVAvJGSz7pSaB8GAHOUUiTlBbk7g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thierry Reding , Dmitry Osipenko , Sasha Levin Subject: [PATCH 4.14 174/315] clk: tegra: Ensure that PLLU configuration is applied properly Date: Mon, 19 Jul 2021 16:51:03 +0200 Message-Id: <20210719144948.615355300@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.861561397@linuxfoundation.org> References: <20210719144942.861561397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dmitry Osipenko [ Upstream commit a7196048cd5168096c2c4f44a3939d7a6dcd06b9 ] The PLLU (USB) consists of the PLL configuration itself and configuration of the PLLU outputs. The PLLU programming is inconsistent on T30 vs T114, where T114 immediately bails out if PLLU is enabled and T30 re-enables a potentially already enabled PLL (left after bootloader) and then fully reprograms it, which could be unsafe to do. The correct way should be to skip enabling of the PLL if it's already enabled and then apply configuration to the outputs. This patch doesn't fix any known problems, it's a minor improvement. Acked-by: Thierry Reding Signed-off-by: Dmitry Osipenko Signed-off-by: Thierry Reding Signed-off-by: Sasha Levin --- drivers/clk/tegra/clk-pll.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index dc87866233b9..ed3b725ff102 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -1091,7 +1091,8 @@ static int clk_pllu_enable(struct clk_hw *hw) if (pll->lock) spin_lock_irqsave(pll->lock, flags); - _clk_pll_enable(hw); + if (!clk_pll_is_enabled(hw)) + _clk_pll_enable(hw); ret = clk_pll_wait_for_lock(pll); if (ret < 0) @@ -1708,7 +1709,8 @@ static int clk_pllu_tegra114_enable(struct clk_hw *hw) if (pll->lock) spin_lock_irqsave(pll->lock, flags); - _clk_pll_enable(hw); + if (!clk_pll_is_enabled(hw)) + _clk_pll_enable(hw); ret = clk_pll_wait_for_lock(pll); if (ret < 0) -- 2.30.2