Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4570504pxv; Tue, 6 Jul 2021 04:19:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQZU1lCaRyFasnjEzRvGpHGHciurEktJH25+hfd/TXZsuLkyJ/dqrLfM1elkMNtGhffiZZ X-Received: by 2002:a5d:9ad6:: with SMTP id x22mr15655640ion.182.1625570358978; Tue, 06 Jul 2021 04:19:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625570358; cv=none; d=google.com; s=arc-20160816; b=QYazwEmLMhex0OXKm1mVFOocnz7p++lF4B1l+V1TuL2H06n0rSRhaXYzUTN6dAl1Ep d6/LRUNKHeZyy+8D6UdTFJHfJx6qThNR5pEaN8hP9lC9IyRbQkNPCljWZ8nBSyyRVcRh jcGYQZX0lMavklFogIDvPIdWwpdBjl9bLhpGW47FVwVl0tIW3VNZ612b346cluJ8pZsg 6WFa1tDhXHLbXeTENmnJRyK+lRVqwus4+MZV+fLdffI9wjYSOp4wSoVrxbBHhrT9wUBC CVqEaqSDFnGah9lJDAnzRV8dkHanAendEjm9+oabIHgjwk4CAOS0YpbWQQ41Wjx/OUKK PApQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=sx6W/B95IbfJNcnEp6Adb+moXPCg4Glq883UYN/byP0=; b=ZsV+DIKEScu3JdLdqiFKg6aU9N4sRags371a3QvIrFAdfyqg/RM5eywRwAPHX5Dnu/ MOri6teTLlBZr661ptSv7Bx3DaC5p0MAqdzczC0E3oDrAKecD2khkEcW23nryNm6Tlnw bNQO8MCkmxS2CQh92ISAUpOj1Mrdd/uFCZNYQEiGaOxp6LPqAA4BaUKlix6OQX5l7zIv 30OHpu61/1jtirYaDq7fks38DvyTxgGH/eaGw0Gl2UNLGisyLrsDElhs8rn8ZS5XSkvp dV8bQSSI5/7odlMDigeAarzNP/5pfhuJlz6iQmV5bJomTGxMSVw7ye5iA2IMww+j5JLC r6sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=UzFBoiKi; 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 k11si19918522jav.18.2021.07.06.04.19.07; Tue, 06 Jul 2021 04:19:18 -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=k20201202 header.b=UzFBoiKi; 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 S233322AbhGFLUq (ORCPT + 99 others); Tue, 6 Jul 2021 07:20:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:53570 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232383AbhGFLSN (ORCPT ); Tue, 6 Jul 2021 07:18:13 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 48AC161C4C; Tue, 6 Jul 2021 11:15:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625570134; bh=NRQzqqSYsm7AbEbLBHZ5NA9N/4A7aXKe4//RNlcehj8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UzFBoiKiYPdctkQTI5Ho5O6O/jlIsoWA6Fe3d+QkZmhbfb0q2EESG/wsHFUK3hRZI MRJIk14PMg5e2Wkc9YjzkdpilMlW3xpRgHs6NmLR0kTONTXwAFps1a0MVoi3O+mbK0 yS0Xr/FsRQ7yxVj+eaee9YkxFCjDwiwgzWpjicHoRAgy4SEZ/8+cI1WUejjPluFvGb ywhaG/fSeEizqeqXBMKqw2Q5740DHMImHDYmt94rmt9zRg8H+vk3L0ccLZTrJ/szjP S44H4V/MvuTX8E/viru5245hiDJkXNZOzS2aD5Kj6gwZ03LZJ73P6+SL0c9ihhcC+N eO6WJ1mIPmcsw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dmitry Osipenko , Thierry Reding , Sasha Levin , linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH AUTOSEL 5.13 060/189] clk: tegra: Ensure that PLLU configuration is applied properly Date: Tue, 6 Jul 2021 07:12:00 -0400 Message-Id: <20210706111409.2058071-60-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210706111409.2058071-1-sashal@kernel.org> References: <20210706111409.2058071-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore 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 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index 0193cebe8c5a..823a567f2adc 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -1131,7 +1131,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) @@ -1748,15 +1749,13 @@ static int clk_pllu_tegra114_enable(struct clk_hw *hw) return -EINVAL; } - if (clk_pll_is_enabled(hw)) - return 0; - input_rate = clk_hw_get_rate(__clk_get_hw(osc)); 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