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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <amit.kachhap@xxxxxxxxxx>
> > 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 <guenter.roeck@xxxxxxxxxxxx>
> > Cc: SangWook Ju <sw.ju@xxxxxxxxxxx>
> > Cc: Durgadoss <durgadoss.r@xxxxxxxxx>
> > Cc: Len Brown <lenb@xxxxxxxxxx>
> > Cc: Jean Delvare <khali@xxxxxxxxxxxx>
> > Cc: Kyungmin Park <kmpark@xxxxxxxxxxxxx>
> > Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx>
> 
> 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-pm@xxxxxxxxxxxxxxx.  The linux-pm list at
linux-foundation.org is not functional any more.

Thanks,
Rafael


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux