• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[KERNEL][CM9][I9000] Mackay kernel ICS Final (4 flavours, 12-Aug-2012)

Search This thread

chiwou

Senior Member
Mar 23, 2012
310
62
Kassel
Always watch it in the late afternoon, the 100m sprint was impressive


Just tested the new version, didn't last :) After 2min BSOD, well maybe next time

So good night
-Chris
 

ddd613

Senior Member
Jul 3, 2011
358
35
Budapest
When I try unlock, freeze whith black screen. Used live OC 120%, 110% as usual with other kernel.

At live oc phone never use the lower Hz.

Sent from my GT-I9000 BlueBerry ICS with Mackay
 

sUsH667

Senior Member
Jul 1, 2011
500
439
Here is a new version, in which the regular OC has been reverted. So this one has liveOC + customVoltage (both can be set through NSTools):
https://dl.dropbox.com/u/69000552/Mackay_kernel_0.41.zip

I'm not yet sure this will be part of future Mackay Kernel releases...as I don't like the need for apps to set kernel options...

Download: https://dl.dropbox.com/u/69000552/Mackay_kernel_0.41.zip

thx once again for your awesome work!

regarding extra-app for kernel-settings: what about the possibility of a init.d-script to set the needed values? mackay-kernel could ship such a script with standard-settings included and the user could change it to his needs if wanted. shouldn't be too difficult cause it mostly is "echo VALUE > /PLACE/OF/FUNCTION" to set the most stuff, so that an init.d-script should definitely be possible. and it would be a real good alternative to an extra-app, cause it would work out of the box with standard-settings, but is customizable, too.

greetz,

sUsH
 
Last edited:

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
When I try unlock, freeze whith black screen. Used live OC 120%, 110% as usual with other kernel.

At live oc phone never use the lower Hz.

Sent from my GT-I9000 BlueBerry ICS with Mackay

Which kernel you used before? It may be related to voltage...

Which governs do you use?
LiveOC should only change the frequency-values, but which frequencies are used (more).

Verstuurd van mijn GT-I9000
 

ddd613

Senior Member
Jul 3, 2011
358
35
Budapest
Which kernel you used before? It may be related to voltage...

Which governs do you use?
LiveOC should only change the frequency-values, but which frequencies are used (more).

Verstuurd van mijn GT-I9000

Used before mackay 0.39
Used max. Freq 1000 with oc 120, 110 didn't changed the voltage
Govenor wheatly with deadline or sio

Worked fine, problem only when I try unlock

Sent from my GT-I9000 BlueBerry ICS with devil3
 

ddd613

Senior Member
Jul 3, 2011
358
35
Budapest
Could you try with another governor. For me, SmartassV2+OC 110% works fine.

Ok I'll send report till late afternoon.

Sent from my GT-I9000 BlueBerry ICS with devil3

---------- Post added at 09:37 AM ---------- Previous post was at 08:43 AM ----------

Seems smartassV2 better to live OC, but had to add more voltage ( +25mV ) at every freq.
I think the reason of freeze at unlock is low voltage at lowest freq. too.

You shoud make a normal OC version, at this case don't need to up voltage at all freq. only at max.

I had never problem with normal OC.

I don't prefer OC at all freq., as live OC does.

Live OC crash at 120%, 115% even if voltages are higher.
 
Last edited:
  • Like
Reactions: kasper_h

chiwou

Senior Member
Mar 23, 2012
310
62
Kassel
What OC value did you use?

For me regular OC is very unstable, but live OC at 110 works quite well and feels better than 1200MHz....

I used 114, works well with semaphore, devil, glitch
FYI: used Wheatley

Normal OC 1200 stable in semaphore, devil
1300 in glitch
1140 in midnight (not exactly OC, though)

My idea was just that you just copy the OC features from Glitch, with the automatic voltage settings, my guess the wrong voltage settings is causing the BSODs in your kernel

Or is just too hard to implement it with Wheatley governor?

Well as I said before, everything works great. With Wheatley everything is really smooth, OC would just be a great bonus.
 
  • Like
Reactions: kasper_h

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
Ok I'll send report till late afternoon.

Sent from my GT-I9000 BlueBerry ICS with devil3

---------- Post added at 09:37 AM ---------- Previous post was at 08:43 AM ----------

Seems smartassV2 better to live OC, but had to add more voltage ( +25mV ) at every freq.
I think the reason of freeze at unlock is low voltage at lowest freq. too.

You shoud make a normal OC version, at this case don't need to up voltage at all freq. only at max.

I had never problem with normal OC.

I don't prefer OC at all freq., as live OC does.

