* [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs
@ 2017-02-06 21:51 Markus Mayer
2017-02-06 21:51 ` [PATCH v2 1/4] MIPS: BMIPS: Update defconfig Markus Mayer
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Markus Mayer @ 2017-02-06 21:51 UTC (permalink / raw)
To: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki
Cc: Markus Mayer, MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
From: Markus Mayer <mmayer@broadcom.com>
This series adds a CPUfreq driver for the BMIPS SoCs. In the first
iteration only BMIPS5xxx SoCs are supported.
The very first patch contains updates to bmips_stb_defconfig that are
unrelated to this series. Looks like bmips_stb_defconfig hasn't been
updated in a while. I didn't want to mix those changes with the CPUfreq
related ones, so that patch now comes first in the series and is
independent of the CPUfreq related changes to bmips_stb_defconfig
(patch 4/4).
This series is based on pm/linux-next.
Changes since v1:
- based on pm/linux-next rather than 4.10-rc1
- sanitized bmips_stb_defconfig by running "make savedefconfig"; this
also lead to an additional patch (1/4), which contains non-CPUfreq
related updates that "make savedefconfig" performed
- use gobal variable to store driver data rather than policy->driver_data
- got rid of some code as a result of using said global variable
- kzalloc -> kmalloc
- removed policy->freq_table = NULL;
Markus Mayer (4):
MIPS: BMIPS: Update defconfig
BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig.
cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs
MIPS: BMIPS: enable CPUfreq
arch/mips/Kconfig | 2 +
arch/mips/configs/bmips_stb_defconfig | 16 +--
drivers/cpufreq/Kconfig | 10 ++
drivers/cpufreq/Makefile | 1 +
drivers/cpufreq/bmips-cpufreq.c | 195 ++++++++++++++++++++++++++++++++++
5 files changed, 218 insertions(+), 6 deletions(-)
create mode 100644 drivers/cpufreq/bmips-cpufreq.c
--
2.7.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/4] MIPS: BMIPS: Update defconfig
2017-02-06 21:51 [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
@ 2017-02-06 21:51 ` Markus Mayer
2017-02-07 4:18 ` Viresh Kumar
2017-02-06 21:51 ` [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig Markus Mayer
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Markus Mayer @ 2017-02-06 21:51 UTC (permalink / raw)
To: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki
Cc: Markus Mayer, MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
From: Markus Mayer <mmayer@broadcom.com>
Ran "make savedefconfig" to bring bmips_stb_defconfig up to date.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---
arch/mips/configs/bmips_stb_defconfig | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 4eb5d6e..3be15cb 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -9,7 +9,6 @@ CONFIG_MIPS_O32_FP64_SUPPORT=y
# CONFIG_SWAP is not set
CONFIG_NO_HZ=y
CONFIG_BLK_DEV_INITRD=y
-CONFIG_RD_GZIP=y
CONFIG_EXPERT=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_SLUB_DEBUG is not set
@@ -24,7 +23,6 @@ CONFIG_INET=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
CONFIG_CFG80211=y
CONFIG_NL80211_TESTMODE=y
@@ -34,8 +32,6 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-CONFIG_PRINTK_TIME=y
-CONFIG_BRCMSTB_GISB_ARB=y
CONFIG_MTD=y
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y
@@ -51,16 +47,15 @@ CONFIG_USB_USBNET=y
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
-# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
-CONFIG_POWER_SUPPLY=y
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_BRCMSTB=y
CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_SUPPLY=y
# CONFIG_HWMON is not set
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
@@ -82,6 +77,7 @@ CONFIG_CIFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
+CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_CMDLINE_BOOL=y
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig.
2017-02-06 21:51 [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
2017-02-06 21:51 ` [PATCH v2 1/4] MIPS: BMIPS: Update defconfig Markus Mayer
@ 2017-02-06 21:51 ` Markus Mayer
2017-02-07 12:42 ` Rafael J. Wysocki
2017-02-06 21:51 ` [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
2017-02-06 21:51 ` [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq Markus Mayer
3 siblings, 1 reply; 9+ messages in thread
From: Markus Mayer @ 2017-02-06 21:51 UTC (permalink / raw)
To: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki
Cc: Markus Mayer, MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
From: Markus Mayer <mmayer@broadcom.com>
Turn on CPU_SUPPORTS_CPUFREQ and MIPS_EXTERNAL_TIMER for BMIPS.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---
arch/mips/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index b3c5bde..e137eed 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1703,6 +1703,8 @@ config CPU_BMIPS
select WEAK_ORDERING
select CPU_SUPPORTS_HIGHMEM
select CPU_HAS_PREFETCH
+ select CPU_SUPPORTS_CPUFREQ
+ select MIPS_EXTERNAL_TIMER
help
Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs
2017-02-06 21:51 [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
2017-02-06 21:51 ` [PATCH v2 1/4] MIPS: BMIPS: Update defconfig Markus Mayer
2017-02-06 21:51 ` [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig Markus Mayer
@ 2017-02-06 21:51 ` Markus Mayer
2017-02-07 4:19 ` Viresh Kumar
2017-02-06 21:51 ` [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq Markus Mayer
3 siblings, 1 reply; 9+ messages in thread
From: Markus Mayer @ 2017-02-06 21:51 UTC (permalink / raw)
To: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki
Cc: Markus Mayer, MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
From: Markus Mayer <mmayer@broadcom.com>
Add the MIPS CPUfreq driver. This driver currently supports CPUfreq on
BMIPS5xxx-based SoCs.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---
drivers/cpufreq/Kconfig | 10 +++
drivers/cpufreq/Makefile | 1 +
drivers/cpufreq/bmips-cpufreq.c | 195 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 206 insertions(+)
create mode 100644 drivers/cpufreq/bmips-cpufreq.c
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 15adef4..ec040a5 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -263,6 +263,16 @@ config IA64_ACPI_CPUFREQ
endif
if MIPS
+config BMIPS_CPUFREQ
+ tristate "BMIPS CPUfreq Driver"
+ help
+ This option adds a CPUfreq driver for BMIPS processors with
+ support for configurable CPU frequency.
+
+ For now, BMIPS5 chips are supported (such as the Broadcom 7425).
+
+ If in doubt, say N.
+
config LOONGSON2_CPUFREQ
tristate "Loongson2 CPUFreq Driver"
help
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 1e46c39..b7b3fc7 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -98,6 +98,7 @@ obj-$(CONFIG_POWERNV_CPUFREQ) += powernv-cpufreq.o
# Other platform drivers
obj-$(CONFIG_AVR32_AT32AP_CPUFREQ) += at32ap-cpufreq.o
obj-$(CONFIG_BFIN_CPU_FREQ) += blackfin-cpufreq.o
+obj-$(CONFIG_BMIPS_CPUFREQ) += bmips-cpufreq.o
obj-$(CONFIG_CRIS_MACH_ARTPEC3) += cris-artpec3-cpufreq.o
obj-$(CONFIG_ETRAXFS) += cris-etraxfs-cpufreq.o
obj-$(CONFIG_IA64_ACPI_CPUFREQ) += ia64-acpi-cpufreq.o
diff --git a/drivers/cpufreq/bmips-cpufreq.c b/drivers/cpufreq/bmips-cpufreq.c
new file mode 100644
index 0000000..505aa83
--- /dev/null
+++ b/drivers/cpufreq/bmips-cpufreq.c
@@ -0,0 +1,195 @@
+/*
+ * CPU frequency scaling for Broadcom BMIPS SoCs
+ *
+ * Copyright (c) 2017 Broadcom
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * 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.
+ */
+
+#include <linux/cpufreq.h>
+#include <linux/module.h>
+#include <linux/of_address.h>
+#include <linux/slab.h>
+
+/* for mips_hpt_frequency */
+#include <asm/time.h>
+
+#define BMIPS_CPUFREQ_PREFIX "bmips"
+#define BMIPS_CPUFREQ_NAME BMIPS_CPUFREQ_PREFIX "-cpufreq"
+
+#define TRANSITION_LATENCY (25 * 1000) /* 25 us */
+
+#define BMIPS5_CLK_DIV_SET_SHIFT 0x7
+#define BMIPS5_CLK_DIV_SHIFT 0x4
+#define BMIPS5_CLK_DIV_MASK 0xf
+
+enum bmips_type {
+ BMIPS5000,
+ BMIPS5200,
+};
+
+struct cpufreq_compat {
+ const char *compatible;
+ unsigned int bmips_type;
+ unsigned int clk_mult;
+ unsigned int max_freqs;
+};
+
+#define BMIPS(c, t, m, f) { \
+ .compatible = c, \
+ .bmips_type = (t), \
+ .clk_mult = (m), \
+ .max_freqs = (f), \
+}
+
+static struct cpufreq_compat bmips_cpufreq_compat[] = {
+ BMIPS("brcm,bmips5000", BMIPS5000, 8, 4),
+ BMIPS("brcm,bmips5200", BMIPS5200, 8, 4),
+ { }
+};
+
+static struct cpufreq_compat *priv;
+
+static int htp_freq_to_cpu_freq(unsigned int clk_mult)
+{
+ return mips_hpt_frequency * clk_mult / 1000;
+}
+
+static struct cpufreq_frequency_table *
+bmips_cpufreq_get_freq_table(const struct cpufreq_policy *policy)
+{
+ struct cpufreq_frequency_table *table;
+ unsigned long cpu_freq;
+ int i;
+
+ cpu_freq = htp_freq_to_cpu_freq(priv->clk_mult);
+
+ table = kmalloc((priv->max_freqs + 1) * sizeof(*table), GFP_KERNEL);
+ if (!table)
+ return ERR_PTR(-ENOMEM);
+
+ for (i = 0; i < priv->max_freqs; i++) {
+ table[i].frequency = cpu_freq / (1 << i);
+ table[i].driver_data = i;
+ }
+ table[i].frequency = CPUFREQ_TABLE_END;
+
+ return table;
+}
+
+static unsigned int bmips_cpufreq_get(unsigned int cpu)
+{
+ unsigned long freq, cpu_freq;
+ unsigned int div;
+ uint32_t mode;
+
+ switch (priv->bmips_type) {
+ case BMIPS5200:
+ case BMIPS5000:
+ mode = read_c0_brcm_mode();
+ div = ((mode >> BMIPS5_CLK_DIV_SHIFT) & BMIPS5_CLK_DIV_MASK);
+ break;
+ default:
+ div = 0;
+ }
+
+ cpu_freq = htp_freq_to_cpu_freq(priv->clk_mult);
+ freq = cpu_freq / (1 << div);
+
+ return freq;
+}
+
+static int bmips_cpufreq_target_index(struct cpufreq_policy *policy,
+ unsigned int index)
+{
+ unsigned int div = policy->freq_table[index].driver_data;
+
+ switch (priv->bmips_type) {
+ case BMIPS5200:
+ case BMIPS5000:
+ change_c0_brcm_mode(BMIPS5_CLK_DIV_MASK << BMIPS5_CLK_DIV_SHIFT,
+ (1 << BMIPS5_CLK_DIV_SET_SHIFT) |
+ (div << BMIPS5_CLK_DIV_SHIFT));
+ break;
+ default:
+ return -ENOTSUPP;
+ }
+
+ return 0;
+}
+
+static int bmips_cpufreq_exit(struct cpufreq_policy *policy)
+{
+ kfree(policy->freq_table);
+
+ return 0;
+}
+
+static int bmips_cpufreq_init(struct cpufreq_policy *policy)
+{
+ struct cpufreq_frequency_table *freq_table;
+ int ret;
+
+ /* Store the compatibility data. */
+ priv = cpufreq_get_driver_data();
+
+ freq_table = bmips_cpufreq_get_freq_table(policy);
+ if (IS_ERR(freq_table)) {
+ ret = PTR_ERR(freq_table);
+ pr_err("%s: couldn't determine frequency table (%d).\n",
+ BMIPS_CPUFREQ_NAME, ret);
+ return ret;
+ }
+
+ ret = cpufreq_generic_init(policy, freq_table, TRANSITION_LATENCY);
+ if (ret)
+ bmips_cpufreq_exit(policy);
+ else
+ pr_info("%s: registered\n", BMIPS_CPUFREQ_NAME);
+
+ return ret;
+}
+
+static struct cpufreq_driver bmips_cpufreq_driver = {
+ .flags = CPUFREQ_NEED_INITIAL_FREQ_CHECK,
+ .verify = cpufreq_generic_frequency_table_verify,
+ .target_index = bmips_cpufreq_target_index,
+ .get = bmips_cpufreq_get,
+ .init = bmips_cpufreq_init,
+ .exit = bmips_cpufreq_exit,
+ .attr = cpufreq_generic_attr,
+ .name = BMIPS_CPUFREQ_PREFIX,
+};
+
+static int __init bmips_cpufreq_probe(void)
+{
+ struct cpufreq_compat *cc;
+ struct device_node *np;
+
+ for (cc = bmips_cpufreq_compat; cc->compatible; cc++) {
+ np = of_find_compatible_node(NULL, "cpu", cc->compatible);
+ if (np) {
+ of_node_put(np);
+ bmips_cpufreq_driver.driver_data = cc;
+ break;
+ }
+ }
+
+ /* We hit the guard element of the array. No compatible CPU found. */
+ if (!cc->compatible)
+ return -ENODEV;
+
+ return cpufreq_register_driver(&bmips_cpufreq_driver);
+}
+device_initcall(bmips_cpufreq_probe);
+
+MODULE_AUTHOR("Markus Mayer <mmayer@broadcom.com>");
+MODULE_DESCRIPTION("CPUfreq driver for Broadcom BMIPS SoCs");
+MODULE_LICENSE("GPL");
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq
2017-02-06 21:51 [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
` (2 preceding siblings ...)
2017-02-06 21:51 ` [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
@ 2017-02-06 21:51 ` Markus Mayer
2017-02-07 4:19 ` Viresh Kumar
3 siblings, 1 reply; 9+ messages in thread
From: Markus Mayer @ 2017-02-06 21:51 UTC (permalink / raw)
To: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki
Cc: Markus Mayer, MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
From: Markus Mayer <mmayer@broadcom.com>
Enable all applicable CPUfreq options.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---
arch/mips/configs/bmips_stb_defconfig | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
index 3be15cb..3cefa6b 100644
--- a/arch/mips/configs/bmips_stb_defconfig
+++ b/arch/mips/configs/bmips_stb_defconfig
@@ -15,6 +15,14 @@ CONFIG_EXPERT=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_BMIPS_CPUFREQ=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/4] MIPS: BMIPS: Update defconfig
2017-02-06 21:51 ` [PATCH v2 1/4] MIPS: BMIPS: Update defconfig Markus Mayer
@ 2017-02-07 4:18 ` Viresh Kumar
0 siblings, 0 replies; 9+ messages in thread
From: Viresh Kumar @ 2017-02-07 4:18 UTC (permalink / raw)
To: Markus Mayer
Cc: Ralf Baechle, Rafael J . Wysocki, Markus Mayer,
MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
On 06-02-17, 13:51, Markus Mayer wrote:
> From: Markus Mayer <mmayer@broadcom.com>
>
> Ran "make savedefconfig" to bring bmips_stb_defconfig up to date.
>
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
> ---
> arch/mips/configs/bmips_stb_defconfig | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
> index 4eb5d6e..3be15cb 100644
> --- a/arch/mips/configs/bmips_stb_defconfig
> +++ b/arch/mips/configs/bmips_stb_defconfig
> @@ -9,7 +9,6 @@ CONFIG_MIPS_O32_FP64_SUPPORT=y
> # CONFIG_SWAP is not set
> CONFIG_NO_HZ=y
> CONFIG_BLK_DEV_INITRD=y
> -CONFIG_RD_GZIP=y
> CONFIG_EXPERT=y
> # CONFIG_VM_EVENT_COUNTERS is not set
> # CONFIG_SLUB_DEBUG is not set
> @@ -24,7 +23,6 @@ CONFIG_INET=y
> # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
> # CONFIG_INET_XFRM_MODE_TUNNEL is not set
> # CONFIG_INET_XFRM_MODE_BEET is not set
> -# CONFIG_INET_LRO is not set
> # CONFIG_INET_DIAG is not set
> CONFIG_CFG80211=y
> CONFIG_NL80211_TESTMODE=y
> @@ -34,8 +32,6 @@ CONFIG_DEVTMPFS=y
> CONFIG_DEVTMPFS_MOUNT=y
> # CONFIG_STANDALONE is not set
> # CONFIG_PREVENT_FIRMWARE_BUILD is not set
> -CONFIG_PRINTK_TIME=y
> -CONFIG_BRCMSTB_GISB_ARB=y
> CONFIG_MTD=y
> CONFIG_MTD_CFI=y
> CONFIG_MTD_CFI_INTELEXT=y
> @@ -51,16 +47,15 @@ CONFIG_USB_USBNET=y
> # CONFIG_INPUT is not set
> # CONFIG_SERIO is not set
> # CONFIG_VT is not set
> -# CONFIG_DEVKMEM is not set
> CONFIG_SERIAL_8250=y
> # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_OF_PLATFORM=y
> # CONFIG_HW_RANDOM is not set
> -CONFIG_POWER_SUPPLY=y
> CONFIG_POWER_RESET=y
> CONFIG_POWER_RESET_BRCMSTB=y
> CONFIG_POWER_RESET_SYSCON=y
> +CONFIG_POWER_SUPPLY=y
> # CONFIG_HWMON is not set
> CONFIG_USB=y
> CONFIG_USB_EHCI_HCD=y
> @@ -82,6 +77,7 @@ CONFIG_CIFS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ASCII=y
> CONFIG_NLS_ISO8859_1=y
> +CONFIG_PRINTK_TIME=y
> CONFIG_DEBUG_FS=y
> CONFIG_MAGIC_SYSRQ=y
> CONFIG_CMDLINE_BOOL=y
This is what happens when people don't update defconfigs properly :)
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs
2017-02-06 21:51 ` [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
@ 2017-02-07 4:19 ` Viresh Kumar
0 siblings, 0 replies; 9+ messages in thread
From: Viresh Kumar @ 2017-02-07 4:19 UTC (permalink / raw)
To: Markus Mayer
Cc: Ralf Baechle, Rafael J . Wysocki, Markus Mayer,
MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
On 06-02-17, 13:51, Markus Mayer wrote:
> From: Markus Mayer <mmayer@broadcom.com>
>
> Add the MIPS CPUfreq driver. This driver currently supports CPUfreq on
> BMIPS5xxx-based SoCs.
>
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
> ---
> drivers/cpufreq/Kconfig | 10 +++
> drivers/cpufreq/Makefile | 1 +
> drivers/cpufreq/bmips-cpufreq.c | 195 ++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 206 insertions(+)
> create mode 100644 drivers/cpufreq/bmips-cpufreq.c
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq
2017-02-06 21:51 ` [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq Markus Mayer
@ 2017-02-07 4:19 ` Viresh Kumar
0 siblings, 0 replies; 9+ messages in thread
From: Viresh Kumar @ 2017-02-07 4:19 UTC (permalink / raw)
To: Markus Mayer
Cc: Ralf Baechle, Rafael J . Wysocki, Markus Mayer,
MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
On 06-02-17, 13:51, Markus Mayer wrote:
> From: Markus Mayer <mmayer@broadcom.com>
>
> Enable all applicable CPUfreq options.
>
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
> ---
> arch/mips/configs/bmips_stb_defconfig | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
> index 3be15cb..3cefa6b 100644
> --- a/arch/mips/configs/bmips_stb_defconfig
> +++ b/arch/mips/configs/bmips_stb_defconfig
> @@ -15,6 +15,14 @@ CONFIG_EXPERT=y
> # CONFIG_BLK_DEV_BSG is not set
> # CONFIG_IOSCHED_DEADLINE is not set
> # CONFIG_IOSCHED_CFQ is not set
> +CONFIG_CPU_FREQ=y
> +CONFIG_CPU_FREQ_STAT=y
> +CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> +CONFIG_CPU_FREQ_GOV_USERSPACE=y
> +CONFIG_CPU_FREQ_GOV_ONDEMAND=y
> +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
> +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
> +CONFIG_BMIPS_CPUFREQ=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_PACKET_DIAG=y
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig.
2017-02-06 21:51 ` [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig Markus Mayer
@ 2017-02-07 12:42 ` Rafael J. Wysocki
0 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2017-02-07 12:42 UTC (permalink / raw)
To: Markus Mayer
Cc: Ralf Baechle, Viresh Kumar, Rafael J . Wysocki, Markus Mayer,
MIPS Linux Kernel List, Power Management List,
Linux Kernel Mailing List
On Mon, Feb 6, 2017 at 10:51 PM, Markus Mayer <code@mmayer.net> wrote:
> From: Markus Mayer <mmayer@broadcom.com>
>
> Turn on CPU_SUPPORTS_CPUFREQ and MIPS_EXTERNAL_TIMER for BMIPS.
>
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
An ACK from the MIPS maintainers is requisite here.
> ---
> arch/mips/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index b3c5bde..e137eed 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -1703,6 +1703,8 @@ config CPU_BMIPS
> select WEAK_ORDERING
> select CPU_SUPPORTS_HIGHMEM
> select CPU_HAS_PREFETCH
> + select CPU_SUPPORTS_CPUFREQ
> + select MIPS_EXTERNAL_TIMER
> help
> Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
>
> --
Thanks,
Rafael
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-02-07 12:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 21:51 [PATCH v2 0/4] cpufreq: bmips-cpufreq: Add CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
2017-02-06 21:51 ` [PATCH v2 1/4] MIPS: BMIPS: Update defconfig Markus Mayer
2017-02-07 4:18 ` Viresh Kumar
2017-02-06 21:51 ` [PATCH v2 2/4] BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig Markus Mayer
2017-02-07 12:42 ` Rafael J. Wysocki
2017-02-06 21:51 ` [PATCH v2 3/4] cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs Markus Mayer
2017-02-07 4:19 ` Viresh Kumar
2017-02-06 21:51 ` [PATCH v2 4/4] MIPS: BMIPS: enable CPUfreq Markus Mayer
2017-02-07 4:19 ` Viresh Kumar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.