From patchwork Thu Apr 11 22:29:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897033 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 73763139A for ; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5E4AD28D55 for ; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5264228D58; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E9F7128D77 for ; Thu, 11 Apr 2019 22:30:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727235AbfDKWaF (ORCPT ); Thu, 11 Apr 2019 18:30:05 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:38949 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726732AbfDKWaC (ORCPT ); Thu, 11 Apr 2019 18:30:02 -0400 Received: by mail-lj1-f193.google.com with SMTP id l7so7015238ljg.6; Thu, 11 Apr 2019 15:30:00 -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=1HudX0mRMZTxhiwJx52xCjzdCBR5YKpsZl6gpZ5B83Q=; b=RZp9sJmMe+4jTC+cpJjCDCPlm5iZaxdVIrkDonUYfiTVZrv7EJaEXWTEy574ofjgMK wolosJznGc7R/2Ckh3aX296O2a94DGI5x0HQNd3f7KxVbzOcQWkwKiB7v/gBaBHthTjz tVC2O0mb7uoGrjfmcHuTNpetkR7DRKyQ13Ft1Uk9AI9HuOX5DnPCt6IoEFamYLFhTkc0 ymjV/612pSdR0phg4nz/WnU+JFgE2bawY6J/USr4Gn03XvezJFvTosh7UBxgxvN7d6r0 WR0qQEFjw402asaoinJCmuyMUwKitdKzJbe2eFyc4HcXKli3dsaWtIE1bQfhOqxNt28w ENIA== 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=1HudX0mRMZTxhiwJx52xCjzdCBR5YKpsZl6gpZ5B83Q=; b=Rd7/nn3Xl5MSUHsdCS5Tu5d+zX6gU4vmnuOyvJT1/Sxr62+LaoJNtG/dkwcHxSlENE 9SMJEIAuOYOWXzMulzJUykA190Awo/Tu0HMc43gHhIwBT5yIdCSvi0z0gNJhjdtc5m1e HNv+S975Q2ASFzcRN1oNj0dH2VnZ0XSQ5ltuXQkQe+StbpfpS/juHnztZH8+xqyjzv3+ zuHvnuW6TitOhBnLqufEMT4Osn1VGUkfMePWLUaY5ieGssWA3gpBXH0ybTHGs/pMzgRX L9hWCjLtcAmQeGvykODA0orCqMFu1KM/LZbEtTV+97gX7f/PS5ZkzOqG1ETeHyuRaULc cA6A== X-Gm-Message-State: APjAAAUzlvAXqbw8NvpjIHZ9wQsOvl2m7EFnMDVOihTy5AX2Un+G2pNG JpG/irCpDn9Nga/Oty+s1wU= X-Google-Smtp-Source: APXvYqyoRHoFCKHC1+IxfWE2NI9oKEymmwu4IDeIbpfrvoh3ZqToCPrZVxT+8VfYPmMFjFvtkV41ig== X-Received: by 2002:a2e:8787:: with SMTP id n7mr27797885lji.31.1555021799597; Thu, 11 Apr 2019 15:29:59 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.29.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:29:59 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 1/8] PM / devfreq: tegra: Fix kHz to Hz conversion Date: Fri, 12 Apr 2019 01:29:07 +0300 Message-Id: <20190411222914.25539-2-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The kHz to Hz is incorrectly converted in a few places in the code, this results in a wrong frequency being calculated because devfreq core uses OPP frequencies that are given in Hz to clamp the rate, while tegra-devfreq gives to the core value in kHz and then it also expects to receive value in kHz from the core. In a result memory freq is always set to a value which is close to ULONG_MAX because of the bug. Hence the EMC frequency is always capped to the maximum and the driver doesn't do anything useful. Let's provide OPP with rates in kHz since this eliminates few multiplies and divisions in the code. This patch was tested on Tegra30 and Tegra124 SoC's, EMC frequency scaling works properly now. Cc: Tested-by: Steev Klimaszewski Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index c89ba7b834ff..ec4ff55f5eea 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -394,7 +394,7 @@ static int tegra_actmon_rate_notify_cb(struct notifier_block *nb, tegra = container_of(nb, struct tegra_devfreq, rate_change_nb); - tegra->cur_freq = data->new_rate / KHZ; + tegra->cur_freq = data->new_rate; for (i = 0; i < ARRAY_SIZE(tegra->devices); i++) { dev = &tegra->devices[i]; @@ -486,21 +486,19 @@ static int tegra_devfreq_target(struct device *dev, unsigned long *freq, { struct tegra_devfreq *tegra = dev_get_drvdata(dev); struct dev_pm_opp *opp; - unsigned long rate = *freq * KHZ; + unsigned long rate; - opp = devfreq_recommended_opp(dev, &rate, flags); + opp = devfreq_recommended_opp(dev, freq, flags); if (IS_ERR(opp)) { dev_err(dev, "Failed to find opp for %lu KHz\n", *freq); return PTR_ERR(opp); } - rate = dev_pm_opp_get_freq(opp); + rate = dev_pm_opp_get_freq(opp) * KHZ; dev_pm_opp_put(opp); clk_set_min_rate(tegra->emc_clock, rate); clk_set_rate(tegra->emc_clock, 0); - *freq = rate; - return 0; } @@ -682,7 +680,7 @@ static int tegra_devfreq_probe(struct platform_device *pdev) for (rate = 0; rate <= tegra->max_freq * KHZ; rate++) { rate = clk_round_rate(tegra->emc_clock, rate); - dev_pm_opp_add(&pdev->dev, rate, 0); + dev_pm_opp_add(&pdev->dev, rate / KHZ, 0); } irq = platform_get_irq(pdev, 0); From patchwork Thu Apr 11 22:29:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897021 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 30D111708 for ; Thu, 11 Apr 2019 22:30:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1B54C28B01 for ; Thu, 11 Apr 2019 22:30:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0FC9C289B7; Thu, 11 Apr 2019 22:30:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0003289B7 for ; Thu, 11 Apr 2019 22:30:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727222AbfDKWaE (ORCPT ); Thu, 11 Apr 2019 18:30:04 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:36986 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726629AbfDKWaD (ORCPT ); Thu, 11 Apr 2019 18:30:03 -0400 Received: by mail-lf1-f66.google.com with SMTP id o19so1594899lfl.4; Thu, 11 Apr 2019 15:30:01 -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=WokcBo1o8Ro3gmFuXtVf3i+xJdgKysQp45IPb83S2aE=; b=bdr8AeRKmx/gug0Lq5ZEfIYsUHUheSqXgq6exUvMdxv/bzCk4LmErQViNN1Dx+0Bxd l04XAysh1+pO9PCaEDC+61AaYTomrc2V4blv49dhFBjN0FXoNeIu1E6PK1IGPxsUM5Ty TNj2pasLhjBFG+caxkSCy9k4SPY2+l8r4XU3eLLbJFJAN9LfspEt6GD4d9XySQb4F5zw toj99cvrgII5fLMMXNvPCzPDRa8gGGM14bQL21qP78cAbvy9ZwuRFmD1FBp3+Mf+/rfa POOvq/8ZW5/0heK6Z166q79blOJrwNr6h3iAnhcgEdQuatRUSIG+EE0MT+f/QkxQETz7 HDWg== 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=WokcBo1o8Ro3gmFuXtVf3i+xJdgKysQp45IPb83S2aE=; b=cELGvhwS65rHzM/JtuZT6zjumewNkTIk3C/PWsq0pHHeNxa5GO8YhgWSpRPmlDh43R /fJ2n73sSE+Fv9kKjbneubZXVstgZgFt6AKl0kf2TDbgMxPNwceq6isgt2ra5RoYH2EA Dn6QIA/ZyZxHa/pTrKq/gFoXqV08sMliTetRbb6steogxkcZF6C6W21Oqk4vxWMdm4fn Y/U1jwdun7E2lUel0vI9iX1OiDyfegWvWGKrmhs4uap8DmHQx2v2/9UL3YtsZoJNrez3 hr9UC4Feud5e96xTaq6Fy/+7ZNKShh0OuFG7fbnMeNZb0GhFk9mOmndZ+0eGLdQ/frJB UYmg== X-Gm-Message-State: APjAAAWG8Su5XDC40+aFiYGxaxwtcVaR/PRfCRLcyu7OLrbh09PUpWvC beatHlM6zN+czpgBYKPtooA= X-Google-Smtp-Source: APXvYqyqCMO9u2KoDRJqbHss3nM2+aCpE10RowI6w4fTWN4Yug7SDiX4ZbFJzlABbrzT7luE/EK98Q== X-Received: by 2002:a19:c216:: with SMTP id l22mr3495317lfc.112.1555021800710; Thu, 11 Apr 2019 15:30:00 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.29.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:00 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 2/8] PM / devfreq: tegra: Replace readl-writel with relaxed versions Date: Fri, 12 Apr 2019 01:29:08 +0300 Message-Id: <20190411222914.25539-3-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There is no need to insert memory barrier on each readl/writel invocation, hence use the relaxed versions. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index ec4ff55f5eea..d749399f67ae 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -191,23 +191,23 @@ static struct tegra_actmon_emc_ratio actmon_emc_ratios[] = { static u32 actmon_readl(struct tegra_devfreq *tegra, u32 offset) { - return readl(tegra->regs + offset); + return readl_relaxed(tegra->regs + offset); } static void actmon_writel(struct tegra_devfreq *tegra, u32 val, u32 offset) { - writel(val, tegra->regs + offset); + writel_relaxed(val, tegra->regs + offset); } static u32 device_readl(struct tegra_devfreq_device *dev, u32 offset) { - return readl(dev->regs + offset); + return readl_relaxed(dev->regs + offset); } static void device_writel(struct tegra_devfreq_device *dev, u32 val, u32 offset) { - writel(val, dev->regs + offset); + writel_relaxed(val, dev->regs + offset); } static unsigned long do_percent(unsigned long val, unsigned int pct) From patchwork Thu Apr 11 22:29:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897035 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E508E17E0 for ; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D0AA428D55 for ; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C51A128DCB; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7CC7428D55 for ; Thu, 11 Apr 2019 22:30:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727226AbfDKWaF (ORCPT ); Thu, 11 Apr 2019 18:30:05 -0400 Received: from mail-lf1-f68.google.com ([209.85.167.68]:45415 "EHLO mail-lf1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727214AbfDKWaE (ORCPT ); Thu, 11 Apr 2019 18:30:04 -0400 Received: by mail-lf1-f68.google.com with SMTP id t11so1426275lfl.12; Thu, 11 Apr 2019 15:30:02 -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=gsd72Y24Bsbr3wVQWECGfMMyUlcIQlnQmzyDN246j6k=; b=SIe7g0DhWKeAssBBfoBsdRm0fCjcOJz9kSRE/MZyFSN4MZfCuunXM1SfvAlqjL/J4z Pag1nRc4R798Fh6QeYQLlZfO3n+c+d9iPLXxy/5yrk/Vdo9YiH5VsjN9K144VH2fnj7A fhtYu5YjhsZ3H1YRObYU3dvJG/Jr0zSywfX9O8Eu2negO09DVF9DmqS6TcMKfXoDx2TB 6eqBIVk0hryQTv6MEOKX6ge6Pj/XleuBTPMrkGhO9Xnna82C3M7KG/d2v2dFYBZZjijW Qaij+o7+/vwUQooG2arViImB0n/19y0kqOE/06Xlb8Taj9UOQiKLLcb8whmegQ+G5AJE PKLA== 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=gsd72Y24Bsbr3wVQWECGfMMyUlcIQlnQmzyDN246j6k=; b=sH1Uxdca0Gt9699YlKcEOMPslc/PEKn08Qd0rOVGMLND22c92lZkbIahbIAZIsisCy DNUfube0CnaWZu2wEwb7g9LWgShJ9EXxkm78gOhBEwBU/Lqh8Rqr9P3+QzY/VLcGlkAN GPXTvI2fLisxHKNW8SiJDHv/fYnRsLjBnBmkVUR5m1XxRK1Tthg61p12iA+xXpYOG51e MZq/Yny5nxa8F82ZwSSpH/HoYTiNWC4imc0IUURDMZ6QizdaAF3D/+Wsq+z7d646e9my yo95tp48jr2Kqfx7Mqjh3NhTg00jwCTbTfidWuiYBvE3QocWKe7oBbYnWi3iEXlKjBNL M/nQ== X-Gm-Message-State: APjAAAVXsZC8t1yM7jpL7riqJS8KHBgr5e/jh0/Ci3rBWxyqkrqPiM1y WHlms/Wykq5ekrUzCrPdN8S5a1uL X-Google-Smtp-Source: APXvYqyDHaOUDnR1whBzE1+K3QCnby+lnkMAfztTJs1M5JU+48cm7AgEKb4CPFevquRIOkTEeTDAdg== X-Received: by 2002:ac2:4891:: with SMTP id x17mr10283290lfc.134.1555021801776; Thu, 11 Apr 2019 15:30:01 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:01 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 3/8] PM / devfreq: tegra: Don't ignore clk errors Date: Fri, 12 Apr 2019 01:29:09 +0300 Message-Id: <20190411222914.25539-4-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The clk_set_min_rate() could fail and in this case clk_set_rate() sets rate to 0, which may drop EMC rate to minimum and make machine very difficult to use. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index d749399f67ae..6185e7ab20a8 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -487,6 +487,7 @@ static int tegra_devfreq_target(struct device *dev, unsigned long *freq, struct tegra_devfreq *tegra = dev_get_drvdata(dev); struct dev_pm_opp *opp; unsigned long rate; + int err; opp = devfreq_recommended_opp(dev, freq, flags); if (IS_ERR(opp)) { @@ -496,8 +497,13 @@ static int tegra_devfreq_target(struct device *dev, unsigned long *freq, rate = dev_pm_opp_get_freq(opp) * KHZ; dev_pm_opp_put(opp); - clk_set_min_rate(tegra->emc_clock, rate); - clk_set_rate(tegra->emc_clock, 0); + err = clk_set_min_rate(tegra->emc_clock, rate); + if (err) + return err; + + err = clk_set_rate(tegra->emc_clock, 0); + if (err) + return err; return 0; } From patchwork Thu Apr 11 22:29:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897031 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D6D601708 for ; Thu, 11 Apr 2019 22:30:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C114628D77 for ; Thu, 11 Apr 2019 22:30:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B580A28D9B; Thu, 11 Apr 2019 22:30:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6A61D28D77 for ; Thu, 11 Apr 2019 22:30:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727241AbfDKWaF (ORCPT ); Thu, 11 Apr 2019 18:30:05 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:33092 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727216AbfDKWaF (ORCPT ); Thu, 11 Apr 2019 18:30:05 -0400 Received: by mail-lj1-f194.google.com with SMTP id f23so7053243ljc.0; Thu, 11 Apr 2019 15:30:03 -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=CfwEQnrKW1Lt+UjYKDauX5BBzSk4KvQZH0bhWzaKNqs=; b=E4rpvYONus7P4KGzFOey1J3G7vWbsugbPgRonVGW94zLgAGuF+xptfas5FeENGmOIc z+DCfjB4V89zLLC/p++bxtY13vfOIMxPqopZ6IY5il5Y3t0zAsN1quqvYI5k0dO00t4i kbGMYM5p13y4hmd6Zh01YYgaxhVKihPQBJYEsZsireltz5QdbbtTFtWId/sxN/syx6xa 5VSMUFIaAPbQlrBtFr7DZorFXiTI4lDVD09wwibYd3iqjy4TE7AS1RI7qLH99kJsmxr0 9Q6Xon7dDLjNdmpDW1kfq3coQtLgRg+c9jVLLSKlorMa0GK/vsnk5rJNiSw4l5wFuVvC jLLQ== 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=CfwEQnrKW1Lt+UjYKDauX5BBzSk4KvQZH0bhWzaKNqs=; b=jc8EeWnyEFtxRRu05zdZNmjXUKYG1tHvnkpKWVV2VPVn9FMek8ZlwwhmVV2idZQDj6 5SGSr9je3yP+nxdy56bao1y9tGu+wzutpO9hZ3cjRxGiwve/YgusdRxmyWJQwe0uXJlH DOjFbNNKBNYG9eo075EGuZpfOQWeZrVtKDa5/9t+yyceSYSp8awSwzaBNkgIDjgSqWX1 HVXN+OlsuI01zrVQeBRqpHZSLmNLPfygZ5lClUQ1wM0UTwDnw0NBhku55JDMk5TPdiF0 8r2U0xHaSULmmv/m6tVLHqxFSy19tCN63bmxCklOY6Cyhgl/duzGwh1X5DtCGfHNIf/z pfog== X-Gm-Message-State: APjAAAWzgRGRo4ZcVdntjH0DnqGoxO/QlctBWG6fP8grDw4t2X45WJvQ qOQFpGSrCMHeFpO8Q8Yqn7FSkmMc X-Google-Smtp-Source: APXvYqzf3w0qvTxcWT8WrEWumI47wq2JhEkpcfSvj1lLrVtky4WIQQvK/UFGQaX1+sRere8DY92lGw== X-Received: by 2002:a2e:9348:: with SMTP id m8mr9662448ljh.23.1555021802835; Thu, 11 Apr 2019 15:30:02 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:02 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 4/8] PM / devfreq: tegra: Don't release IRQ manually on driver removal Date: Fri, 12 Apr 2019 01:29:10 +0300 Message-Id: <20190411222914.25539-5-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The IRQ releasing is handled by "managed resources", hence there is no need to release IRQ manually. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index 6185e7ab20a8..ed67d7a48176 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -717,7 +717,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev) static int tegra_devfreq_remove(struct platform_device *pdev) { struct tegra_devfreq *tegra = platform_get_drvdata(pdev); - int irq = platform_get_irq(pdev, 0); u32 val; unsigned int i; @@ -729,8 +728,6 @@ static int tegra_devfreq_remove(struct platform_device *pdev) actmon_write_barrier(tegra); - devm_free_irq(&pdev->dev, irq, tegra); - clk_notifier_unregister(tegra->emc_clock, &tegra->rate_change_nb); clk_disable_unprepare(tegra->clock); From patchwork Thu Apr 11 22:29:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897029 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1CBB71708 for ; Thu, 11 Apr 2019 22:30:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 08B2628DC0 for ; Thu, 11 Apr 2019 22:30:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F186828DCA; Thu, 11 Apr 2019 22:30:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A856B28DA4 for ; Thu, 11 Apr 2019 22:30:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727356AbfDKWah (ORCPT ); Thu, 11 Apr 2019 18:30:37 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:45016 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727219AbfDKWaG (ORCPT ); Thu, 11 Apr 2019 18:30:06 -0400 Received: by mail-lf1-f66.google.com with SMTP id h18so5899446lfj.11; Thu, 11 Apr 2019 15:30:04 -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=RsYzqS+sD+odCER6OAB87SufxlLcgz5HRZWnhoapdvQ=; b=mYdousLlYMPA/MCAK2QG0cpWfZQRahCWSjT19JGibS0vWSRa3eGeol92VenMQXqjQl MFbP8LX39TcwnqRFPlLt2ijXSMzeGJuK4awCHjrdg8E4gZAxlrOYc/TLifxnmG8mkf56 uwUr3ECOqfKcEEXBSmFzsBUqGn4sqt+wtMbkHVb382qEQWvD+lhfWmr5hpSmyEVU0S3P JaJ6WF5j/dJcUkFKVv49qxoVFwI+PyPPk5+K4dfGr6FErH/xnHsPDpJ0HpZZraeqNL+j yTKTSIjxVAEGAzA08K4CGQUCUp5K3B6x875DnCfclVc2/qCFR/pjjvbrwNm5o8U4LnXT NPIA== 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=RsYzqS+sD+odCER6OAB87SufxlLcgz5HRZWnhoapdvQ=; b=hlA6u6aFQ1ccu8/reiHK/iV8yjzEvuXxpzqZA3WQI7vK3d46DuRLRNiP2n3nCfJNbx F+LjIlAIQaNpusoID8rLlPiNi+XWbxtSb8khN0rNmZJFNo1F0MJ1xZaw46sq35kD5Yxm WDZjFtdA6DAv+bBEytr+XbgSnFy4VZUtz4PA7XTSvbBAErmb+oDKBaE4ryxBFdjlC4Dm ruD7qhoi3NXpj6sFbZwT/eUYn7QkNsAcl2Utt92ikrBc/x3iAxsy0+jl036PsHoIiGe3 gFq9QIUQxlXKEay62pDbat7rqVbRBeBotFhHe8yrahPYFgu95heSXZpdh4tBF6FvSLRU vIxA== X-Gm-Message-State: APjAAAWrYuyNMKDx6znlBrD6L4Aqdq7jgjAzKzcmjOweh9RnYkKFYZH7 ucLiJagDYhBinEnODU2QeGByEk2Z X-Google-Smtp-Source: APXvYqyTpO6KQagoSs+3BF66j2zdj+yIL760WLZcKVe0a10F0eRNQltBqmvh5cxf69XzKnvzvhJqMQ== X-Received: by 2002:ac2:4291:: with SMTP id m17mr16986694lfh.29.1555021803915; Thu, 11 Apr 2019 15:30:03 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:03 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 5/8] PM / devfreq: tegra: Don't set EMC clock rate to maximum on probe Date: Fri, 12 Apr 2019 01:29:11 +0300 Message-Id: <20190411222914.25539-6-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There is no real benefit from doing so, hence let's drop that rate setting for consistency. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index ed67d7a48176..aefd4874b5a2 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -648,8 +648,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev) return PTR_ERR(tegra->emc_clock); } - clk_set_rate(tegra->emc_clock, ULONG_MAX); - tegra->rate_change_nb.notifier_call = tegra_actmon_rate_notify_cb; err = clk_notifier_register(tegra->emc_clock, &tegra->rate_change_nb); if (err) { From patchwork Thu Apr 11 22:29:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897027 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2E8A2139A for ; Thu, 11 Apr 2019 22:30:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 18177289B7 for ; Thu, 11 Apr 2019 22:30:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0CD9B28DB6; Thu, 11 Apr 2019 22:30:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 46ADF28DBD for ; Thu, 11 Apr 2019 22:30:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727276AbfDKWaa (ORCPT ); Thu, 11 Apr 2019 18:30:30 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:46896 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727250AbfDKWaH (ORCPT ); Thu, 11 Apr 2019 18:30:07 -0400 Received: by mail-lf1-f66.google.com with SMTP id r25so5902201lfn.13; Thu, 11 Apr 2019 15:30:05 -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=Vu3fL/lG05rgrLw+zye7dpk+bIBQvGSxJRe4aRXrJLs=; b=Nhz2PxgmRHPGeX3gywKMUa7GlBStjpbZ31NDnRPIOJzmo3cXYy5BkvF0zqrOl/3qDi Z9DghuRfEHwx3VbkIbHMXkeJWo7Y+3cKj5oWXEw7yNEagOl08pw5Av76qrQK1WAR6+Ro yWKcvFzxVEwmGW12y7cCIwBarJLUcCMiQzkGM34pfY6zl0z+d666A9dj7Q3sp2u32ARu aeSb+JwNvZjh6tBF07skdqztvQ3ZLNQKDriOV46LEVhEL2hEKLqOZnEj75tI6/FRgG5V b54aYc6IW9wRiQqHHxEObCenae+mxSEO4W3maVcoDPIGBHA49NJL4rnkpL42Z6iuapkC unNQ== 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=Vu3fL/lG05rgrLw+zye7dpk+bIBQvGSxJRe4aRXrJLs=; b=sVZT/j9TcK59e/fWocE1at5+fpsoHLqOHwdExIbUB8aORQ65Mu5Xt8xsxiXzlIY9J5 cuhYh8GBxScfjPPozMKvAV8BmnPjWDp4YZsPET0Z82o8WXWONepJeV2N/kJrIwZPK9MH q+Cuql9pBj8RsVfKkFT5hJxMi4OKxmdKEmamcdvkRqR89G5lnXsrd8+/z1q23T1TAcWE FaWyM+yTGN1g6x4TeSLAaksOv/RKtGsIEzSER/UUd7BNa/OHrOt4oix1ZKgKtPulAhfZ uot93qG14LdGNBWL2mgHRDnn5QfYLiop66DY+16AFKmKSYQVWcfXMjqdbZxIA9PuOpqy LhfA== X-Gm-Message-State: APjAAAWWvCk3m+Pwh8bzvykGQCaWKFgEeiMXtiz1yJ+9JMjC3M5TLL43 IqKKO17wLmvfQxAfaUech54= X-Google-Smtp-Source: APXvYqwYYq/DjwNy0GepugE29b9V3Jj2m5SJdMOpSGFjPfBUTjh3X479fzgRGG+xBvvR10U5d/peZg== X-Received: by 2002:a19:f705:: with SMTP id z5mr12100324lfe.93.1555021804942; Thu, 11 Apr 2019 15:30:04 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:04 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 6/8] PM / devfreq: tegra: Drop spinlock Date: Fri, 12 Apr 2019 01:29:12 +0300 Message-Id: <20190411222914.25539-7-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There is no real need to use locking since we can simply read out the volatile variable value once and the watermark changing shouldn't clash with the changes made by the interrupt handler. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index aefd4874b5a2..96f1e8e64e46 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -144,7 +144,6 @@ static struct tegra_devfreq_device_config actmon_device_configs[] = { struct tegra_devfreq_device { const struct tegra_devfreq_device_config *config; void __iomem *regs; - spinlock_t lock; /* Average event count sampled in the last interrupt */ u32 avg_count; @@ -250,11 +249,8 @@ static void actmon_write_barrier(struct tegra_devfreq *tegra) static void actmon_isr_device(struct tegra_devfreq *tegra, struct tegra_devfreq_device *dev) { - unsigned long flags; u32 intr_status, dev_ctrl; - spin_lock_irqsave(&dev->lock, flags); - dev->avg_count = device_readl(dev, ACTMON_DEV_AVG_COUNT); tegra_devfreq_update_avg_wmark(tegra, dev); @@ -303,8 +299,6 @@ static void actmon_isr_device(struct tegra_devfreq *tegra, device_writel(dev, ACTMON_INTR_STATUS_CLEAR, ACTMON_DEV_INTR_STATUS); actmon_write_barrier(tegra); - - spin_unlock_irqrestore(&dev->lock, flags); } static irqreturn_t actmon_isr(int irq, void *data) @@ -349,24 +343,21 @@ static void actmon_update_target(struct tegra_devfreq *tegra, unsigned long cpu_freq = 0; unsigned long static_cpu_emc_freq = 0; unsigned int avg_sustain_coef; - unsigned long flags; + u32 avg_count; if (dev->config->avg_dependency_threshold) { cpu_freq = cpufreq_get(0); static_cpu_emc_freq = actmon_cpu_to_emc_rate(tegra, cpu_freq); } - spin_lock_irqsave(&dev->lock, flags); - - dev->target_freq = dev->avg_count / ACTMON_SAMPLING_PERIOD; + avg_count = READ_ONCE(dev->avg_count); + dev->target_freq = avg_count / ACTMON_SAMPLING_PERIOD; avg_sustain_coef = 100 * 100 / dev->config->boost_up_threshold; dev->target_freq = do_percent(dev->target_freq, avg_sustain_coef); dev->target_freq += dev->boost_freq; - if (dev->avg_count >= dev->config->avg_dependency_threshold) + if (avg_count >= dev->config->avg_dependency_threshold) dev->target_freq = max(dev->target_freq, static_cpu_emc_freq); - - spin_unlock_irqrestore(&dev->lock, flags); } static irqreturn_t actmon_thread_isr(int irq, void *data) @@ -387,7 +378,6 @@ static int tegra_actmon_rate_notify_cb(struct notifier_block *nb, struct tegra_devfreq *tegra; struct tegra_devfreq_device *dev; unsigned int i; - unsigned long flags; if (action != POST_RATE_CHANGE) return NOTIFY_OK; @@ -399,9 +389,7 @@ static int tegra_actmon_rate_notify_cb(struct notifier_block *nb, for (i = 0; i < ARRAY_SIZE(tegra->devices); i++) { dev = &tegra->devices[i]; - spin_lock_irqsave(&dev->lock, flags); tegra_devfreq_update_wmark(tegra, dev); - spin_unlock_irqrestore(&dev->lock, flags); } actmon_write_barrier(tegra); @@ -677,7 +665,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev) dev = tegra->devices + i; dev->config = actmon_device_configs + i; dev->regs = tegra->regs + dev->config->offset; - spin_lock_init(&dev->lock); tegra_actmon_configure_device(tegra, dev); } From patchwork Thu Apr 11 22:29:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897025 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 42AC1139A for ; Thu, 11 Apr 2019 22:30:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2DF9C289B7 for ; Thu, 11 Apr 2019 22:30:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 225CC28D56; Thu, 11 Apr 2019 22:30:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C27D2289B7 for ; Thu, 11 Apr 2019 22:30:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727312AbfDKWaR (ORCPT ); Thu, 11 Apr 2019 18:30:17 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:43105 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727266AbfDKWaI (ORCPT ); Thu, 11 Apr 2019 18:30:08 -0400 Received: by mail-lj1-f195.google.com with SMTP id f18so6997200lja.10; Thu, 11 Apr 2019 15:30:06 -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=fbTrxtZysIwn5iDlMzOsHBWMOUKj9H0CQz4iK6r7xp4=; b=ClrIaoZrqVJcHUyKQ9E7jPzHZTY6UjbpVhFOULYcNhiDS0kx9MUrg+xrNy0AP6800Y QGu9HqOW9hjI88xMHNXIbgOHCbqusL5rLhb/f+n0um4s9fePPFPPqzNt6uLoXj/U2q2W 3WiM3y2+2cRbL57WmdLrGKpwS8Go4zkN9P/Nj7gK6ibXRYkUmB0lbpIEL7HWnhQJqPw7 JY5nOosZoe8s6n21Y/GjI0q5FeFRwswedMXN8zeZxLfyfljd9yHoa/khYaUGXKWveD0F t9/LVo19e+0YEBxfyp5ddJe6SJXnQEwRlAgulw54w4vfdsTHBbNVduouXKbOAKURUUhv mMCw== 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=fbTrxtZysIwn5iDlMzOsHBWMOUKj9H0CQz4iK6r7xp4=; b=cbAQv5sTRi/Q6uBSkztzzFBYmQ7AG/ZHAjI8MkNngzJAbecEfYePGyhNMMzuIHrgdF Pia2LP2oxfla1D1eD+RkgbQyMSUMtCw1HxqmrZSD930gK5+kFlqZPEq4uKXycHihLa4H zmq3tip/MdLmkI6AeUH8KRPI+WqOl9xiYTvp2QYwC4byNPHu2U2aA4y6yFlbJAmlY7Rn hmigBQSlNAWQdIleX7sMn15njUnXfxGNcLnd6yVHOxfcM6GyAE0zikQal6dcvDi1FJM5 iVtlCL/AVb3XcD9gJrxpKXWbRmVJ9r16vXFBkgpKJIFqfHEWC+Qi/P+ovgSjL7DWzKGp oBPw== X-Gm-Message-State: APjAAAUtFKNMYad+pjfnSkBNEkYJMeBbmM3XuDRjnXxugVOU9xSUjWRI JJABY4bF4hTL8E2XGtZWk3s= X-Google-Smtp-Source: APXvYqxQZAAOAPNfMXlx1PKIlSC8t1+RpzOM7HJ/3+aYu0IeHGGsLoaRq1tdJ9WyIt/efPtGMvkWyQ== X-Received: by 2002:a2e:8108:: with SMTP id d8mr2415168ljg.57.1555021806044; Thu, 11 Apr 2019 15:30:06 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:05 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 7/8] PM / devfreq: tegra: Remove OPP entries on driver removal Date: Fri, 12 Apr 2019 01:29:13 +0300 Message-Id: <20190411222914.25539-8-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This fixes "_opp_is_duplicate" warning messages on driver's module reload. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/tegra-devfreq.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index 96f1e8e64e46..0985c02b75fe 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -691,10 +691,10 @@ static int tegra_devfreq_probe(struct platform_device *pdev) } tegra_devfreq_profile.initial_freq = clk_get_rate(tegra->emc_clock); - tegra->devfreq = devm_devfreq_add_device(&pdev->dev, - &tegra_devfreq_profile, - "tegra_actmon", - NULL); + tegra->devfreq = devfreq_add_device(&pdev->dev, + &tegra_devfreq_profile, + "tegra_actmon", + NULL); return 0; } @@ -705,6 +705,9 @@ static int tegra_devfreq_remove(struct platform_device *pdev) u32 val; unsigned int i; + devfreq_remove_device(tegra->devfreq); + dev_pm_opp_remove_all_dynamic(&pdev->dev); + for (i = 0; i < ARRAY_SIZE(actmon_device_configs); i++) { val = device_readl(&tegra->devices[i], ACTMON_DEV_CTRL); val &= ~ACTMON_DEV_CTRL_ENB; From patchwork Thu Apr 11 22:29:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10897023 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2C3921708 for ; Thu, 11 Apr 2019 22:30:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1839528D58 for ; Thu, 11 Apr 2019 22:30:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1680128D70; Thu, 11 Apr 2019 22:30:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C101228DCB for ; Thu, 11 Apr 2019 22:30:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727316AbfDKWaR (ORCPT ); Thu, 11 Apr 2019 18:30:17 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:41894 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727276AbfDKWaJ (ORCPT ); Thu, 11 Apr 2019 18:30:09 -0400 Received: by mail-lj1-f193.google.com with SMTP id k8so7007533lja.8; Thu, 11 Apr 2019 15:30:07 -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=gpy62Ft5o0pJhXMy/3LzPtnD7kM0EZBl9Fb+iZKLSho=; b=o4R5j8UszW/bY+xUfqOWhR7qE7D51ygnD1aw8dtKRlo1vgwtnN/UMT9zwoWQ5d41nn xHi8bhYiVefcP4Hi3yfG4G+hjpCJxHDwB4zcCd7mIPoKO50rRo6W3JV9bg6eImmHSxZ1 xnbnoCGCs+wCBzl4Gx9a71No6YEu/D0cr2rvZC2xcH9ZXL89pMt8QCZC9k1hMdC5ZnLc RP3MMvyHkf4s36pYfBQsn/AybfMx8qDPxWed1YKWA89PNx/30f8pU2g1w/dxQ+B2VOx5 e9rw7ZMSX7WBbmi+Udh/hH5LF8kJ82Iw7sNis4ewpwvKnyi00cPDZecTtAuaBB+8nwvU jFKA== 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=gpy62Ft5o0pJhXMy/3LzPtnD7kM0EZBl9Fb+iZKLSho=; b=mU4CzWm091P84C4+ojnyG4pzNvyO5857DLETEfy6b19/NYKpAKYR+etJ60ytAqmMYl 2LOie0Rqaof7rjtS+ICWVMlsd2B/XBK2CYKfWzI5Dwn89caPsTmLgw26+jNMYSPqbl+8 kLTZSgSLcwxRRk40m2ERUPCqqgPDtgtmIBUX2Uy9alPMnH3ETIgg73bNJ+wiW6NDwdp6 C3T/ZT9knRiRN1by+q2Sv5W0OhoaILBoDdVzbhfUL9UbuymN0Uur0hTFr7JbT4dL54N+ j/kpWjUquN2Fzv2OiDA5D+l7oYqYV6qonYwftZjxzbuUCNYQ7bbGmsDsnW91z0w3zbsD hKlA== X-Gm-Message-State: APjAAAXcqylRANhApoPry85iE29L4EpcPqI1MWSTVEJDyCSLxHZ45mmS oYrcMz7Gj0cLJJDhO4gt0/8= X-Google-Smtp-Source: APXvYqyMMe1jQ59L8EGwuW3y2GT0MejD27kzVSWLuoB1tWLDOTCKfyXf9Dwvul0304B+kQYDwAUaaw== X-Received: by 2002:a2e:8e96:: with SMTP id z22mr27778003ljk.123.1555021807291; Thu, 11 Apr 2019 15:30:07 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id d13sm1646000lfa.40.2019.04.11.15.30.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Apr 2019 15:30:06 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , MyungJoo Ham , Kyungmin Park , Chanwoo Choi Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v1 8/8] PM / devfreq: tegra: Support Tegra30 Date: Fri, 12 Apr 2019 01:29:14 +0300 Message-Id: <20190411222914.25539-9-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190411222914.25539-1-digetx@gmail.com> References: <20190411222914.25539-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The devfreq driver can be used on Tegra30 without any code change and it works perfectly fine, the default Tegra124 parameters are good enough for Tegra30. Signed-off-by: Dmitry Osipenko --- drivers/devfreq/Kconfig | 2 +- drivers/devfreq/tegra-devfreq.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig index 6a172d338f6d..6bae9688a52b 100644 --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig @@ -93,7 +93,7 @@ config ARM_EXYNOS_BUS_DEVFREQ config ARM_TEGRA_DEVFREQ tristate "Tegra DEVFREQ Driver" - depends on ARCH_TEGRA_124_SOC + depends on ARCH_TEGRA select DEVFREQ_GOV_SIMPLE_ONDEMAND select PM_OPP help diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index 0985c02b75fe..a0a3dafa9188 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -724,6 +724,7 @@ static int tegra_devfreq_remove(struct platform_device *pdev) } static const struct of_device_id tegra_devfreq_of_match[] = { + { .compatible = "nvidia,tegra30-actmon" }, { .compatible = "nvidia,tegra124-actmon" }, { }, };