Smartreflex

(Enabling Smartreflex)
 
(9 intermediate revisions not shown)
Line 3: Line 3:
::''"SmartReflex is an advanced, multi-level and multi-parameter power management approach that can be found at some TI DSPs of the OMAP35x series."''[http://www.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12032&contentId=4609]
::''"SmartReflex is an advanced, multi-level and multi-parameter power management approach that can be found at some TI DSPs of the OMAP35x series."''[http://www.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12032&contentId=4609]
-
'''TL;DR.''' SmartReflex is a nifty way of scaling the voltage of the processor in a way similar to frequency scaling.  That is, voltage is increased as it is required.  Conversely it is decreased as it is not required.  Most users report that this has lead to an increase of around 1/3 battery life. (DISCLAIMER:1/3 battery life is dependent on a particular users set up and style of use.)
+
SmartReflex is a nifty way of scaling the voltage of the processor in a way similar to frequency scaling.  That is, voltage is increased as it is required.  Conversely it is decreased as it is not required.  Most users report that this has lead to an increase of around 1/3 battery life. (DISCLAIMER:1/3 battery life is dependent on a particular users set up and style of use.)
-
This module adjusts OMAP3 VDD1 and VDD2 operating voltages around the nominal values of current operating point depending on silicon characteristics and operating conditions.  
+
This module adjusts OMAP3 VDD1 and VDD2 operating voltages around the nominal values of current operating point depending on silicon characteristics and operating conditions.
==SR on the Stock Nokia kernel==
==SR on the Stock Nokia kernel==
-
Smartreflex has been considered broken for a long time. Using the stock Nokia kernel it can only be activated up to 805MHz at most.  The Stock Nokia kernel implementation of SmartReflex is to be considered broken and its use is to be avoided.
+
Smartreflex has been considered broken for a long time. The Stock Nokia kernel implementation of SmartReflex is to be considered broken and its use is to be avoided as it has been reported to be unstable on some devices
Due to it's instability and multiple bug reports:-
Due to it's instability and multiple bug reports:-
-
''"Nokia decided that SR will be kept disabled. In the next public update (PR 1.3) it will be made possible for advanced users to enable it if wanted."''  
+
''"Nokia decided that SR will be kept disabled. In the next public update (PR 1.3) it will be made possible for advanced users to enable it if wanted."''
==Kernel Power==
==Kernel Power==
-
Since [[Kernel Power]] 50 (KP50), despite some disagreements amongst some of the more senior Maemo developers, SmartReflex can now be considered stable up 900MHz.
+
Since [[Kernel Power]] 50 (KP50), despite some disagreements amongst some of the more senior Maemo developers, SmartReflex can now be considered stable up 900MHz with stock DSP frequencies and up to 600Mhz for overclocked DSP.
*''I know I just said SR is stable up to 900MHz however some users have reported that on their devices SR is only stable up to lower frequencies (720-805MHz for example).  For more examples on tuning SR see the KP50 article.
*''I know I just said SR is stable up to 900MHz however some users have reported that on their devices SR is only stable up to lower frequencies (720-805MHz for example).  For more examples on tuning SR see the KP50 article.
''
''
 +
==Enabling Smartreflex==
==Enabling Smartreflex==
-
===Terminal===
+
===Temporarily from terminal===
-
Assuming you are using [[Kernel Power]] the instruction for use are:-
+
echo 1 > /sys/power/sr_vdd1_autocomp
 +
echo 1 > /sys/power/sr_vdd2_autocomp
-
[[http://wiki.maemo.org/Kernel_Power#Use_of_kernel-config Use of Kernel Power Configuration]]
+
This setting is not persistent and will reset to default after a reboot. It is recommended you test with this method first to determine if SR will work for your setup.
 +
===Terminal===
-
===Alternative Terminal Method===
+
To eneble smartreflex persistently edit /etc/pmconfig
-
 
+
-
This alternative method can be used even if Stock Kernel is used.
+
  sudo leafpad /etc/pmconfig
  sudo leafpad /etc/pmconfig
-
Use leafpad text editor to change, sr_vdd_autocomp to:-
+
Use leafpad text editor to change, sr_vddX_autocomp values to: 1
  sr_vdd1_autocomp 1
  sr_vdd1_autocomp 1
  sr_vdd2_autocomp 1  
  sr_vdd2_autocomp 1  
 +
''Warning! If you set overclock voltages above that which smartreflex is stable AND you enable SR from /etc/pmconfig you WILL get a re-boot loop.  You will need to re-flash to fix.''
===GUI===
===GUI===
[[http://maemo.org/downloads/product/Maemo5/qcpufreq/ QCPUFreq]] application has an option to enable Smartreflex via GUI.
[[http://maemo.org/downloads/product/Maemo5/qcpufreq/ QCPUFreq]] application has an option to enable Smartreflex via GUI.
-
However it currently only changes VDD1 values.
+
However it currently only enables VDD1 and disables both VDD1 and VDD2 values together if previously enabled. This [[http://talk.maemo.org/showpost.php?p=1157835&postcount=180 script]] from talk.maemo.org has been tested by at least two users and modifies QCPUFreq to enable and disable both values together.
 +
 
 +
If you know a GUI method that works out of the box please edit.

Latest revision as of 09:43, 2 August 2012

Contents

[edit] The official explanation

"SmartReflex is an advanced, multi-level and multi-parameter power management approach that can be found at some TI DSPs of the OMAP35x series."[1]

SmartReflex is a nifty way of scaling the voltage of the processor in a way similar to frequency scaling. That is, voltage is increased as it is required. Conversely it is decreased as it is not required. Most users report that this has lead to an increase of around 1/3 battery life. (DISCLAIMER:1/3 battery life is dependent on a particular users set up and style of use.)

This module adjusts OMAP3 VDD1 and VDD2 operating voltages around the nominal values of current operating point depending on silicon characteristics and operating conditions.

[edit] SR on the Stock Nokia kernel

Smartreflex has been considered broken for a long time. The Stock Nokia kernel implementation of SmartReflex is to be considered broken and its use is to be avoided as it has been reported to be unstable on some devices


Due to it's instability and multiple bug reports:-

"Nokia decided that SR will be kept disabled. In the next public update (PR 1.3) it will be made possible for advanced users to enable it if wanted."

[edit] Kernel Power

Since Kernel Power 50 (KP50), despite some disagreements amongst some of the more senior Maemo developers, SmartReflex can now be considered stable up 900MHz with stock DSP frequencies and up to 600Mhz for overclocked DSP.

  • I know I just said SR is stable up to 900MHz however some users have reported that on their devices SR is only stable up to lower frequencies (720-805MHz for example). For more examples on tuning SR see the KP50 article.

[edit] Enabling Smartreflex

[edit] Temporarily from terminal

echo 1 > /sys/power/sr_vdd1_autocomp
echo 1 > /sys/power/sr_vdd2_autocomp

This setting is not persistent and will reset to default after a reboot. It is recommended you test with this method first to determine if SR will work for your setup.

[edit] Terminal

To eneble smartreflex persistently edit /etc/pmconfig

sudo leafpad /etc/pmconfig

Use leafpad text editor to change, sr_vddX_autocomp values to: 1

sr_vdd1_autocomp 1
sr_vdd2_autocomp 1 

Warning! If you set overclock voltages above that which smartreflex is stable AND you enable SR from /etc/pmconfig you WILL get a re-boot loop. You will need to re-flash to fix.

[edit] GUI

[QCPUFreq] application has an option to enable Smartreflex via GUI. However it currently only enables VDD1 and disables both VDD1 and VDD2 values together if previously enabled. This [script] from talk.maemo.org has been tested by at least two users and modifies QCPUFreq to enable and disable both values together.

If you know a GUI method that works out of the box please edit.