From patchwork Wed Oct 24 13:44:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 149498 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp35209ljp; Wed, 24 Oct 2018 06:45:11 -0700 (PDT) X-Google-Smtp-Source: AJdET5e3qXaMjPpEplG11ACAezK80Tv+xoUngOON3xAvLxzCVJqSJzWxhbcrO3JTGVdHb5w+xw2C X-Received: by 2002:a17:902:aa84:: with SMTP id d4-v6mr2657725plr.25.1540388711505; Wed, 24 Oct 2018 06:45:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540388711; cv=none; d=google.com; s=arc-20160816; b=PCWEBSxd2kbcRP2Re607MzMZGJBUsWZZg6Gwa5q9wZ5uStdEaLQeywXstpI/WjJP5H ohiTV/LDWxo/MbvXV4MCfR/9T4pxZKXeiWFpVoGhXDRDAQHZ5G3Z/cVyFuH0rhY80ZFC 4pOfQeNBTuWvmXbILRASuviobJnAbJapDHENSbQjdhuREU859ExrgFa1ntUNizT2N2bL ZKhtF5o7dKT140pRGtwJx7Dv5QeLhcZhMwPT8FGUq8uSjuGP7GDAqFdMhrOTNkbwP0c6 qukkY81dwGY9F+QRy+bkynTvXcnjODQg9h/RY4h/x8YMEDyYZhwZJhktQJgiDDe8pRBm +VtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=RiMlzOHhjWU/Zxy9kyWyTRwWfmqzbzGQDTPOV23RQFQ=; b=NKm/RApo/cjxWyoB0k2A7v/XnqoEwErMbunLi2ehOGqzA3PueVFl52bbR2bFGqkcx0 gueTDMpM8V7va6Vj7Tesy630NI1ZOF6nwLQf6HEzpVXP9putHOMXf4MUZ2QN/JVJs8lB i6h9IaMFcI4xsZWzOwDSbldxnNbCrz4l6l6u6lsUERNmm4U2lbrFIcj/OfPSd5mB49yk 6iNQXlFScIVlMGuJ0LrSRpvAyBGl37AbhgTszjYV8uOW0Ijae8e63QsySqIf82f019mY Z5mDG4tyDn7bBP9kVk9bvVDxytlyLPv/NL+4vxPYuZ9F1o6t00CV+m7swunUUtAEiXhV 9O0Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o2-v6si4837795pgj.111.2018.10.24.06.45.11; Wed, 24 Oct 2018 06:45:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726543AbeJXWNV (ORCPT + 11 others); Wed, 24 Oct 2018 18:13:21 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:43598 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726407AbeJXWNV (ORCPT ); Wed, 24 Oct 2018 18:13:21 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 18010341; Wed, 24 Oct 2018 06:45:10 -0700 (PDT) Received: from usa.arm.com (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 22B2E3F6A8; Wed, 24 Oct 2018 06:45:08 -0700 (PDT) From: Sudeep Holla To: linux-pm@vger.kernel.org Cc: Sudeep Holla , "Rafael J . Wysocki" , Viresh Kumar Subject: [PATCH 1/2] cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64 Date: Wed, 24 Oct 2018 14:44:57 +0100 Message-Id: <20181024134458.14212-1-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org ARM_BIG_LITTLE_CPUFREQ depends on topology_physical_package_id to get the cluster id which inturn provides the information on related cpus in the same performance domain. ARM64 core doesn't provide the cluster information as it's not architecturally defined. There are no users of this driver in ARM64 after the one and only user(SCPI) moved away. So let's ban the usage of this driver for ARM64. Cc: Rafael J. Wysocki Cc: Viresh Kumar Signed-off-by: Sudeep Holla --- drivers/cpufreq/Kconfig.arm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.17.1 Acked-by: Viresh Kumar diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 0cd8eb76ad59..040cfedf3e37 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -28,7 +28,7 @@ config ARM_ARMADA_37XX_CPUFREQ # big LITTLE core layer and glue drivers config ARM_BIG_LITTLE_CPUFREQ tristate "Generic ARM big LITTLE CPUfreq driver" - depends on (ARM_CPU_TOPOLOGY || ARM64) && HAVE_CLK + depends on ARM_CPU_TOPOLOGY && HAVE_CLK # if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y depends on !CPU_THERMAL || THERMAL select PM_OPP From patchwork Wed Oct 24 13:44:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 149499 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp35232ljp; Wed, 24 Oct 2018 06:45:12 -0700 (PDT) X-Google-Smtp-Source: AJdET5fD7SismGuqzlPlO2IE5FIfFhzSctI8UapeLk8r20Juy8BQmcgAQAAm5t+/mwK/fsnbaCM6 X-Received: by 2002:a17:902:c01:: with SMTP id 1-v6mr2625019pls.233.1540388712496; Wed, 24 Oct 2018 06:45:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540388712; cv=none; d=google.com; s=arc-20160816; b=e1C3bPhDS3UTlTkULH5a00KTDxRvi4WaXtqDv3ehyWGZOLKfsF3vDc0dppkQezuaPb k11uHQ0QAW/1pfLHyeIe1H1x1x55duNwuBZlxnGZ2JwWOjEqkhhVAN9MOaH+X34D/r3r FUD5ZUnjP/rFlS2MEbr35tKZWsJuENdgOzWHGjEW1HgPSI1NZl5xpEWAFZIfqPBxOvW6 y/4hLTPB8ModkDg9qgz1N6Q2n4SV8kwzp92tlfAZoe1kbr1wuVTnkosnuQnK9MJsjP3b oSjumjZE/t6MjzOu2T401c+J88ElG8hIVXC7NUzp7rKwdEPkp8s68I4S03x06x0lBgZ6 IQZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=qPe38v6GtGdQs8SL3Xgdm6966cNNFT1wySpUup19EWI=; b=reSrYuXu7TEkI5NKBs/JmW+hrEj9/lkUjw48cNHsepV+OEiAK0VBa4CXAQKQcmAtga hhEJZsDdctwVUlHYDppQxSuMguOjlW2vd/mq9ugXpCr3rEhaaVXg084ihxaSzl9MhfW2 mQghmZ/pUz8OoPzRVlazMiHmkdyqOVD7PHw+Ee8qYD1KguNMk6DgHzbBSU5ZMmmO0BAO sorJLV/H7Vfi7kDGvTYuGL/R33dDvIa7J8f6xQvLi1IB+8gPRgj9A80GZAzjLpn+ht34 iXMXAyIZNwZBOsnQkg8vwfuXM4qdeaZN/VKCWROMtDIVSA9p0l/32M0XVIB9rQJ2C6Ps VfIg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o2-v6si4837795pgj.111.2018.10.24.06.45.12; Wed, 24 Oct 2018 06:45:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726501AbeJXWNW (ORCPT + 11 others); Wed, 24 Oct 2018 18:13:22 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:43606 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726285AbeJXWNW (ORCPT ); Wed, 24 Oct 2018 18:13:22 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3FB9615AB; Wed, 24 Oct 2018 06:45:11 -0700 (PDT) Received: from usa.arm.com (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 54F743F6A8; Wed, 24 Oct 2018 06:45:10 -0700 (PDT) From: Sudeep Holla To: linux-pm@vger.kernel.org Cc: Sudeep Holla , "Rafael J . Wysocki" , Viresh Kumar Subject: [PATCH 2/2] cpufreq: remove unused arm_big_little_dt driver Date: Wed, 24 Oct 2018 14:44:58 +0100 Message-Id: <20181024134458.14212-2-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181024134458.14212-1-sudeep.holla@arm.com> References: <20181024134458.14212-1-sudeep.holla@arm.com> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Most of the ARM platforms used cpufreq-dt driver irrespective of whether it's big-little(HMP) or SMP system. This arm_big_little_dt is not used actively at all. So let's remove the driver, so that it need not be maintained. Cc: Rafael J. Wysocki Cc: Viresh Kumar Signed-off-by: Sudeep Holla --- MAINTAINERS | 1 - drivers/cpufreq/Kconfig.arm | 7 -- drivers/cpufreq/Makefile | 3 - drivers/cpufreq/arm_big_little_dt.c | 100 ---------------------------- 4 files changed, 111 deletions(-) delete mode 100644 drivers/cpufreq/arm_big_little_dt.c Hi Viresh, I don't know if anyone is using this driver in the mainline, most of them just use cpufreq-dt these days. Does it make sense to remove this ? Also I think SPC/TC2 is the only users of arm_big_little.c, does it make sense to merge them ? Regards, Sudeep -- 2.17.1 Acked-by: Viresh Kumar diff --git a/MAINTAINERS b/MAINTAINERS index af2a61a31a8e..3ba90e1e4dbc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3838,7 +3838,6 @@ W: http://www.arm.com/products/processors/technologies/biglittleprocessing.php S: Maintained F: drivers/cpufreq/arm_big_little.h F: drivers/cpufreq/arm_big_little.c -F: drivers/cpufreq/arm_big_little_dt.c CPU POWER MONITORING SUBSYSTEM M: Thomas Renninger diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 040cfedf3e37..4e1131ef85ae 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -35,13 +35,6 @@ config ARM_BIG_LITTLE_CPUFREQ help This enables the Generic CPUfreq driver for ARM big.LITTLE platforms. -config ARM_DT_BL_CPUFREQ - tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver" - depends on ARM_BIG_LITTLE_CPUFREQ && OF - help - This enables probing via DT for Generic CPUfreq driver for ARM - big.LITTLE platform. This gets frequency tables from DT. - config ARM_SCPI_CPUFREQ tristate "SCPI based CPUfreq driver" depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index c1ffeabe4ecf..d5ee4562ed06 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -48,9 +48,6 @@ obj-$(CONFIG_X86_SFI_CPUFREQ) += sfi-cpufreq.o ################################################################################## # ARM SoC drivers obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o -# big LITTLE per platform glues. Keep DT_BL_CPUFREQ as the last entry in all big -# LITTLE drivers, so that it is probed last. -obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += arm_big_little_dt.o obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o obj-$(CONFIG_ARM_BRCMSTB_AVS_CPUFREQ) += brcmstb-avs-cpufreq.o diff --git a/drivers/cpufreq/arm_big_little_dt.c b/drivers/cpufreq/arm_big_little_dt.c deleted file mode 100644 index b944f290c8a4..000000000000 --- a/drivers/cpufreq/arm_big_little_dt.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Generic big.LITTLE CPUFreq Interface driver - * - * It provides necessary ops to arm_big_little cpufreq driver and gets - * Frequency information from Device Tree. Freq table in DT must be in KHz. - * - * Copyright (C) 2013 Linaro. - * Viresh Kumar - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed "as is" WITHOUT ANY WARRANTY of any - * kind, whether express or implied; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "arm_big_little.h" - -/* get cpu node with valid operating-points */ -static struct device_node *get_cpu_node_with_valid_op(int cpu) -{ - struct device_node *np = of_cpu_device_node_get(cpu); - - if (!of_get_property(np, "operating-points", NULL)) { - of_node_put(np); - np = NULL; - } - - return np; -} - -static int dt_get_transition_latency(struct device *cpu_dev) -{ - struct device_node *np; - u32 transition_latency = CPUFREQ_ETERNAL; - - np = of_node_get(cpu_dev->of_node); - if (!np) { - pr_info("Failed to find cpu node. Use CPUFREQ_ETERNAL transition latency\n"); - return CPUFREQ_ETERNAL; - } - - of_property_read_u32(np, "clock-latency", &transition_latency); - of_node_put(np); - - pr_debug("%s: clock-latency: %d\n", __func__, transition_latency); - return transition_latency; -} - -static const struct cpufreq_arm_bL_ops dt_bL_ops = { - .name = "dt-bl", - .get_transition_latency = dt_get_transition_latency, - .init_opp_table = dev_pm_opp_of_cpumask_add_table, - .free_opp_table = dev_pm_opp_of_cpumask_remove_table, -}; - -static int generic_bL_probe(struct platform_device *pdev) -{ - struct device_node *np; - - np = get_cpu_node_with_valid_op(0); - if (!np) - return -ENODEV; - - of_node_put(np); - return bL_cpufreq_register(&dt_bL_ops); -} - -static int generic_bL_remove(struct platform_device *pdev) -{ - bL_cpufreq_unregister(&dt_bL_ops); - return 0; -} - -static struct platform_driver generic_bL_platdrv = { - .driver = { - .name = "arm-bL-cpufreq-dt", - }, - .probe = generic_bL_probe, - .remove = generic_bL_remove, -}; -module_platform_driver(generic_bL_platdrv); - -MODULE_AUTHOR("Viresh Kumar "); -MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT"); -MODULE_LICENSE("GPL v2");