From patchwork Wed Mar 17 19:30:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 403331 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 678FDC4332D for ; Wed, 17 Mar 2021 19:32:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2409A64F55 for ; Wed, 17 Mar 2021 19:32:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233126AbhCQTbj (ORCPT ); Wed, 17 Mar 2021 15:31:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233320AbhCQTbY (ORCPT ); Wed, 17 Mar 2021 15:31:24 -0400 Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83604C06174A; Wed, 17 Mar 2021 12:31:24 -0700 (PDT) Received: by mail-lj1-x231.google.com with SMTP id f16so4683539ljm.1; Wed, 17 Mar 2021 12:31:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ofiUnTNVmdhSCPXFUakdrcB5fFxVu8qvsddsoETV6Zo=; b=iveVSg0Mzq0AYZUHI9SLEu1YAn3765NXbf8cmC8RuaJUuq4hd81iq4VuA+acqH+Hi6 cFZdsnRTbhzYlJ6w8YlIyBCaiClFiduFLR1SeAK3XybA4DbZYHk1eyovjKPd9Kyp3lqO 7iLW8HKLHCvThKNNiPOcxaONyqTzYTYWMnu04cQwCQnIarinL5X0zuC+twWPkRDK88F2 l5RZ/x1tuVVzK6lhI1ojfT04OmxWB8YT+kS+ha9ngDc5ozfCh0wjKZjEVKkQq6HNO9sc 1MB5iJyojFaO4mV+Vc96Wfu0ziJCJcmaCSm2COOu1hZlmpnJuEsGuO0eWklC/GlCXKeK wthQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ofiUnTNVmdhSCPXFUakdrcB5fFxVu8qvsddsoETV6Zo=; b=fzH6Hb5AjVCzV5iLn6w5V9Fcio1oHd0rZrjQWD/Po9NiBPYZzC7uZJLon6BZM13+kv 2wdqktjnGnRRSJLU80EJvtsd2EcJvCHqipVvijrLKYJtJtKNiXL+jeEEsp/EHXP+DSUZ bw647TRnnRjOhfa+JLqjau0x1ryc4RgdvLZeC2fn3dB8qR85ccfJLdoTuQUIM9D084XW P1ANKpQoJud2UmI4+zAo1S2FtgiIqRYwd0FxcAXylVG8jgEt6bsFfQkc7WSuK69uG7z5 /cTeBgpEYJQ+QdsK2f1mOylJSeh7YHcvEmAmVaDVx4Y+vGXNL7xWLQ5gDit7FmlOGMLs gGYg== X-Gm-Message-State: AOAM53106qcbkYzN/YSRR+QFk4AqhDPBECdIjDr0MN/yAqLEPklbiMB2 Lu5mNNiv1bpIuNTWkcJh25U= X-Google-Smtp-Source: ABdhPJyVu3L9PDejWp+duHNyY8pXjPyRpJ5zoSUWJBpNlL1nA9s9yhPcL8fRJwBlyIqtRk75bg9g2g== X-Received: by 2002:a2e:87c9:: with SMTP id v9mr3269111ljj.321.1616009482931; Wed, 17 Mar 2021 12:31:22 -0700 (PDT) Received: from localhost.localdomain (109-252-193-52.dynamic.spd-mgts.ru. [109.252.193.52]) by smtp.gmail.com with ESMTPSA id q24sm3623098lji.40.2021.03.17.12.31.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Mar 2021 12:31:22 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Rob Herring Cc: linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v5 1/7] clk: tegra30: Use 300MHz for video decoder by default Date: Wed, 17 Mar 2021 22:30:00 +0300 Message-Id: <20210317193006.29633-2-digetx@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210317193006.29633-1-digetx@gmail.com> References: <20210317193006.29633-1-digetx@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The 600MHz is a too high clock rate for some SoC versions for the video decoder hardware and this may cause stability issues. Use 300MHz for the video decoder by default, which is supported by all hardware versions. Fixes: ed1a2459e20c ("clk: tegra: Add Tegra20/30 EMC clock implementation") Acked-by: Thierry Reding Signed-off-by: Dmitry Osipenko --- drivers/clk/tegra/clk-tegra30.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c index 16dbf83d2f62..a33688b2359e 100644 --- a/drivers/clk/tegra/clk-tegra30.c +++ b/drivers/clk/tegra/clk-tegra30.c @@ -1245,7 +1245,7 @@ static struct tegra_clk_init_table init_table[] __initdata = { { TEGRA30_CLK_GR3D, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_GR3D2, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_PLL_U, TEGRA30_CLK_CLK_MAX, 480000000, 0 }, - { TEGRA30_CLK_VDE, TEGRA30_CLK_PLL_C, 600000000, 0 }, + { TEGRA30_CLK_VDE, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_SPDIF_IN_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, { TEGRA30_CLK_I2S0_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, { TEGRA30_CLK_I2S1_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, From patchwork Wed Mar 17 19:30:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 403330 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C788C432C3 for ; Wed, 17 Mar 2021 19:32:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 01E2064F2B for ; Wed, 17 Mar 2021 19:32:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233274AbhCQTbk (ORCPT ); Wed, 17 Mar 2021 15:31:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233327AbhCQTb0 (ORCPT ); Wed, 17 Mar 2021 15:31:26 -0400 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29D6AC06174A; Wed, 17 Mar 2021 12:31:26 -0700 (PDT) Received: by mail-lj1-x233.google.com with SMTP id r20so4657740ljk.4; Wed, 17 Mar 2021 12:31:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bGW/+40ApmphwP+PbpLVYGoBEkoT1K7har+B7OfVtFo=; b=t28x67WyRO7HKc4ha0z8eq1cdnX3gi4so1Cko1LaP5ytC5/4EGsm2aZQhxTziTfV2o vIzu/N3FzVdoKLlu8pkf7RAlWHiw8ZYVP/NbGrAGAzy7B1SMFpQpNpBMCLSHFORNW2q0 Kqs0l2de0NIyEnMRLAwHH4kAGNPIhIDuGx9BfjzwvBcGPFYjybtgIN0BMVffDRsO6+4P 7lRAPQd3iflz1c3UPOgouTSIbADTC6CgbD+LXH0pYysA3ouVbBVojaPchMYU8R306VFY Rd4SypN/UO01r3+GLa2IHTvNJ2VOVNxEvwQUgNC4pp7gjVv192EYfV/0o+lOatV3r0IO Oafw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bGW/+40ApmphwP+PbpLVYGoBEkoT1K7har+B7OfVtFo=; b=PMf82ZOgWOZ4fI8qPQU3wgQMtUYXVc8qY8OR8Bn8l24A3XStWCE4UGXnp7hF3EVzLL lhR6Qyjg4/e3l01olUs0PxcKmVNCVDKSuZiVyqaoP38+/GU6bX6VGnpSyvg4LPljrbIR 9OX1m1xt0JWZoGd5W/9kYI19QNJPPP9H5lfb1lSUoQGE1J4xz0kDi81SyBoulmkFp5JZ F3+1R3Cn4PNA1nqpuZRlj3KQB5g9eSmofMIXz+HSfATQE2wtthv1ijnMdL024tb+nTY/ M55U2r4cKoqdFV2G5515+mTm87tlnMGl0TnfFlxemT1MLFejb0XNxaRvkoSl6TB09FiX HNhw== X-Gm-Message-State: AOAM532Uelt6d5RBD6EDzp+GqeCIxLN5pgK4c7LMqLvKv5+xkB1jU36L NqsEkl+UHtgR2kRfwm2nEvY+bmKjgNw= X-Google-Smtp-Source: ABdhPJxPMs/Gv+5bLOrRGiqHNeYbk1UHtLQV5OkTIPh1OSJuiSnIeY0DBdLRcmKhSdza0qEBkMTwtQ== X-Received: by 2002:a2e:b8c9:: with SMTP id s9mr3346990ljp.187.1616009484740; Wed, 17 Mar 2021 12:31:24 -0700 (PDT) Received: from localhost.localdomain (109-252-193-52.dynamic.spd-mgts.ru. [109.252.193.52]) by smtp.gmail.com with ESMTPSA id q24sm3623098lji.40.2021.03.17.12.31.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Mar 2021 12:31:24 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Rob Herring Cc: linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v5 3/7] clk: tegra: Ensure that PLLU configuration is applied properly Date: Wed, 17 Mar 2021 22:30:02 +0300 Message-Id: <20210317193006.29633-4-digetx@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210317193006.29633-1-digetx@gmail.com> References: <20210317193006.29633-1-digetx@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org 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 --- 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 c5cc0a2dac6f..d709ecb7d8d7 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) From patchwork Wed Mar 17 19:30:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 403329 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A2D9C28E86 for ; Wed, 17 Mar 2021 19:32:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F231D64E98 for ; Wed, 17 Mar 2021 19:32:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233325AbhCQTbl (ORCPT ); Wed, 17 Mar 2021 15:31:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233286AbhCQTb3 (ORCPT ); Wed, 17 Mar 2021 15:31:29 -0400 Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D661C06174A; Wed, 17 Mar 2021 12:31:29 -0700 (PDT) Received: by mail-lf1-x133.google.com with SMTP id q29so676391lfb.4; Wed, 17 Mar 2021 12:31:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YVatthKifS/0drZo94nSguqAF/BwAr5rR9av6MBvQSU=; b=Rjchj7GVMMSagk8sI1MJ4u2Ij0YECxZ1g3pcfjNfzMb17nxeSxXXCJrO4C4Y6Cis2D 467MLRU/9Jlvag8JpMG8QsV7zDqAJh9yBmpW5pR6iV+vUi9iiusS5ye5f0bifI7DMX9Z K4dxZf10QJtEGEi060Ug8y4DBX5EZttOp0sRGOGbtYWPzgWF4qnU3CEfpBgne1gRctut sdASwY+jNPPUjWrm+l1jSc+HpjkdNxTxbOIM5QMXnw6Txzeu3+95u+yZohq7tIsDiB+W wWtVWl+MWCrH7JJ8f7Iw7OmZOtAd7RhzpS27MIoxYqCe33EjTUxVL+CfZ52c5CuGNfW7 1mJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YVatthKifS/0drZo94nSguqAF/BwAr5rR9av6MBvQSU=; b=BfF4fhIojbZJIRd2WfY9287tscSEVHsOcwgDAy9Y1F92C02D3bkjMb6lvKjLgXeUQG ROuaJyy0PMSPtgt3CPrbgYo7kmOQlMbXjq6AxZO4jRs3M6IORIwY2eROveBCT5hqix7u ZWtaDaJchPZ4V9CIMg1wdkbaypwO/J7MFBc837jJR8aQWkD8G2hZ22GxdraAxkDT/CPq curlBqLbEayCx7ttsymup6vX2bQ5pmcjceUQXx7UgkZuVu3jWfostOSxp5pdKGMt5h8k 4wrRBaFAPmXWf4QL+Rgi/sCZdFBfoAvY783GxQHbKNfvUbm8F9nhyjOIrcEy3Ri/g87W uL0Q== X-Gm-Message-State: AOAM5300mJt2ftT9GlTkTnv68SiTzvHCiEWofIsusT2F0X5AqR7zCOcw CD4U4Xd4F3t258+4vRsGd5MCrMR8i1E= X-Google-Smtp-Source: ABdhPJx+C05SM67TYpVY4e0UqGt/lLIQ1Z5cKGl9XprQi66ba8huZcoEExGiAb2aac97+FMOwuBsWA== X-Received: by 2002:a19:7002:: with SMTP id h2mr3212278lfc.427.1616009487744; Wed, 17 Mar 2021 12:31:27 -0700 (PDT) Received: from localhost.localdomain (109-252-193-52.dynamic.spd-mgts.ru. [109.252.193.52]) by smtp.gmail.com with ESMTPSA id q24sm3623098lji.40.2021.03.17.12.31.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Mar 2021 12:31:27 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Rob Herring Cc: linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v5 6/7] clk: tegra: Don't allow zero clock rate for PLLs Date: Wed, 17 Mar 2021 22:30:05 +0300 Message-Id: <20210317193006.29633-7-digetx@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210317193006.29633-1-digetx@gmail.com> References: <20210317193006.29633-1-digetx@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Zero clock rate doesn't make sense for PLLs and tegra-clk driver enters into infinite loop on trying to calculate PLL parameters for zero rate. Make code to error out if requested rate is zero. Originally this trouble was found by Robert Yang while he was trying to bring up upstream kernel on Samsung Galaxy Tab, which happened due to a bug in Tegra DRM driver that erroneously sets PLL rate to zero. This issues came over again recently during of kernel bring up on ASUS TF700T. Signed-off-by: Dmitry Osipenko --- drivers/clk/tegra/clk-pll.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index d709ecb7d8d7..af7d4941042e 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -558,6 +558,9 @@ static int _calc_rate(struct clk_hw *hw, struct tegra_clk_pll_freq_table *cfg, u32 p_div = 0; int ret; + if (!rate) + return -EINVAL; + switch (parent_rate) { case 12000000: case 26000000: