The Following 2 Users Say Thank You to itsnotabigtruck For This Useful Post: | ||
|
2012-04-05
, 05:15
|
Posts: 153 |
Thanked: 81 times |
Joined on Oct 2011
@ New Zealand
|
#82
|
|
2012-04-05
, 06:06
|
Posts: 1,463 |
Thanked: 1,916 times |
Joined on Feb 2008
@ Edmonton, AB
|
#83
|
|
2012-04-05
, 06:36
|
Posts: 313 |
Thanked: 247 times |
Joined on Jan 2010
@ USA
|
#84
|
The n9 and n950 have different default voltages, I wonder why...
Anyways, by default smartreflex is allowed to lower the voltage of the 1000mhz by 50,000uv. Maybe it's designed to detect a different type of problem, but when I overclock it, it still lowers the voltage by the full 50k and the phone reboots as soon as you touch it (@ 1200mhz anyways). You would think disabling smartreflex is the obvious solution, but I prefer to leave it enabled. I am just patching something so it can do what it wants with the lower speeds, you will still get the same battery life when the device is idle or getting light usage that way. I raised the starting point of the 1000mhz voltage to 1375000 instead. This is the max allowed for the chip according to the data in our kernel. The defaults on the n9 and n950 is actually 1225000 and 1350000 respectively. Smartreflex usually is going to lower it by 50k uv but I'm just changing that 50,000 to 0 so it won't be able to change it. That only affects the 1000mhz profile though, so the others will still reduce by whatever it feels like. LATER I will allow you to change this 50k number yourself, so if you want 1150 mhz it won't force the high voltage. But for now, any mhz > 1100 will bump up the voltage to the max.
Now I'm just testing this, I will edit this post when the new version is online...
|
2012-04-05
, 06:44
|
Posts: 1,463 |
Thanked: 1,916 times |
Joined on Feb 2008
@ Edmonton, AB
|
#85
|
|
2012-04-05
, 06:49
|
Posts: 313 |
Thanked: 247 times |
Joined on Jan 2010
@ USA
|
#86
|
It doesn't though, it actually runs at the nominal voltage which is the minimum voltage required to run the worst sample of silicon they manufactured.
There's also this in voltage.c:
/* VDD1 */
static struct omap_volt_data omap34xx_vdd1_volt_data[] = {
{.u_volt_nominal = 975000, .sr_errminlimit = 0xF4,
.vp_errorgain = 0x0C},
{.u_volt_nominal = 1075000, .sr_errminlimit = 0xF4,
.vp_errorgain = 0x0C},
{.u_volt_nominal = 1200000, .sr_errminlimit = 0xF9,
.vp_errorgain = 0x18},
{.u_volt_nominal = 1270000, .sr_errminlimit = 0xF9,
.vp_errorgain = 0x18},
{.u_volt_nominal = 1350000, .sr_errminlimit = 0xF9,
.vp_errorgain = 0x18},
};
I think I was wrong about the dyn_margin though. What it does it start at the nominal voltage and reduce it until it hits errminlimit, then raises it up 50k.
Anyways, on my phone, if i don't even touch anything and just read the data I get
1375000 <<max
1225000 <<nominal
50000 << margin
1175000 << optimized
I thought it's taking nominal - 50k to get optimized, but its actually taking optimized + 50k to get nominal.
I'll try changing the errlimit to like 1 and see what happens.
|
2012-04-05
, 07:30
|
Posts: 1,463 |
Thanked: 1,916 times |
Joined on Feb 2008
@ Edmonton, AB
|
#87
|
|
2012-04-05
, 07:43
|
Posts: 1,463 |
Thanked: 1,916 times |
Joined on Feb 2008
@ Edmonton, AB
|
#88
|
The Following 5 Users Say Thank You to Creamy Goodness For This Useful Post: | ||
|
2012-04-05
, 09:07
|
Posts: 110 |
Thanked: 62 times |
Joined on Mar 2012
|
#89
|
I will try to improve stability of the module, and add more features. I was hoping someone else can start work on a script that we can install to init.d to load the module on boot.
Are you saying you would like to help write a QML & C++ interface to the /proc/opptimizer sysfs? Just please upload source to https://gitorious.org/ if you want help. I'm not sure how to install the modules automatically yet so I don't suggest to start with that.
The Following User Says Thank You to pipould For This Useful Post: | ||
|
2012-04-05
, 09:16
|
Posts: 153 |
Thanked: 81 times |
Joined on Oct 2011
@ New Zealand
|
#90
|
sh installOC.sh sh activateOC.sh setFreq1.1ghzSRoff.sh
sh activateOC.sh sh setFreq1.1ghzSR.sh
The Following 2 Users Say Thank You to HanzBlix For This Useful Post: | ||
Instead, use the Aegis manifest to assert tcb and CAP::sys_module credentials for your initscript. This will then make it possible to whitelist the kernel module and load it in order to perform the actual overclock.
If you need any advice, feel free to hit me up on IRC! (official INCEPTION channel: #inception on Freenode)
Calendarrr | ad-hac | sparsify | aegisctl
MilkyTracker | Mosh
Firmware Flashing Guide