Thermal framework enhancements for non-ACPI platforms

Registered by Mounir Bsaibes on 2011-12-15

This blueprint is superseeded by the https://cards.linaro.org/browse/CARD-777 and its sub-isues.

Continuation of https://blueprints.launchpad.net/linaro-power-kernel/+spec/thermal-framework-upstream-changes-for-non-acpi-platforms: Fix the thermal framework to be more useful on ARM platforms

Blueprint information

Status:
Complete
Approver:
Amit Kucheria
Priority:
High
Drafter:
Amit Daniel Kachhap
Direction:
Approved
Assignee:
sanjay singh rawat
Definition:
Superseded
Series goal:
Accepted for trunk
Implementation:
Good progress
Milestone target:
milestone icon backlog
Started by
Mounir Bsaibes on 2012-01-30
Completed by
Serge Broslavsky on 2013-09-19

Related branches

Sprints

Whiteboard

Meta:
Headline: Fix the thermal framework to be more useful on ARM platforms
Acceptance: Member boards boot correctly, the drivers function correctly and pass thermal tests.
Roadmap id: PMWG2011-THERMAL-MANAGEMENT

[ototo, 2013-02-01] Updating milestone due to the work still being done.

(?)

Work Items

Work items for 2012.01:
Write a cpufreq cooling device that caps the frequency: DONE
Some modifications found after review like make the exynos layer expose registration api's and make it instance based which will make multiple sensor registration possible: DONE
Use the temperature information in thermal layer to generate some useful information like temperature drop per cooling state : DONE
Compare the benefits of cooling statistics per cooling state or per trip point. Although per cooling state statistics seems more logical but the current core thermal use cases works on per trip basis, so the final statistics selected was per trip type: DONE
Test and analyse the statistics generated over uniform workload and final results after many iterations should come close to actual cooling achieved: DONE
Fine tuning of cpufreq/cpuhotplug based cooling devices to be now instance based (needed for multi core systems): DONE

Work items for 2012.02:
Remove ACPI'isms and send to mainline(this workitem to be broken into smaller workitem): DONE
Some modifications found after review like make the exynos layer expose registration Compare the benefits of cooling statistics per cooling state or per trip point. Although per cooling state statistics seems more logical but the current core thermal use cases: DONE
Rework common cpu cooling implementation according to the comments and submitted V2: DONE

Work items for 2012.03:
Work with TI Landing team to test thermal management solution on OMAP: DONE
Added a notifier mechanism to notify the user for any change in frequency: DONE
Basic non-pmqa thermal script developed and tested for android and ubuntu: DONE
Break the thermal script into functionality testing(eq sensor driver present, thermal sysfs present, change user/kernel policy, how many trip points etc): DONE

Work items for 2012.04:
Extend OMAP hwmon driver to register as a sensor with thermal framework, implemented by Dave long: DONE
Add dynamic trip numbers support from the current static approach of setting trip count to 12, patch already present: DONE
Break the thermal script into regression testing (check if temperature is changing, check if trip points reached, frequency is clipped etc): DONE

Work items for 2012.05:
Implement automated thermal tests for Unbuntu and integrate with LAVA: DONE
Implement automated thermal tests for Android and integrate with LAVA: DONE

Work items for 2012.10:
Upstream generic cooling device to 3.7: DONE

Work items for 2012.12:
Analyse ways to have more than one temp sensor and how to share cooling devices between 2 thermal zones: DONE

Work items for 2013.01:
Get feedback from thermal tests PM-QA for all platforms and enable by default in LAVA: DONE

Work items for 2013.07:
Analyse and Intergrate devfreq cooling as a wrapper over cpufreq cooling devices: TODO
Land thermal management for all member platforms into the Linaro release: BLOCKED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.