Live OC crash at 120%, 115% even if voltages are higher.

I am actually thinking to remove OC completely. Although it is nice, it also adds instability (I also had instability issues with stock CM7 kernel with regular OC code back in the days). And I want the Mackay kernel to be as stable and simple as possible. And if OC decreases stability, it should not be in :)

I have also looked at Glitch's CM7 kernel, which had different leakage version to increase stability of OC for different types of phones/chips, as phones are all slightly different. This is a basic problem of any OC implementation.

And in the end, I also don't feel an enormous performance increase with OC, so I doubt it is worth the effort at all :)
 

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
I used 114, works well with semaphore, devil, glitch
FYI: used Wheatley

Normal OC 1200 stable in semaphore, devil
1300 in glitch
1140 in midnight (not exactly OC, though)

My idea was just that you just copy the OC features from Glitch, with the automatic voltage settings, my guess the wrong voltage settings is causing the BSODs in your kernel

Or is just too hard to implement it with Wheatley governor?

Well as I said before, everything works great. With Wheatley everything is really smooth, OC would just be a great bonus.

I have previously implemented the code of Midnight in my kernel. It worked, but had some stability issues.
Like I said above, I also looked at the Glitch kernel. It is not that easy to copy his code, but I'll give it a try. But it will be my last try at OC, if it doesn't work I'll stop trying.

I will also take a good look at the voltages Sema&Glitch are using for liveOC, maybe I use slightly lower values to start from.

I also don't know how well Wheatley handles OC at all.
 
  • Like
Reactions: sUsH667

Rimmer1966

Senior Member
Oct 14, 2010
487
949
I am actually thinking to remove OC completely. Although it is nice, it also adds instability (I also had instability issues with stock CM7 kernel with regular OC code back in the days). And I want the Mackay kernel to be as stable and simple as possible. And if OC decreases stability, it should not be in :)

I have also looked at Glitch's CM7 kernel, which had different leakage version to increase stability of OC for different types of phones/chips, as phones are all slightly different. This is a basic problem of any OC implementation.

And in the end, I also don't feel an enormous performance increase with OC, so I doubt it is worth the effort at all :)

Not that my opinion counts for anything but I agree with you, there are already two kernels that satisfy those who like playing around with settings, the thing that sets this kernel apart is that it's quick and stable out of the box without the need for scripts or separate apps. I for one hope it stays that way..
 
  • Like
Reactions: kasper_h

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
Not that my opinion counts for anything but I agree with you, there are already two kernels that satisfy those who like playing around with settings, the thing that sets this kernel apart is that it's quick and stable out of the box without the need for scripts or separate apps. I for one hope it stays that way..

Thanks. My original idea for OC was to have a clean implementation which would mean no OC for people how did not change any settings, and only a choice in CM9-settings for a higher max frequency, with no additional settings (so basically the same type of OC implementation the stock CM7 kernel had). That would be fine with me. Any more complicated implementation does not fit with the philosophy of the kernel :)
 
  • Like
Reactions: sUsH667

sUsH667

Senior Member
Jul 1, 2011
500
439
Thanks. My original idea for OC was to have a clean implementation which would mean no OC for people how did not change any settings, and only a choice in CM9-settings for a higher max frequency, with no additional settings (so basically the same type of OC implementation the stock CM7 kernel had). That would be fine with me. Any more complicated implementation does not fit with the philosophy of the kernel :)

and it would be totally sufficient to have just one (1140mhz, or maybe two 1100 and 1200mhz) normal-oc-options, i think.

i have one question: if oc of any kind makes the kernel unstable, how do semaphore,devil,midnight,etc achieve oc and stability? don't they use the same kernel-base (pawitp's) you use, too?

greetz and thx for all the effort you put into this (and your rom and older kangs, of course)!!!

sUsH
 

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,302
27,637
I used 114, works well with semaphore, devil, glitch
FYI: used Wheatley

Normal OC 1200 stable in semaphore, devil
1300 in glitch
1140 in midnight (not exactly OC, though)

My idea was just that you just copy the OC features from Glitch, with the automatic voltage settings, my guess the wrong voltage settings is causing the BSODs in your kernel .

There is no automatic voltage setting in glitch kernel. Only stratosk uses this for liveoc above 110%.

Also feel free to take some code from me. I have made some changes to the pll freq. Normally the pll only changes, when previous freq was above 800 mhz or actual freq is above. This is not working very well, because the detection sometimes failes and then the freq is getting wrong pll.
Ezekeel has modified this a bit, to avoid this. I have modified the code more, to be independent from fixed levels as 800 mhz for example. My code is checking, if the pll needs to be changed and changes it then, or not.


edit: you also could take a look at the oc code which was implemented to pawit kernel for about two days. it wasn't working, because the apll was not set. if you do set this correctly, the code also should work


edit2: add this to the apll config at the beginning:
#define APLL_VAL_1200 ((1 << 31) | (150 << 16) | (3 << 8) | 1)

and for less confousing: fix this line:
/* OC0 : [1000/200/100][166/83][133/66][200/200] */

it has to be 1200 instead of 1000. this is just an information about the code below, but could be confusing if you look at it later.


edit3: another issue in the code from pawitp's kernel:
if (index <= L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);
else
__raw_writel(APLL_VAL_800, S5P_APLL_CON);

at this point you need to edit the code to switch to __raw_writel(APLL_VAL_1200, S5P_APLL_CON);
if index == OC0

and:
if (index == L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);

edit: this is the last part fixed:

if (index <= OC0)
__raw_writel(APLL_VAL_1200, S5P_APLL_CON);
if (index == L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);
else
__raw_writel(APLL_VAL_800, S5P_APLL_CON);

Gesendet von meinem GT-I9000 mit Tapatalk 2
 
Last edited:

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
There is no automatic voltage setting in glitch kernel. Only stratosk uses this for liveoc above 110%.

Also feel free to take some code from me. I have made some changes to the pll freq. Normally the pll only changes, when previous freq was above 800 mhz or actual freq is above. This is not working very well, because the detection sometimes failes and then the freq is getting wrong pll.
Ezekeel has modified this a bit, to avoid this. I have modified the code more, to be independent from fixed levels as 800 mhz for example. My code is checking, if the pll needs to be changed and changes it then, or not.


edit: you also could take a look at the oc code which was implemented to pawit kernel for about two days. it wasn't working, because the apll was not set. if you do set this correctly, the code also should work


edit2: add this to the apll config at the beginning:
#define APLL_VAL_1200((1 << 31) | (150 << 16) | (3 << 8) | 1)

and for less confousing: fix this line:
/* OC0 : [1000/200/100][166/83][133/66][200/200] */

it has to be 1200 instead of 1000. this is just an information about the code below, but could be confusing if you look at it later.


edit3: another issue in the code from pawitp's kernel:
if (index <= L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);
else
__raw_writel(APLL_VAL_800, S5P_APLL_CON);

at this point you need to edit the code to switch to __raw_writel(APLL_VAL_1200, S5P_APLL_CON);
if index == OC0

and:
if (index == L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);

edit: this is the last part fixed:



Gesendet von meinem GT-I9000 mit Tapatalk 2

This is exactly what I did yesterday to add OC to my kernel, I used the cm10 code + prevented the errors in the code which you also pointed out in your post (the commit is in my github).

Edit: I now see one mistake I overlooked: the /* OC0 : [1000/200/100][166/83][133/66][200/200] */ should have been [1200/200/100]

Should the code at the bottom of your post be:
Code:
if (index == OC0)
__raw_writel(APLL_VAL_1200, S5P_APLL_CON);
else if (index == L0)
__raw_writel(APLL_VAL_1000, S5P_APLL_CON);
else
__raw_writel(APLL_VAL_800, S5P_APLL_CON)

Verstuurd van mijn GT-I9000
 
Last edited:

androkurd

Member
Nov 27, 2010
43
0
Leicester
Where can I download version 0.39? In this thread there's only a link to version 0.37 but in Mackay's ROM thread there is version 0.39 but I can only download the entire ROM not the kernel itself. Thanks

Sent from my GT-I9000 using xda app-developers app
 

DerTeufel1980

Inactive Recognized Developer
Jul 31, 2011
10,302
27,637
This is exactly what I did yesterday to add OC to my kernel, I used the cm10 code + prevented the errors in the code which you also pointed out in your post (the commit is in my github).

Edit: I now see one mistake I overlooked: the /* OC0 : [1000/200/100][166/83][133/66][200/200] */ should have been [1200/200/100]

Verstuurd van mijn GT-I9000

Sorry, did not look at your github. The one you overlooked is just cosmetic

Gesendet von meinem GT-I9000 mit Tapatalk 2
 
  • Like
Reactions: kasper_h

kasper_h

Inactive Recognized Developer
Oct 8, 2010
5,300
16,086
Xiaomi Mi Mix 2S
Where can I download version 0.39? In this thread there's only a link to version 0.37 but in Mackay's ROM thread there is version 0.39 but I can only download the entire ROM not the kernel itself. Thanks

Sent from my GT-I9000 using xda app-developers app
http://forum.xda-developers.com/showpost.php?p=29723231&postcount=147

Sorry, did not look at your github. The one you overlooked is just cosmetic

Gesendet von meinem GT-I9000 mit Tapatalk 2
I know it is cosmetic. I'll take a look at your OC code tonight. I tried it before, but didn't get it to work (trying to disentangle the liveOC from the staticOC :)).
 

Top Liked Posts

  • There are no posts matching your filters.
  • 42
    After building a CM9 kernel with some added features as part of my CM9-UNOFFICIAL-building, I decided to make a separate kernel topic: Mackay Kernel.

    This kernel is based on stock CM9-kernel by pawitp.

    Today's release will be the final ICS release! From today on I will start working on a JB kernel. First release may take a few weeks.

    Because it is a final release, there will be 4 flavours:
    -regular
    -XLmem (396MB RAM, no 720p recording, 720p playback works)
    -VC (Voodoo color)
    -VC+XLmem


    If you like a CM9 with the Mackay Kernel included, there is also MackayROM, which is an adapted CM9:
    http://forum.xda-developers.com/showthread.php?p=28149230

    Changelog:

    12 August 2012 - ICS_Final

    Changelog
    Additions since previous stable version:
    s5pc110_battery: fix charging display for car dock
    fix freeze when max frequncy is set to 800 MHz
    fixed charging-autostart bug, now the device stays off, and powers on properly (thanks DerTeufel)
    Updated to linux version 3.0.39

    General features:
    Build using the July Linaro toolchain
    O3 optimization
    Updated to linux kernel version 3.0.39
    Mackay kernel bootsplash
    Based on a single initramfs & using bootloop detection to prevent bootloops
    Mackay recovery (based on CWM recovery v6.0.1.1)

    Governors added:
    SmartassV2 (default)
    Wheatley
    Optimized ondemand/conservative parameters

    Schedulers:
    SIO (default)

    Added functionality:
    Bigmem (384MB; XLmem of 396 available as well)
    Adaptable vibration intensity (by setting /sys/class/timed_output/duty)
    Improved SD-card read/write speed under windows
    Call volume hack (using Settings>Advanced to set volumes)
    Reduced battery polling interval

    Credits:
    -teamhacksung/pawitp for making CyanogenMod work on our ancient phone
    -stratosk/DerTeufel/Mialwe for the inspiration I got from their kernels
    -rootax for providing a high-speed server for high quality downloads

    Download: https://s.basketbuild.com/devs/kasperhettinga/sgs/kernel/pre-KK/

    Source code:
    Kernel: https://github.com/kasperhettinga/samsung-kernel-aries
    Ramdisk: https://github.com/kasperhettinga/ics-ramdisk/commits/mackay_ramdisk

    This kernel has some additions to prevent bootloops. However, if you get into a bootloop you can flash the kernel to be downloaded below with Odin (tar can be used directly) or Heimdall (the zImage should first be extracted from the tar file).
    Download: https://dl.dropbox.com/u/69000552/Mackay-Final/Mackay_Kernel_ICS_Final.tar or http://www.mediafire.com/?pbbhj88n3k0dn33
    8
    The final version of my kernel is finished. See the OP for details. There will be four flavours. From today on, I will start working on JellyBean.
    6
    There is a new kernel in OP, version 0.37.

    Main changes compared to previous stable 0.22:
    -Build with July-version of Linaro (was June version for 0.30)
    -O3-optimization
    -CWM6-based Mackay recovery
    -Wheatly governor is back
    5
    first :D

    What´s the goal of your kernel?
    Nice to see you building one :).

    Goal is to have a basic kernel with some add-ons. There are some full-blown kernels for CM9 like semaphore/devil which give a lot of extras. But I like to keep it closer to stock (with no need for additional kernel apps), but still add a few extras.
    4
    I am trying Linaro + O3 again :)
    I applied your commit for the prebuild modemctl. But...I get the following error during building:
    /home/kasper/android/system/prebuilt/linux-x86/toolchain/gcc-linaro-arm-linux-gnueabihf-2012.06-20120625_linux/bin/arm-linux-gnueabihf-ld: cannot find drivers/misc/samsung_modemctl/built-in.o: No such file or directory

    If I go to kernel/drivers/misc/samsung_modemctl/ folder I see the built-in.o & builtin.o.gcc4.4.3 files there...
    I solved the issue with O3. Problem was that I worked with the stock cm9 build script, and that doesn't work well. So I started using an adapted version of stratosks/trailblazerz and this works. Want to test it myself before sharing...


    Verstuurd van mijn GT-I9000