* [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
* 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
* [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
* 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
* [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
* 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
* [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 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
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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox