All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Lukasz Majewski <l.majewski@samsung.com>
Cc: "Rafael J. Wysocky" <rjw@sisk.pl>,
	"cpufreq@vger.kernel.org" <cpufreq@vger.kernel.org>,
	Linux PM list <linux-pm@vger.kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Jonghwa Lee <jonghwa3.lee@samsung.com>,
	Myungjoo Ham <myungjoo.ham@samsung.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Lukasz Majewski <l.majewski@majess.pl>,
	Andre Przywara <andre.przywara@linaro.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Lists linaro-kernel <linaro-kernel@lists.linaro.org>
Subject: Re: [PATCH 2/5] cpufreq:boost: Add support for software based CPU frequency boost
Date: Thu, 6 Jun 2013 16:23:36 +0530	[thread overview]
Message-ID: <CAKohpok3KTfSWDU6PdDd4_VW4Pp+6J80yn5cLrYr5RuBNH-agA@mail.gmail.com> (raw)
In-Reply-To: <1370502472-7249-3-git-send-email-l.majewski@samsung.com>

Hi,

On 6 June 2013 12:37, Lukasz Majewski <l.majewski@samsung.com> wrote:
> This commit adds support for software based frequency boosting.
> Exynos4 SoCs (e.g. 4x12) allow setting of frequency above its normal
> condition limits. This can be done for some short time.
>
> Overclocking (boost) support came from cpufreq driver (which is platform
> dependent). Hence the data structure describing it is defined at its file.
>
> To allow support for either SW and HW (Intel) based boosting, the cpufreq
> core code has been extended to support both solutions.
>
> The main boost switch has been put at /sys/devices/system/cpu/cpufreq/boost.

Log requires some better paragraphs but I am not concerned about it for now.

> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
> ---
>  drivers/cpufreq/cpufreq.c    |  156 ++++++++++++++++++++++++++++++++++++++++++
>  drivers/cpufreq/freq_table.c |   87 ++++++++++++++++++++++-
>  include/linux/cpufreq.h      |   35 +++++++++-
>  3 files changed, 275 insertions(+), 3 deletions(-)

My initial view on this patch is: "It is overly engineered and needs
to get simplified"

> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index ca74e27..8cf9a92 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -133,6 +133,11 @@ bool have_governor_per_policy(void)
>         return cpufreq_driver->have_governor_per_policy;
>  }
>
> +/**
> + * Global definition of cpufreq_boost structure
> + */
> +struct cpufreq_boost *cpufreq_boost;

Probably just a 'static bool' here cpufreq_boost_enabled. Which takes
care of selection from sysfs.

>  static struct cpufreq_governor *__find_governor(const char *str_governor)
>  {
> @@ -761,6 +805,18 @@ static int cpufreq_add_dev_interface(unsigned int cpu,
>         if (cpufreq_set_drv_attr_files(policy, cpufreq_driver->attr))
>                 goto err_out_kobj_put;
>
> +       if (cpufreq_driver->boost) {
> +               if (sysfs_create_file(cpufreq_global_kobject,
> +                                     &(global_boost.attr)))

This will report error for systems where we have two policy structures.
As we are creating something already present.

> +                       pr_warn("could not register global boost sysfs file\n");
> +               else
> +                       pr_debug("registered global boost sysfs file\n");

Please make all your prints to print function name too:

pr_debug("%s: foo\n", __func__, foo);

> +               if (cpufreq_set_drv_attr_files(policy,
> +                                              cpufreq_driver->boost->attr))

Why is this required? Why do we want platforms to add some files
in sysfs?

>  /*********************************************************************
> + *               BOOST                                              *
> + *********************************************************************/
> +int cpufreq_boost_trigger_state(struct cpufreq_policy *policy, int state)
> +{
> +       struct cpufreq_boost *boost;
> +       unsigned long flags;
> +       int ret = 0;
> +
> +       if (!policy || !policy->boost || !policy->boost->low_level_boost)
> +               return -ENODEV;
> +
> +       boost = policy->boost;
> +       write_lock_irqsave(&cpufreq_driver_lock, flags);
> +
> +       if (boost->status != state) {
> +               policy->boost->status = state;
> +               ret = boost->low_level_boost(policy, state);
> +               if (ret) {
> +                       pr_err("BOOST cannot %sable low level code (%d)\n",
> +                              state ? "en" : "dis", ret);
> +                       return ret;
> +               }
> +       }
> +
> +       write_unlock_irqrestore(&cpufreq_driver_lock, flags);
> +
> +       pr_debug("cpufreq BOOST %sabled\n", state ? "en" : "dis");
> +
> +       return 0;
> +}
> +
> +/**
> + * cpufreq_boost_notifier - notifier callback for cpufreq policy change.
> + *  <at> nb:   struct notifier_block * with callback info.
> + *  <at> event: value showing cpufreq event for which this function invoked.
> + *  <at> data: callback-specific data
> + */
> +static int cpufreq_boost_notifier(struct notifier_block *nb,
> +                                 unsigned long event, void *data)
> +{
> +       struct cpufreq_policy *policy = data;
> +
> +       if (event == CPUFREQ_INCOMPATIBLE) {
> +               if (!policy || !policy->boost)
> +                       return -ENODEV;
> +
> +               if (policy->boost->status == CPUFREQ_BOOST_EN) {
> +                       pr_info("NOTIFIER BOOST: MAX: %d e:%lu cpu: %d\n",
> +                               policy->max, event, policy->cpu);
> +                       cpufreq_boost_trigger_state(policy, 0);
> +               }
> +       }
> +
> +       return 0;
> +}
> +
> +/* Notifier for cpufreq policy change */
> +static struct notifier_block cpufreq_boost_notifier_block = {
> +       .notifier_call = cpufreq_boost_notifier,
> +};
> +
> +int cpufreq_boost_init(struct cpufreq_policy *policy)
> +{
> +       int ret = 0;
> +
> +       if (!policy)
> +               return -EINVAL;

Heh, policy can't be NULL here.

> +       if (!cpufreq_driver->boost) {
> +               pr_err("Boost mode not supported on this device\n");

Wow!! You want to screw everybody else's logs with this message.
Its not a crime if you don't have boost mode supported :)

Actually this routine must be called only if cpufreq_driver->boost
is valid.

> +               return -ENODEV;
> +       }
> +
> +       policy->boost = cpufreq_boost = cpufreq_driver->boost;

Why are we copying same pointer to policy->boost? Driver is
passing pointer to a single memory location, just save it globally.

> +       /* disable boost for newly created policy - as we e.g. change
> +          governor */
> +       policy->boost->status = CPUFREQ_BOOST_DIS;

Drivers supporting boost may want boost to be enabled by default,
maybe without any sysfs calls.

> +       /* register policy notifier */
> +       ret = cpufreq_register_notifier(&cpufreq_boost_notifier_block,
> +                                       CPUFREQ_POLICY_NOTIFIER);
> +       if (ret) {
> +               pr_err("CPUFREQ BOOST notifier not registered.\n");
> +               return ret;
> +       }
> +       /* add policy to policies list headed at struct cpufreq_boost */
> +       list_add_tail(&policy->boost_list, &cpufreq_boost->policies);
> +
> +       return 0;
> +}
> +EXPORT_SYMBOL_GPL(cpufreq_boost_init);

Why do we need to maintain a list of boost here? notifiers? complex :(

> +/*********************************************************************
>   *               REGISTER / UNREGISTER CPUFREQ DRIVER                *
>   *********************************************************************/
>
> @@ -1954,6 +2106,10 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver)
>         pr_debug("unregistering driver %s\n", driver->name);
>
>         subsys_interface_unregister(&cpufreq_interface);
> +
> +       if (cpufreq_driver->boost)
> +               sysfs_remove_file(cpufreq_global_kobject, &(global_boost.attr));

You haven't removed this from policy. Memory leak.

>         unregister_hotcpu_notifier(&cpufreq_cpu_notifier);
>
>         write_lock_irqsave(&cpufreq_driver_lock, flags);
> diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c
> index d7a7966..0e95524 100644
> --- a/drivers/cpufreq/freq_table.c
> +++ b/drivers/cpufreq/freq_table.c
> @@ -3,6 +3,8 @@
>   *
>   * Copyright (C) 2002 - 2003 Dominik Brodowski
>   *
> + * Copyright (C) 2013 Lukasz Majewski <l.majewski@samsung.com>
> + *

You shouldn't add it unless you did some major work on this file. You aren't
maintaining this file in 2013.

> +static int cpufreq_frequency_table_skip_boost(struct cpufreq_policy *policy,
> +                                             unsigned int index)
> +{
> +       if (index == CPUFREQ_BOOST)
> +               if (!policy->boost ||

This shouldn't be true. If index has got CPUFREQ_BOOST, then driver
has to support boost.

> +                   policy->boost->status == CPUFREQ_BOOST_DIS)
> +                       return 1;
> +
> +       return 0;
> +}
> +
> +unsigned int
> +cpufreq_frequency_table_boost_max(struct cpufreq_frequency_table *freq_table)
> +{
> +       int index, boost_freq_max;
> +
> +       for (index = 0, boost_freq_max = 0;
> +               freq_table[index].frequency != CPUFREQ_TABLE_END; index++)
> +               if (freq_table[index].index == CPUFREQ_BOOST) {
> +                       if (freq_table[index].frequency > boost_freq_max)
> +                               boost_freq_max = freq_table[index].frequency;
> +               }
> +
> +       return boost_freq_max;
> +}
> +EXPORT_SYMBOL_GPL(cpufreq_frequency_table_boost_max);

why do we need this?

>  /*
>   * if you use these, you must assure that the frequency table is valid
>   * all the time between get_attr and put_attr!
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index 037d36a..1294c8c 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -88,6 +88,25 @@ struct cpufreq_real_policy {
>         struct cpufreq_governor *governor; /* see below */
>  };
>
> +#define CPUFREQ_BOOST_DIS            (0)
> +#define CPUFREQ_BOOST_EN             (1)

You don't need these.. Just create variable as bool and 0 & 1 would
be fine.

> +struct cpufreq_policy;
> +struct cpufreq_boost {
> +       unsigned int            max_boost_freq; /* maximum value of
> +                                                * boosted freq */
> +       unsigned int            max_normal_freq; /* non boost max freq */
> +       int                     status; /* status of boost */
> +
> +       /* boost sysfs attributies */
> +       struct freq_attr        **attr;
> +
> +       /* low-level trigger for boost */
> +       int (*low_level_boost) (struct cpufreq_policy *policy, int state);
> +
> +       struct list_head        policies;
> +};

We don't need it. Just add two more fields to cpufreq_driver:
- have_boost_freqs and low_level_boost (maybe a better name.
What's its use?)

>  struct cpufreq_policy {
>         /* CPUs sharing clock, require sw coordination */
>         cpumask_var_t           cpus;   /* Online CPUs only */
> @@ -113,6 +132,9 @@ struct cpufreq_policy {
>
>         struct cpufreq_real_policy      user_policy;
>
> +       struct cpufreq_boost    *boost;
> +       struct list_head        boost_list;

We don't need both of these.

>         struct kobject          kobj;
>         struct completion       kobj_unregister;
>  };

> @@ -277,7 +302,6 @@ struct cpufreq_driver {
>  int cpufreq_register_driver(struct cpufreq_driver *driver_data);
>  int cpufreq_unregister_driver(struct cpufreq_driver *driver_data);
>
> -

??

>  void cpufreq_notify_transition(struct cpufreq_policy *policy,
>                 struct cpufreq_freqs *freqs, unsigned int state);
>
> @@ -403,6 +427,9 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
>  #define CPUFREQ_ENTRY_INVALID ~0
>  #define CPUFREQ_TABLE_END     ~1
>
> +/* Define index for boost frequency */
> +#define CPUFREQ_BOOST         ~2

s/CPUFREQ_BOOST/CPUFREQ_BOOST_FREQ

  reply	other threads:[~2013-06-06 10:53 UTC|newest]

Thread overview: 329+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-06  7:07 [PATCH 0/5] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-06-06  7:07 ` [PATCH 1/5] cpufreq: Define cpufreq_set_drv_attr_files() to add per CPU sysfs attributes Lukasz Majewski
2013-06-06  8:27   ` Viresh Kumar
2013-06-06  8:58     ` Lukasz Majewski
2013-06-06  9:00       ` Viresh Kumar
2013-06-06  9:16         ` Lukasz Majewski
2013-06-06  7:07 ` [PATCH 2/5] cpufreq:boost: Add support for software based CPU frequency boost Lukasz Majewski
2013-06-06 10:53   ` Viresh Kumar [this message]
2013-06-06 11:49     ` Lukasz Majewski
2013-06-06 15:46       ` Viresh Kumar
2013-06-07 13:27         ` Lukasz Majewski
2013-06-07 14:13           ` Viresh Kumar
2013-06-07 14:34             ` Lukasz Majewski
2013-06-07 14:44               ` Viresh Kumar
2013-06-07 14:43         ` Lukasz Majewski
2013-06-06  7:07 ` [PATCH 3/5] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-06-06  7:07 ` [PATCH 4/5] cpufreq:exynos:Extend exynos cpufreq driver to support boost Lukasz Majewski
2013-06-06  7:07 ` [PATCH 5/5] cpufreq:boost:Kconfig: Enable boost support at Kconfig Lukasz Majewski
2013-06-06 14:49   ` Dave Jones
2013-06-06 15:14     ` Lukasz Majewski
2013-06-06 15:21       ` Dave Jones
2013-06-06 15:48         ` Viresh Kumar
2013-06-06 15:58   ` Borislav Petkov
2013-06-10 13:20     ` Lukasz Majewski
2013-06-10 13:22       ` Viresh Kumar
2013-06-10 13:42         ` Lukasz Majewski
2013-06-11  9:03 ` [PATCH v2 0/3] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-06-11  9:03   ` [PATCH v2 1/3] cpufreq:boost: CPU frequency boost code unification for software and hardware solutions Lukasz Majewski
2013-06-12  5:09     ` Viresh Kumar
2013-06-12  7:39       ` Lukasz Majewski
2013-06-12  8:09         ` Viresh Kumar
2013-06-12  9:09           ` Lukasz Majewski
2013-06-12  9:25             ` Viresh Kumar
2013-06-12 12:30               ` Lukasz Majewski
2013-06-12 11:23         ` Rafael J. Wysocki
2013-06-12 11:40           ` Lukasz Majewski
2013-06-11  9:03   ` [PATCH v2 2/3] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-06-11  9:03   ` [PATCH v2 3/3] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-06-26 11:05     ` Viresh Kumar
2013-06-26 13:58       ` Lukasz Majewski
2013-06-27  4:02         ` Viresh Kumar
2013-06-27  6:31           ` Lukasz Majewski
2013-06-12  5:15   ` [PATCH v2 0/3] cpufreq:boost: CPU Boost mode support Viresh Kumar
2013-06-12  6:00     ` Lukasz Majewski
2013-06-12  6:05       ` Viresh Kumar
2013-06-14  7:38 ` [PATCH v3 " Lukasz Majewski
2013-06-14  7:38   ` [PATCH v3 1/3] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-06-17  5:43     ` Viresh Kumar
2013-06-17  7:15       ` Lukasz Majewski
2013-06-17  7:43         ` Viresh Kumar
2013-06-17  9:08           ` Lukasz Majewski
2013-06-17  9:18             ` Viresh Kumar
2013-06-17  9:18               ` Viresh Kumar
2013-06-17  9:58               ` Lukasz Majewski
2013-06-17  9:58                 ` Lukasz Majewski
2013-06-17 13:10                 ` Viresh Kumar
2013-06-17 13:51                   ` Lukasz Majewski
2013-06-18  6:42                     ` Viresh Kumar
2013-06-18  8:24                       ` Lukasz Majewski
2013-06-18  8:40                         ` Viresh Kumar
2013-06-18  9:12                           ` Lukasz Majewski
2013-06-18 13:26                       ` Rafael J. Wysocki
2013-06-18 13:44                         ` Lukasz Majewski
2013-06-19  7:16                           ` Lukasz Majewski
2013-06-20  5:11                             ` Viresh Kumar
2013-06-20  6:41                               ` Lukasz Majewski
2013-06-20  5:05                           ` Viresh Kumar
2013-06-20  5:01                         ` Viresh Kumar
2013-06-20 10:04                           ` Lukasz Majewski
2013-06-14  7:38   ` [PATCH v3 2/3] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-06-14  7:39   ` [PATCH v3 3/3] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-06-17  3:20   ` [PATCH v3 0/3] cpufreq:boost: CPU Boost mode support Viresh Kumar
2013-06-17  5:41     ` Lukasz Majewski
2013-06-19 17:12 ` [PATCH v4 0/7] " Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 1/7] cpufreq: Store cpufreq policies in a list Lukasz Majewski
2013-06-26 10:35     ` Viresh Kumar
2013-06-26 10:54       ` Lukasz Majewski
2013-06-26 10:56         ` Viresh Kumar
2013-06-26 11:04           ` Lukasz Majewski
2013-06-26 11:08             ` Viresh Kumar
2013-06-26 12:15               ` Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 2/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-06-19 17:48     ` Dirk Brandewie
2013-06-19 20:31       ` Lukasz Majewski
2013-06-19 22:25         ` Rafael J. Wysocki
2013-07-17  7:58           ` Viresh Kumar
2013-07-17 11:31             ` Rafael J. Wysocki
2013-07-17 13:01               ` Viresh Kumar
2013-07-17 14:59                 ` Lukasz Majewski
2013-07-18  7:51                   ` Viresh Kumar
2013-06-20  5:13     ` Viresh Kumar
2013-06-20 20:03       ` Rafael J. Wysocki
2013-06-21  6:23         ` Lukasz Majewski
2013-06-26 10:54     ` Viresh Kumar
2013-06-26 12:54       ` Lukasz Majewski
2013-06-26 14:02         ` Lukasz Majewski
2013-06-27  9:02         ` Viresh Kumar
2013-06-27  9:48           ` Lukasz Majewski
2013-06-27 10:25             ` Viresh Kumar
2013-06-27 11:07               ` Lukasz Majewski
2013-06-27 15:55       ` Lukasz Majewski
2013-06-28  3:40         ` Viresh Kumar
2013-06-28  6:49           ` Lukasz Majewski
2013-06-28  6:51             ` Viresh Kumar
2013-06-28  7:31               ` Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 3/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-06-26 11:03     ` Viresh Kumar
2013-06-26 12:17       ` Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-06-27  8:58     ` Viresh Kumar
2013-06-27  9:08       ` Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 5/7] cpufreq: Calculate number of busy CPUs Lukasz Majewski
2013-06-19 18:01     ` Dirk Brandewie
2013-06-19 20:58       ` Lukasz Majewski
2013-06-19 22:26         ` Rafael J. Wysocki
2013-06-27  9:36     ` Viresh Kumar
2013-06-27 10:58       ` Lukasz Majewski
2013-06-27 11:16         ` Viresh Kumar
2013-06-27 14:42           ` Lukasz Majewski
2013-06-28  3:50             ` Viresh Kumar
2013-06-28  6:54               ` Lukasz Majewski
2013-07-01  8:15                 ` Lukasz Majewski
2013-07-04  5:06                   ` Viresh Kumar
2013-07-04  5:43                     ` Lukasz Majewski
2013-07-04  6:28                       ` Viresh Kumar
2013-07-04  6:49                         ` Lukasz Majewski
2013-07-04 12:50                     ` Rafael J. Wysocki
2013-06-19 17:12   ` [PATCH v4 6/7] cpufreq: Enable software boost only when up to one busy core is running Lukasz Majewski
2013-06-19 17:12   ` [PATCH v4 7/7] thermal:boost: Disable boost when trip point is reached Lukasz Majewski
2013-06-26  7:48   ` [PATCH v4 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-06-26  7:52     ` Viresh Kumar
2013-07-04  8:50 ` [PATCH v5 " Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 1/7] cpufreq: Store cpufreq policies in a list Lukasz Majewski
2013-07-16  8:51     ` Viresh Kumar
2013-07-16  9:39       ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 2/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-07-16  9:41     ` Viresh Kumar
2013-07-16 12:06       ` Lukasz Majewski
2013-07-17  5:28         ` Viresh Kumar
2013-07-17  7:00           ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 3/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-07-16 10:04     ` Viresh Kumar
2013-07-16 11:17       ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-07-16  9:48     ` Viresh Kumar
2013-07-16 10:58       ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 5/7] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-07-04 17:19     ` R, Durgadoss
2013-07-04 20:58       ` Lukasz Majewski
2013-07-05  5:31         ` R, Durgadoss
2013-07-05  6:43           ` Lukasz Majewski
2013-07-11  8:08     ` Lukasz Majewski
2013-07-16  7:28       ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 6/7] cpufreq:boost:Kconfig: Enable software managed BOOST support at Kconfig Lukasz Majewski
2013-07-16  9:58     ` Viresh Kumar
2013-07-16 11:50       ` Lukasz Majewski
2013-07-17  5:24         ` Viresh Kumar
2013-07-17  7:17           ` Lukasz Majewski
2013-07-17  7:52             ` Viresh Kumar
2013-07-17  8:12               ` Lukasz Majewski
2013-07-17  8:29                 ` Viresh Kumar
2013-07-17  9:11                   ` Lukasz Majewski
2013-07-04  8:50   ` [PATCH v5 7/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-07-16 10:01     ` Viresh Kumar
2013-07-16 11:33       ` Lukasz Majewski
2013-07-17  5:22         ` Viresh Kumar
2013-07-17  7:36           ` Lukasz Majewski
2013-07-17  7:59             ` Viresh Kumar
2013-07-17  8:13               ` Lukasz Majewski
2013-07-09  7:02   ` [PATCH v5 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-07-09  7:04     ` Viresh Kumar
2013-07-16  7:26     ` Lukasz Majewski
2013-07-16  8:46       ` Viresh Kumar
2013-07-16  9:09         ` Lukasz Majewski
2013-07-25 16:33 ` [PATCH v6 0/8] " Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 1/8] cpufreq: Store cpufreq policies in a list Lukasz Majewski
2013-07-26 10:14     ` Viresh Kumar
2013-07-26 10:58       ` Lukasz Majewski
2013-07-26 11:02         ` Viresh Kumar
2013-07-26 12:46           ` Lukasz Majewski
2013-07-29  7:03             ` Viresh Kumar
2013-07-25 16:33   ` [PATCH v6 2/8] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-07-26  7:17     ` Viresh Kumar
2013-07-26  8:33       ` Lukasz Majewski
2013-07-26  9:33         ` Viresh Kumar
2013-07-26 10:10           ` Lukasz Majewski
2013-07-26  9:36         ` Viresh Kumar
2013-07-26 10:11           ` Lukasz Majewski
2013-08-12  9:07           ` Lukasz Majewski
2013-08-12  9:10             ` Viresh Kumar
2013-07-26 12:36         ` Rafael J. Wysocki
2013-07-26 13:08           ` Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 3/8] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-07-26  7:28     ` Viresh Kumar
2013-07-26  8:09       ` Lukasz Majewski
2013-07-26  9:24         ` Viresh Kumar
2013-07-26  9:44           ` Lukasz Majewski
2013-08-12  9:12           ` Lukasz Majewski
2013-08-12  9:14             ` Viresh Kumar
2013-07-25 16:33   ` [PATCH v6 4/8] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-08-12  9:17     ` Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 5/8] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-07-26 10:24     ` Viresh Kumar
2013-07-26 11:21       ` Lukasz Majewski
2013-07-29  6:58         ` Viresh Kumar
2013-08-12 10:26           ` Lukasz Majewski
2013-08-12 10:28             ` Viresh Kumar
2013-08-12 10:50               ` Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 6/8] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-07-26 10:26     ` Viresh Kumar
2013-07-26 11:26       ` Lukasz Majewski
2013-07-29  7:01         ` Viresh Kumar
2013-08-12  9:52       ` Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 7/8] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-07-25 16:33   ` [PATCH v6 8/8] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-07-26 10:28   ` [PATCH v6 0/8] cpufreq:boost: CPU Boost mode support Viresh Kumar
2013-08-13 10:08 ` [PATCH v7 0/7] " Lukasz Majewski
2013-08-13 10:08   ` [PATCH v7 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-08-26  5:28     ` Viresh Kumar
2013-08-26  7:02       ` Lukasz Majewski
2013-08-26  7:06         ` Viresh Kumar
2013-08-26  7:11           ` Lukasz Majewski
2013-08-26 13:12             ` Rafael J. Wysocki
2013-08-26 14:00               ` Viresh Kumar
2013-08-26 14:46                 ` Lukasz Majewski
2013-08-13 10:08   ` [PATCH v7 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-08-26  5:32     ` Viresh Kumar
2013-08-13 10:08   ` [PATCH v7 3/7] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-08-26  5:33     ` Viresh Kumar
2013-08-26  6:50       ` Lukasz Majewski
2013-08-13 10:08   ` [PATCH v7 4/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-08-26  5:35     ` Viresh Kumar
2013-08-13 10:08   ` [PATCH v7 5/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-08-26  5:36     ` Viresh Kumar
2013-08-13 10:08   ` [PATCH v7 6/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-08-26  5:36     ` Viresh Kumar
2013-08-13 10:08   ` [PATCH v7 7/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-08-26  5:37     ` Viresh Kumar
2013-08-19  6:38   ` [PATCH v7 0/7] cpufreq:boost: CPU Boost mode support Viresh Kumar
2013-08-19  6:50     ` Lukasz Majewski
2013-08-19 23:29       ` Rafael J. Wysocki
2013-08-20  8:11         ` Lukasz Majewski
2013-08-20 12:32           ` Rafael J. Wysocki
2013-08-26 15:50 ` [PATCH v8 " Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 3/7] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 4/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 5/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 6/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-08-26 15:50   ` [PATCH v8 7/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-09-20 16:00 ` [PATCH RESEND v8 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-09-20 16:00   ` [PATCH RESEND v8 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-09-20 16:00   ` [PATCH RESEND v8 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-09-20 16:01   ` [PATCH RESEND v8 3/7] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-09-20 16:01   ` [PATCH RESEND v8 4/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-09-20 16:01   ` [PATCH RESEND v8 5/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-09-20 16:01   ` [PATCH RESEND v8 6/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-09-20 16:01   ` [PATCH RESEND v8 7/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-10-14 12:17 ` [PATCH v9 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 3/7] thermal:boost: Automatic enable/disable of BOOST feature Lukasz Majewski
2013-10-15  9:32     ` Zhang Rui
2013-10-15 15:43       ` Lukasz Majewski
2013-10-17 15:09         ` Zhang, Rui
2013-10-14 12:17   ` [PATCH v9 4/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 5/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 6/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-10-14 12:17   ` [PATCH v9 7/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-11-05 17:26 ` [PATCH v10 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-11-05 17:26   ` [PATCH v10 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2013-11-28 13:05     ` Lukasz Majewski
2013-12-02 14:53     ` Eduardo Valentin
2013-12-02 14:53       ` Eduardo Valentin
2013-12-03  7:31       ` Lukasz Majewski
2013-12-03 12:36         ` Eduardo Valentin
2013-12-03 12:36           ` Eduardo Valentin
2013-12-03 15:42           ` Lukasz Majewski
2013-12-04 14:10             ` Eduardo Valentin
2013-12-04 14:10               ` Eduardo Valentin
2013-12-05 11:03               ` Lukasz Majewski
2013-12-05 13:25                 ` Eduardo Valentin
2013-12-05 13:25                   ` Eduardo Valentin
2013-12-06 14:03                   ` Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-02 12:19   ` [PATCH RESEND v10 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2013-12-04  6:59   ` [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-12-04 14:12     ` Eduardo Valentin
2013-12-04 14:12       ` Eduardo Valentin
2013-12-09 10:04       ` Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 " Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-13 16:38   ` [PATCH v11 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2013-12-19 14:50     ` Eduardo Valentin
2013-12-19 14:50       ` Eduardo Valentin
2013-12-20 14:24 ` [PATCH v12 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-20 14:24   ` [PATCH v12 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2014-01-10  6:35     ` Zhang Rui
2014-01-07  6:58   ` [PATCH v12 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2014-01-08  0:35     ` Rafael J. Wysocki
2014-01-09  7:19       ` Lukasz Majewski
2014-01-10  6:33       ` Zhang Rui
2014-01-16  9:40         ` Lukasz Majewski
2014-01-16 15:51           ` Rafael J. Wysocki
2014-01-16 15:56             ` Lukasz Majewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKohpok3KTfSWDU6PdDd4_VW4Pp+6J80yn5cLrYr5RuBNH-agA@mail.gmail.com \
    --to=viresh.kumar@linaro.org \
    --cc=andre.przywara@linaro.org \
    --cc=cpufreq@vger.kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=jonghwa3.lee@samsung.com \
    --cc=l.majewski@majess.pl \
    --cc=l.majewski@samsung.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=rjw@sisk.pl \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.