Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3768069pxv; Mon, 19 Jul 2021 08:17:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw3kr3cDkxV+42iB6l4p/Fwcnvcu0fQker+dsn5dtazHlXxtwve4vhAtik7WhMrmWDXXGmK X-Received: by 2002:a05:6402:2228:: with SMTP id cr8mr35633721edb.309.1626707873484; Mon, 19 Jul 2021 08:17:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626707873; cv=none; d=google.com; s=arc-20160816; b=JhjLmXEJrSh4/BUXNg0+tApPlxAuOdQN/cv41cxHnIiNXWq4QZdT55FFw7lTzXZCch gxom/478kWLEMcbnnlyYoEIL0CprM0F8gP/c/9P6sb/Ut9ALef73XaWQpQdV2H6o672u csMdXCRisVB1+IoNXMUaHebKv48y8sA6TC1RfpYUrKH+hu3z8+8eDt+BrlqW5+wW8Mca eeKtERTsNoHY19M31GnloaFPx+8MJxG035dhWAnQVC3+fblwL1PGF9rHpo4bKzctI+y/ oOajQhMQNTTISIi3tVuKpWvjKloSFHqg2UA64vjKGshEz+GPo+EnQWgwNDNEUbkVY58v O0mA== 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=4h77ATSLkY6WeyYh/wIxKjKlwemH+aQIdx2pY4ku+RQ=; b=l734EEXjN5yZo+NzXXeVHFVpUBCKDKf7ivOyBVLJSUcjOK/hEnGhgzeUAWF0kW/Lu9 j7i27eLbf1l35LsI2qT3kWiegii7lcp7wUxafjCfZQiG39GngF8zePLcHELUf6d11e4z qBCCxlllSJgGrq4gTmXoVPiMmleCzoU0vlt2AAQMLM9CG07/cW73VedEAyD+69P8h6py LdIy7DmjRKfMseVt8SVbVgZPbKO48xOaYYs41XRbj//44TqlfU54dy19uYcFu3B6ouvV x6cqxaEre02Rk4cNap1Mnr7/9ZJI2yyGPsrfaDaYxcLGlDLxbYnnR7LpsNiCODZLR9Zp jU6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=JXI6ddpK; 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 j18si21270351ejx.752.2021.07.19.08.17.30; Mon, 19 Jul 2021 08:17:53 -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=JXI6ddpK; 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 S244995AbhGSOfz (ORCPT + 99 others); Mon, 19 Jul 2021 10:35:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:38474 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244450AbhGSO3q (ORCPT ); Mon, 19 Jul 2021 10:29:46 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id EE8B360249; Mon, 19 Jul 2021 15:09:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626707371; bh=5i7m6YX8SA5KT6nhg8VE7TWcYW8SL3Nb60FoMy3MKc0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JXI6ddpKVKOydztGmw/5zmZDFsFTdPWepFzRaxY0ji6r7mlgCc4c4Rz32s9Yt6CMU 2XW7YfZNwhHOtkJqo5+1UDXLNYh85sZIJun9+/RNksRaTo81jtAmPvTGOj9gSlOFEK NMNTzgGv7iUflemyYCD5HqAqEb/ZXeGONRj/xDeY= 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.9 134/245] clk: tegra: Ensure that PLLU configuration is applied properly Date: Mon, 19 Jul 2021 16:51:16 +0200 Message-Id: <20210719144944.740824590@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144940.288257948@linuxfoundation.org> References: <20210719144940.288257948@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 1ab36a355daf..789efad791a3 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -1085,7 +1085,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) @@ -1702,7 +1703,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