Re: [linux-pm] [PATCH RESEND] thermal: add generic cpufreq cooling implementation

2012-09-11 Thread amit kachhap
On Mon, Sep 10, 2012 at 3:25 PM, Zhang Rui  wrote:
> Refreshed to remove the notifier mechanism as we do not have a real user of 
> it.
> if there is no problem, I'll apply the whole patch set to thermal next tree.

The removal of notification API looks fine. Thanks for refreshing this.

Thanks,
Amit Daniel
>
> From: Amit Daniel Kachhap 
> Date: Thu, 16 Aug 2012 17:11:40 +0530
>
> This patchset introduces a new generic cooling device based on cpufreq
> that can be used on non-ACPI platforms.  As a proof of concept, we have
> drivers for the following platforms using this mechanism now:
>
>  * Samsung Exynos (Exynos4 and Exynos5) in the current patchset.
>  * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git 
> imx6q_thermal)
>
> There is a small change in cpufreq cooling registration APIs, so a minor
> change is needed for Freescale platforms.
>
> Brief Description:
>
> 1) The generic cooling devices code is placed inside driver/thermal/*
>as placing inside acpi folder will need un-necessary enabling of acpi
>code.  This code is architecture independent.
>
> 2) This patchset adds generic cpu cooling low level implementation
>through frequency clipping.  In future, other cpu related cooling
>devices may be added here.  An ACPI version of this already exists
>(drivers/acpi/processor_thermal.c) .But this will be useful for
>platforms like ARM using the generic thermal interface along with the
>generic cpu cooling devices.  The cooling device registration API's
>return cooling device pointers which can be easily binded with the
>thermal zone trip points.  The important APIs exposed are,
>
>a) struct thermal_cooling_device *cpufreq_cooling_register(
> struct cpumask *clip_cpus)
>b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
>
> 3) Samsung exynos platform thermal implementation is done using the
>generic cpu cooling APIs and the new trip type.  The temperature sensor
>driver present in the hwmon folder(registered as hwmon driver) is moved
>to thermal folder and registered as a thermal driver.
>
> A simple data/control flow diagrams is shown below,
>
> Core Linux thermal <->  Exynos thermal interface <- Temperature Sensor
>   | |
>  \|/|
>   Cpufreq cooling device <---
>
> TODO:
> *Will send the DT enablement patches later after the driver is merged.
>
> This patch:
>
> Add support for generic cpu thermal cooling low level implementations
> using frequency scaling up/down based on the registration parameters.
> Different cpu related cooling devices can be registered by the user and
> the binding of these cooling devices to the corresponding trip points can
> be easily done as the registration APIs return the cooling device pointer.
> The user of these APIs are responsible for passing clipping frequency .
> The drivers can also register to recieve notification about any cooling
> action called.
>
> Cc: Guenter Roeck 
> Cc: SangWook Ju 
> Cc: Durgadoss 
> Cc: Len Brown 
> Cc: Jean Delvare 
> Cc: Kyungmin Park 
> Cc: Kukjin Kim 
> Signed-off-by: Zhang Rui 
> Signed-off-by: Andrew Morton 
> Signed-off-by: Amit Daniel Kachhap 
> ---
>  Documentation/thermal/cpu-cooling-api.txt |   33 ++
>  drivers/thermal/Kconfig   |   11 +
>  drivers/thermal/Makefile  |1 +
>  drivers/thermal/cpu_cooling.c |  450 
> +
>  include/linux/cpu_cooling.h   |   58 
>  5 files changed, 553 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/thermal/cpu-cooling-api.txt
>  create mode 100644 drivers/thermal/cpu_cooling.c
>  create mode 100644 include/linux/cpu_cooling.h
>
> diff --git a/Documentation/thermal/cpu-cooling-api.txt 
> b/Documentation/thermal/cpu-cooling-api.txt
> new file mode 100644
> index 000..6fe9cdb
> --- /dev/null
> +++ b/Documentation/thermal/cpu-cooling-api.txt
> @@ -0,0 +1,33 @@
> +CPU cooling APIs How To
> +===
> +
> +Written by Amit Daniel Kachhap 
> +
> +Updated: 12 May 2012
> +
> +Copyright (c)  2012 Samsung Electronics Co., Ltd(http://www.samsung.com)
> +
> +0. Introduction
> +
> +The generic cpu cooling(freq clipping) provides registration/unregistration 
> APIs
> +to the caller. The binding of the cooling devices to the trip point is left 
> for
> +the user. The registration APIs returns the cooling device pointer.
> +
> +1. cpu cooling APIs
> +
> +1.1 cpufreq registration/unregistration APIs
> +1.1.1 struct thermal_cooling_device *cpufreq_cooling_register(
> +   struct cpumask *clip_cpus)
> +
> +This interface function registers the cpufreq cooling device with the 
> name
> +"thermal-cpufreq-%x". This api can support multiple instances of cpufreq
> +cooling devices.
> +
> +   clip_cpus: cpumask of cpus where the frequency constraints will happen.
> +
> +1.1.2 void c

Re: [linux-pm] [PATCH RESEND] thermal: add generic cpufreq cooling implementation

2012-09-10 Thread Rafael J. Wysocki
On Monday, September 10, 2012, Zhang Rui wrote:
> Refreshed to remove the notifier mechanism as we do not have a real user of 
> it.
> if there is no problem, I'll apply the whole patch set to thermal next tree.
> 
> From: Amit Daniel Kachhap 
> Date: Thu, 16 Aug 2012 17:11:40 +0530
> 
> This patchset introduces a new generic cooling device based on cpufreq
> that can be used on non-ACPI platforms.  As a proof of concept, we have
> drivers for the following platforms using this mechanism now:
> 
>  * Samsung Exynos (Exynos4 and Exynos5) in the current patchset.
>  * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git 
> imx6q_thermal)
> 
> There is a small change in cpufreq cooling registration APIs, so a minor
> change is needed for Freescale platforms.
> 
> Brief Description:
> 
> 1) The generic cooling devices code is placed inside driver/thermal/*
>as placing inside acpi folder will need un-necessary enabling of acpi
>code.  This code is architecture independent.
> 
> 2) This patchset adds generic cpu cooling low level implementation
>through frequency clipping.  In future, other cpu related cooling
>devices may be added here.  An ACPI version of this already exists
>(drivers/acpi/processor_thermal.c) .But this will be useful for
>platforms like ARM using the generic thermal interface along with the
>generic cpu cooling devices.  The cooling device registration API's
>return cooling device pointers which can be easily binded with the
>thermal zone trip points.  The important APIs exposed are,
> 
>a) struct thermal_cooling_device *cpufreq_cooling_register(
> struct cpumask *clip_cpus)
>b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
> 
> 3) Samsung exynos platform thermal implementation is done using the
>generic cpu cooling APIs and the new trip type.  The temperature sensor
>driver present in the hwmon folder(registered as hwmon driver) is moved
>to thermal folder and registered as a thermal driver.
> 
> A simple data/control flow diagrams is shown below,
> 
> Core Linux thermal <->  Exynos thermal interface <- Temperature Sensor
>   | |
>  \|/|
>   Cpufreq cooling device <---
> 
> TODO:
> *Will send the DT enablement patches later after the driver is merged.
> 
> This patch:
> 
> Add support for generic cpu thermal cooling low level implementations
> using frequency scaling up/down based on the registration parameters.
> Different cpu related cooling devices can be registered by the user and
> the binding of these cooling devices to the corresponding trip points can
> be easily done as the registration APIs return the cooling device pointer.
> The user of these APIs are responsible for passing clipping frequency .
> The drivers can also register to recieve notification about any cooling
> action called.
> 
> Cc: Guenter Roeck 
> Cc: SangWook Ju 
> Cc: Durgadoss 
> Cc: Len Brown 
> Cc: Jean Delvare 
> Cc: Kyungmin Park 
> Cc: Kukjin Kim 
> Signed-off-by: Zhang Rui 
> Signed-off-by: Andrew Morton 
> Signed-off-by: Amit Daniel Kachhap 

Can you please resend the patch inline (i.e. not as an attachment)?

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-pm] [PATCH RESEND] thermal: add generic cpufreq cooling implementation

2012-09-10 Thread Rafael J. Wysocki
On Monday, September 10, 2012, Rafael J. Wysocki wrote:
> On Monday, September 10, 2012, Zhang Rui wrote:
> > Refreshed to remove the notifier mechanism as we do not have a real user of 
> > it.
> > if there is no problem, I'll apply the whole patch set to thermal next tree.
> > 
> > From: Amit Daniel Kachhap 
> > Date: Thu, 16 Aug 2012 17:11:40 +0530
> > 
> > This patchset introduces a new generic cooling device based on cpufreq
> > that can be used on non-ACPI platforms.  As a proof of concept, we have
> > drivers for the following platforms using this mechanism now:
> > 
> >  * Samsung Exynos (Exynos4 and Exynos5) in the current patchset.
> >  * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git 
> > imx6q_thermal)
> > 
> > There is a small change in cpufreq cooling registration APIs, so a minor
> > change is needed for Freescale platforms.
> > 
> > Brief Description:
> > 
> > 1) The generic cooling devices code is placed inside driver/thermal/*
> >as placing inside acpi folder will need un-necessary enabling of acpi
> >code.  This code is architecture independent.
> > 
> > 2) This patchset adds generic cpu cooling low level implementation
> >through frequency clipping.  In future, other cpu related cooling
> >devices may be added here.  An ACPI version of this already exists
> >(drivers/acpi/processor_thermal.c) .But this will be useful for
> >platforms like ARM using the generic thermal interface along with the
> >generic cpu cooling devices.  The cooling device registration API's
> >return cooling device pointers which can be easily binded with the
> >thermal zone trip points.  The important APIs exposed are,
> > 
> >a) struct thermal_cooling_device *cpufreq_cooling_register(
> > struct cpumask *clip_cpus)
> >b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
> > 
> > 3) Samsung exynos platform thermal implementation is done using the
> >generic cpu cooling APIs and the new trip type.  The temperature sensor
> >driver present in the hwmon folder(registered as hwmon driver) is moved
> >to thermal folder and registered as a thermal driver.
> > 
> > A simple data/control flow diagrams is shown below,
> > 
> > Core Linux thermal <->  Exynos thermal interface <- Temperature 
> > Sensor
> >   | |
> >  \|/|
> >   Cpufreq cooling device <---
> > 
> > TODO:
> > *Will send the DT enablement patches later after the driver is merged.
> > 
> > This patch:
> > 
> > Add support for generic cpu thermal cooling low level implementations
> > using frequency scaling up/down based on the registration parameters.
> > Different cpu related cooling devices can be registered by the user and
> > the binding of these cooling devices to the corresponding trip points can
> > be easily done as the registration APIs return the cooling device pointer.
> > The user of these APIs are responsible for passing clipping frequency .
> > The drivers can also register to recieve notification about any cooling
> > action called.
> > 
> > Cc: Guenter Roeck 
> > Cc: SangWook Ju 
> > Cc: Durgadoss 
> > Cc: Len Brown 
> > Cc: Jean Delvare 
> > Cc: Kyungmin Park 
> > Cc: Kukjin Kim 
> > Signed-off-by: Zhang Rui 
> > Signed-off-by: Andrew Morton 
> > Signed-off-by: Amit Daniel Kachhap 
> 
> Can you please resend the patch inline (i.e. not as an attachment)?

Sorry, it was inline (obviously).  I seem to be too tired.

Please resend it to linux...@vger.kernel.org.  The linux-pm list at
linux-foundation.org is not functional any more.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html