[KERNEL] [GPL] [OTG] [Linaro] [-Ofast] [HOLOYOLO] [17 May 13] Community Kernel

Which hotplug driver do you prefer?

  • show-p1984's MPDecision (kernel based mpdecision)

    Votes: 23 21.3%
  • faux123's intelli-plug

    Votes: 59 54.6%
  • Qualcomm's MPDecision

    Votes: 26 24.1%

  • Total voters
    108
Search This thread

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
GOAL
The goal of this kernel is to have a central place for developers in the community, who don't want the burden to maintain their own kernel, to have a place to do so. Many times, developers who work on these devices constantly develop issues with others or don't have time to incorporate new features. Our goal is to avoid all that. Anything and everything will be accepted, granted it doesn't break anything. @show-p1984 has been kind enough to not only host the source but grant the use of his buildbot for this project. Every time source is pushed, the bot will start to build the kernel, zip up the package and finally upload it to my goo.im account. If you'd like to become part of this project then go ahead and reach out to me on twitter (@jassycliq) or PM me on here. My short term goal for this kernel is to add all the hotplug drivers available for mako and incorporate them into this one kernel. As it stands we can only use Qcom's binary, show's mpdecision and faux123's intelli-plug as they have switches to turn them off. These can be changed on the fly, as long as the user turns off all the hotplug drivers first then turns on the desired hotplug method. I'd also like to have an app that can control this, well a proper application to be exact.

Features
* CPU OC up to 1.9ghz, Default to 1.5GHz
* CPU UC down to 162mhz
* UV down to 600,000uVolts
* Intelli-plug hotplug driver
* Qualcomm's MPDecision
* MSM MPDecision (kernel based mpdecision)
* Dynamic FSync
* Sweep2Wake
* Snapdragon S4 and Krait optimizations
* 3-Phase Thermal
* GPU OC up to 487mhz
* Faux's Gamma Interface
* Faux Sound/Speaker Control
* Fast Charge
* Schedulers
FIOPS
SIO
NOOP
ROW
CFQ
DEADLINE (tuned for flash devices)
* Governors:
DanceDance
Interactive
Ondemand
Performance
* Advance TCP Congestion Control
Westood+
Reno
Bic
Cubic
Htcp
Veno
* Compiled with gcc 4.7.3 (Linaro 4.7-2013.04)
* -Ofast optimized
* WLAN, TUN and CIFS compiled as modules due to size of kernel from the high amounts of optimizations
* OTG support
* Too much to write!

Choosing between the 3 hotplug drivers
This kernel comes with 3 hotplug drivers (intelli-plug, qcoms mpdecision and kernel based mpdecision) by default only Qualcomm's MPDecision is used. To turn one of the others you must use their respective sysfs interfaces after turning off the one's you're not using. To make it easier for you, I have included a small little application that helps you turn through this. If you'd like to make an init.d script to choose which one you want on boot then use the following commands

For kernel based mpdecision
Code:
echo "0/1" > /sys/kernel/msm_mpdecision/conf/enabled
echo "0/1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core

For Intelli-Plug
Code:
echo "0/1" > /sys/module/intelli_plug/parameters/intelli_plug_active
echo "0/1" > /sys/module/intelli_plug/parameters/eco_mode_active

For Qualcomm's MPDecision
Code:
start mpdecision
stop mpdecision

Downloads
http://goo.im/devs/jassycliq/mako

Why do I have no WLAN?

Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.

The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.

if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then init.d support is probably missing.
You can test it by going to /system/etc/init.d/ and executing 00wlan.
Code:
adb shell
su
. /system/etc/init.d/00wlan

Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan, you can execute 01cifs and 02tun too).
If WLAN now works, init.d support is missing.

You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway.
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
 
Last edited:

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
Changelog:
8 May 2013​
Code:
4c59771 defconfig: Update defconfig.
596b56b cpufreq: Add smartmax. Let's test this, see how it does.
1cb9bb0 msm: cpufreq: Always update frequency limits when core is online
d822b01 msm_mpdecision: boost: detect changed min frequency and update accordingly
213609a msm_mpdecision: tune hotplug values

7 May 2013​
Code:
cfcfcbe4 Revert "msm: kgsl: Add GFP_NORETRY to the page_alloc flags and handle errors"
4750928 defconfig: Update for new touch_boost feature for kernel based mpdecision.
085ba61 msm: kgsl: Reduce cmd buffer size for adreno_iommu_setstate
caed023 msm: kgsl: Fix hang detection to be 50ms or more
bf9a788 msm: kgsl: Add minimum amount of wait in adreno_waittimestamp
28780a3 msm: kgsl: Lower bounds check the number of power levels
3a7120b msm: kgsl: Avoid NULL pointer in adreno setstate functions
5db5ceb msm: kgsl: Fix guilty context logic for GPU hangs
eab59a3 msm: kgsl: Remove an uneeded register write for A3XX GPUs
da07ff9 msm: kgsl: Remove non-critical error messages
f33358f msm: kgsl: unprepare clocks when we move from NAP to SLEEP
3efbea6 msm: kgsl: Do not allocate space in ringbuffer for hung context
f41b6a2 msm: kgsl: Do not save context if it is being destroyed
b1d7357 fix error
d663e19 msm_fb: display: update var in display commit
f2c1e69 msm: display: non-blocking for overlay update
6fe5638 msm: kgsl: Remove extra interrupts when setting MMU state
7e8a134 msm: kgsl: Support user specified timeouts in adreno_waittimestamp
cf18f63 msm: kgsl: Move the adreno WPTR poke logic to the hang detection
6a808d0 msm: kgsl: Invalidate base pointers when tlb is flushed
a8bafcd msm: kgsl: Add GFP_NORETRY to the page_alloc flags and handle errors
cef0287 msm: kgsl: Fix adreno idle detection during hang
29916e4 msm: kgsl: Do not check for hang when graphics core is idle
01c3627 msm_mpdecision: input event boost: fix not resetting boost if cpu was unplugged before
643164e msm_mpdecision: add sysfs interface for input event boost
55f7b76 msm_mpdecision: add input event boost [read more]

5 May 2013​
Code:
6c31838 defconfig: trying -Ofast flag really quick
8684551 workqueue: silence 'warning: array subscript is above array bounds'
832bfbb Makefile: add -Ofast
230f31c Revert "mako LCD: keep RGB custom colors alive after screen off/on"
0a8b0db input: lge: re-work the patches I just reverted to fix a bug that was causing some leaks and some IRQ exceptions during screen on.
2f521e9 Sound Control: Added headphone poweramp controls
b9451d3 af_unix: use freezable blocking calls in read
74e437e sigtimedwait: use freezable blocking call
a479733 nanosleep: use freezable blocking call
b7b7d43 futex: use freezable blocking call
87e9542 select: use freezable blocking call
ce6c00a epoll: use freezable blocking call
abeafac binder: use freezable blocking calls
3995281 freezer: add new freezable helpers using freezer_do_not_count()
ff4bd25 freezer: skip waking up tasks with PF_FREEZER_SKIP set
23f2b45 freezer: shorten freezer sleep time using exponential backoff
6f57272 defconfig: Add new defconfig for test branch. Release 1.
74681b3 mach-msm: msm_mpdecision: default off. We will boot using Qualcomm's binary. Change zip to mirror this.
f063703 defconfig: Lower min clock, enable mpdecision (which I was advised could be turned off with 2 commands) so we will boot up with that as 
d413876 auto_hotplug: Prepare for being able to run alongside show-p1984's mpdecision.
0919ae2 defconfig: Turn off auto-hotplug until it can be turned off and compiled alongside the other hotplug drivers.
38bbd31 Restrict slave mountspace so Dalvik apps can mount system-wide volumes
31cbf8b auto_hotplug: rev 4 - let's lean a little more towards performance.
4e4adbb auto_hotplug: stack the deck on auto_hotplug_late_resume to get things moving quickly again
e04373f auto_hotplug: parameter validation for max_online_cpus
751eb27 auto_hotplug: enhancements (rev 3)
9367500 auto_hotplug: enable the min_online_cpus value
689e712 auto_hotplug: enhancements (rev 2)
af7748f auto_hotplug: enhancements
5a17cb6 arm: auto hotplug - wrap all pr_info into the existing debug mode so we don't spam the kernel log
937748e Change dependencies to allow kernel to be built with ARM hotplug, and without MSM_RUN_QUEUE_STATS. These are only needed for proprietary
2527619 arm: Add auto hotplug driver
637ffac mm: vm_swappiness set to 20 (down from the default 60) since we have plenty of RAM on the Nexus 4
1e4db08 ARM: remove NWFPE and VFP emulation code from the kernel
3291b82 usb: otg: Fix? for compiling with OTG. If its wrong, I hope someone can help here.



Big thanks to @show-p1984, he really kick started this project.:highfive: One night I received a PM from him asking if I'd like to take this challenge on. He also helped me out a ton while setting up the repo and build. He really has been a great help.


Others I'd like to thank for their source, commits, hardwork, blood and tears:
@faux123
@francisco.franco
@_motley
@morfic
@Harsh
@r_data
@semaphore (or the creator of it)
@intersectRaven
@mathkid95 sorry for taking so long in adding you ;)
 
Last edited:

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
Source

https://github.com/jassycliq/mako/commits/master
status.png


https://github.com/jassycliq/mako/commits/test
status.png
 
Last edited:

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
Thanks for starting this, seems a good idea. Question: are these builds tested before they are uploaded?

No, but as it stands right now nothing has changed that would be broken. In the future the test folder should be treated like a nightly build and the master folder should be treated like a stable build.

BTW I'm running the first one on that folder. The only change the newest one had is that it fixes an error where mpdecision was renamed, but now that we default to that, we don't want that to happen.

Sent from my Nexus 4 using Tapatalk 2
 
  • Like
Reactions: gianton

Ranaquajaro

Member
Mar 8, 2013
31
6
Just a question. I already flashed :p but does this have any of those modules /drivers that increase touch screen sensitivity? Considering it is compiled from every other kernel I would think so, but I'd just like to make sure :)

Sent from my Nexus 4 using xda app-developers app
 

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
Just a question. I already flashed :p but does this have any of those modules /drivers that increase touch screen sensitivity? Considering it is compiled from every other kernel I would think so, but I'd just like to make sure :)

Sent from my Nexus 4 using xda app-developers app
It has Faux's patch. I will implement Franco's tomorrow or some other day. I'd like to have more than one commit for a change.
 
  • Like
Reactions: Ranaquajaro

casonswag

Senior Member
Aug 31, 2011
4,522
943
Jacksonville
Any reason why i lost wifi? I flashed coming from franco kernel first i flashed the kernel reset then your kernel no wifi then i flashed your kernel again and no wifi?

NEXUS
 

jassycliq

Senior Member
Jan 1, 2011
911
674
Los Angeles
Any reason why i lost wifi? I flashed coming from franco kernel first i flashed the kernel reset then your kernel no wifi then i flashed your kernel again and no wifi?

NEXUS

Check OP, it goes over this.
Since the kernel is highly optimized WiFi, TUN, and CIFS need to be built as modules. Because of this, we use init.d scripts to load them at boot, this requires busybox. You can check if it loaded by typing the following in terminal:

lsmod

If it doesn't say WLAN, then the WiFi module needs to be loaded manually by typing this in terminal:

su
./system/etc/init.d/00wlan

If that works then try updating your busybox it might have an issue. Also if you have another init.d that starts with 00 change the wlan to 08wlan

Sent from my Nexus 4 using Tapatalk 2
 
Last edited:

android88

Senior Member
Jan 21, 2012
5,793
4,790
How does that differ from your builds in bricked kernel?

Compare the features of the two of them and see ;). This one seems to be more feature filled while his Bricked builds are more stability.

Also check the git's of both.
Sent from my Nexus 4 using Tapatalk 2
 

Connor Baker

Senior Member
May 9, 2012
1,325
779
This looks awesome! Just a quick question because I'm a junkie for optimizations:

Will this include the various performance improvements from Franco's Franco Kernel, Morfic's Trinity Kernel, and the super fast CodeFireX MakoKangBang kernel? Also, I myself would recommend compiling it with CodeFireX's 4.8.1 Linaro Tool chain with back ports from the 4.9 Tool chain.

Can't wait to see how this turns out! Keep up the awesome work!

Connor Baker
 
  • Like
Reactions: jassycliq

Top Liked Posts

  • There are no posts matching your filters.
  • 36
    GOAL
    The goal of this kernel is to have a central place for developers in the community, who don't want the burden to maintain their own kernel, to have a place to do so. Many times, developers who work on these devices constantly develop issues with others or don't have time to incorporate new features. Our goal is to avoid all that. Anything and everything will be accepted, granted it doesn't break anything. @show-p1984 has been kind enough to not only host the source but grant the use of his buildbot for this project. Every time source is pushed, the bot will start to build the kernel, zip up the package and finally upload it to my goo.im account. If you'd like to become part of this project then go ahead and reach out to me on twitter (@jassycliq) or PM me on here. My short term goal for this kernel is to add all the hotplug drivers available for mako and incorporate them into this one kernel. As it stands we can only use Qcom's binary, show's mpdecision and faux123's intelli-plug as they have switches to turn them off. These can be changed on the fly, as long as the user turns off all the hotplug drivers first then turns on the desired hotplug method. I'd also like to have an app that can control this, well a proper application to be exact.

    Features
    * CPU OC up to 1.9ghz, Default to 1.5GHz
    * CPU UC down to 162mhz
    * UV down to 600,000uVolts
    * Intelli-plug hotplug driver
    * Qualcomm's MPDecision
    * MSM MPDecision (kernel based mpdecision)
    * Dynamic FSync
    * Sweep2Wake
    * Snapdragon S4 and Krait optimizations
    * 3-Phase Thermal
    * GPU OC up to 487mhz
    * Faux's Gamma Interface
    * Faux Sound/Speaker Control
    * Fast Charge
    * Schedulers
    FIOPS
    SIO
    NOOP
    ROW
    CFQ
    DEADLINE (tuned for flash devices)
    * Governors:
    DanceDance
    Interactive
    Ondemand
    Performance
    * Advance TCP Congestion Control
    Westood+
    Reno
    Bic
    Cubic
    Htcp
    Veno
    * Compiled with gcc 4.7.3 (Linaro 4.7-2013.04)
    * -Ofast optimized
    * WLAN, TUN and CIFS compiled as modules due to size of kernel from the high amounts of optimizations
    * OTG support
    * Too much to write!

    Choosing between the 3 hotplug drivers
    This kernel comes with 3 hotplug drivers (intelli-plug, qcoms mpdecision and kernel based mpdecision) by default only Qualcomm's MPDecision is used. To turn one of the others you must use their respective sysfs interfaces after turning off the one's you're not using. To make it easier for you, I have included a small little application that helps you turn through this. If you'd like to make an init.d script to choose which one you want on boot then use the following commands

    For kernel based mpdecision
    Code:
    echo "0/1" > /sys/kernel/msm_mpdecision/conf/enabled
    echo "0/1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core

    For Intelli-Plug
    Code:
    echo "0/1" > /sys/module/intelli_plug/parameters/intelli_plug_active
    echo "0/1" > /sys/module/intelli_plug/parameters/eco_mode_active

    For Qualcomm's MPDecision
    Code:
    start mpdecision
    stop mpdecision

    Downloads
    http://goo.im/devs/jassycliq/mako

    Why do I have no WLAN?

    Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.

    The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.

    if
    Code:
    adb shell lsmod
    doesn't show this:
    Code:
    tun 14701 0 - Live 0x00000000
    cifs 275399 0 - Live 0x00000000
    wlan 2964650 0 - Live 0x00000000 (C)
    Then init.d support is probably missing.
    You can test it by going to /system/etc/init.d/ and executing 00wlan.
    Code:
    adb shell
    su
    . /system/etc/init.d/00wlan

    Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan, you can execute 01cifs and 02tun too).
    If WLAN now works, init.d support is missing.

    You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway.
    It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
    If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
    4
    Changelog:
    8 May 2013​
    Code:
    4c59771 defconfig: Update defconfig.
    596b56b cpufreq: Add smartmax. Let's test this, see how it does.
    1cb9bb0 msm: cpufreq: Always update frequency limits when core is online
    d822b01 msm_mpdecision: boost: detect changed min frequency and update accordingly
    213609a msm_mpdecision: tune hotplug values

    7 May 2013​
    Code:
    cfcfcbe4 Revert "msm: kgsl: Add GFP_NORETRY to the page_alloc flags and handle errors"
    4750928 defconfig: Update for new touch_boost feature for kernel based mpdecision.
    085ba61 msm: kgsl: Reduce cmd buffer size for adreno_iommu_setstate
    caed023 msm: kgsl: Fix hang detection to be 50ms or more
    bf9a788 msm: kgsl: Add minimum amount of wait in adreno_waittimestamp
    28780a3 msm: kgsl: Lower bounds check the number of power levels
    3a7120b msm: kgsl: Avoid NULL pointer in adreno setstate functions
    5db5ceb msm: kgsl: Fix guilty context logic for GPU hangs
    eab59a3 msm: kgsl: Remove an uneeded register write for A3XX GPUs
    da07ff9 msm: kgsl: Remove non-critical error messages
    f33358f msm: kgsl: unprepare clocks when we move from NAP to SLEEP
    3efbea6 msm: kgsl: Do not allocate space in ringbuffer for hung context
    f41b6a2 msm: kgsl: Do not save context if it is being destroyed
    b1d7357 fix error
    d663e19 msm_fb: display: update var in display commit
    f2c1e69 msm: display: non-blocking for overlay update
    6fe5638 msm: kgsl: Remove extra interrupts when setting MMU state
    7e8a134 msm: kgsl: Support user specified timeouts in adreno_waittimestamp
    cf18f63 msm: kgsl: Move the adreno WPTR poke logic to the hang detection
    6a808d0 msm: kgsl: Invalidate base pointers when tlb is flushed
    a8bafcd msm: kgsl: Add GFP_NORETRY to the page_alloc flags and handle errors
    cef0287 msm: kgsl: Fix adreno idle detection during hang
    29916e4 msm: kgsl: Do not check for hang when graphics core is idle
    01c3627 msm_mpdecision: input event boost: fix not resetting boost if cpu was unplugged before
    643164e msm_mpdecision: add sysfs interface for input event boost
    55f7b76 msm_mpdecision: add input event boost [read more]

    5 May 2013​
    Code:
    6c31838 defconfig: trying -Ofast flag really quick
    8684551 workqueue: silence 'warning: array subscript is above array bounds'
    832bfbb Makefile: add -Ofast
    230f31c Revert "mako LCD: keep RGB custom colors alive after screen off/on"
    0a8b0db input: lge: re-work the patches I just reverted to fix a bug that was causing some leaks and some IRQ exceptions during screen on.
    2f521e9 Sound Control: Added headphone poweramp controls
    b9451d3 af_unix: use freezable blocking calls in read
    74e437e sigtimedwait: use freezable blocking call
    a479733 nanosleep: use freezable blocking call
    b7b7d43 futex: use freezable blocking call
    87e9542 select: use freezable blocking call
    ce6c00a epoll: use freezable blocking call
    abeafac binder: use freezable blocking calls
    3995281 freezer: add new freezable helpers using freezer_do_not_count()
    ff4bd25 freezer: skip waking up tasks with PF_FREEZER_SKIP set
    23f2b45 freezer: shorten freezer sleep time using exponential backoff
    6f57272 defconfig: Add new defconfig for test branch. Release 1.
    74681b3 mach-msm: msm_mpdecision: default off. We will boot using Qualcomm's binary. Change zip to mirror this.
    f063703 defconfig: Lower min clock, enable mpdecision (which I was advised could be turned off with 2 commands) so we will boot up with that as 
    d413876 auto_hotplug: Prepare for being able to run alongside show-p1984's mpdecision.
    0919ae2 defconfig: Turn off auto-hotplug until it can be turned off and compiled alongside the other hotplug drivers.
    38bbd31 Restrict slave mountspace so Dalvik apps can mount system-wide volumes
    31cbf8b auto_hotplug: rev 4 - let's lean a little more towards performance.
    4e4adbb auto_hotplug: stack the deck on auto_hotplug_late_resume to get things moving quickly again
    e04373f auto_hotplug: parameter validation for max_online_cpus
    751eb27 auto_hotplug: enhancements (rev 3)
    9367500 auto_hotplug: enable the min_online_cpus value
    689e712 auto_hotplug: enhancements (rev 2)
    af7748f auto_hotplug: enhancements
    5a17cb6 arm: auto hotplug - wrap all pr_info into the existing debug mode so we don't spam the kernel log
    937748e Change dependencies to allow kernel to be built with ARM hotplug, and without MSM_RUN_QUEUE_STATS. These are only needed for proprietary
    2527619 arm: Add auto hotplug driver
    637ffac mm: vm_swappiness set to 20 (down from the default 60) since we have plenty of RAM on the Nexus 4
    1e4db08 ARM: remove NWFPE and VFP emulation code from the kernel
    3291b82 usb: otg: Fix? for compiling with OTG. If its wrong, I hope someone can help here.



    Big thanks to @show-p1984, he really kick started this project.:highfive: One night I received a PM from him asking if I'd like to take this challenge on. He also helped me out a ton while setting up the repo and build. He really has been a great help.


    Others I'd like to thank for their source, commits, hardwork, blood and tears:
    @faux123
    @francisco.franco
    @_motley
    @morfic
    @Harsh
    @r_data
    @semaphore (or the creator of it)
    @intersectRaven
    @mathkid95 sorry for taking so long in adding you ;)
    4
    New version is working good here, plays good with trickster mod, and WiFi is all good.

    edit: Oh my its smooth! Shows work seems to be bang on!

    Sent from my Nexus 4 using Tapatalk 2

    Best of all you can tune how long it lasts and which freq the boost uses.

    To change the length of the boost (default is 1sec) time is in millisecond
    Code:
    echo 1000 > /sys/kernel/msm_mpdecision/conf/boost_time

    Then to change the freqs, which can be configured by core.
    Code:
    echo "1 702000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
    replace 1 with the core you want to change. Remember it starts at 0 and goes up to 3. Then the 702000 can be whatever freq you want.

    If you don't want boost enabled.
    Code:
    echo 0 > /sys/kernel/msm_mpdecision/conf/boost_enabled

    Sent from my Nexus 4 using Tapatalk 2
    3
    It was weird that I didn't get that issue at first (didn't happen till I rebooted) but I talked to @show-p1984 so he said he'll look into it. (unless I misunderstood him) which then I'll work on making the little script app work with it better.

    Code:
    if ((cpu_policy->min != per_cpu(msm_mpdec_cpudata, cpu).boost_freq) &&
        (cpu_policy->min != per_cpu(msm_mpdec_cpudata, cpu).norm_min_freq)) {
        pr_info(MPDEC_TAG"cpu%u min was changed while boosted (%lu->%u), using new min",
                cpu, per_cpu(msm_mpdec_cpudata, cpu).norm_min_freq, cpu_policy->min);
        per_cpu(msm_mpdec_cpudata, cpu).norm_min_freq = cpu_policy->min;
    }
    http://repomachine.zapto.org/bricke...mmit/7dc471ccf51cd150a9d68680ded5d091fcaa12f0
    or
    https://github.com/showp1984/bricked-mako/commit/7dc471ccf51cd150a9d68680ded5d091fcaa12f0

    Here b1tch: :p
    Code:
    <6>[  190.506088] [MPDEC]: cpu2 min was changed while boosted (384000->192000), using new min
    <6>[  190.512406] [MPDEC]: CPU[2] on->off | Mask=[1100] | time online: 1305
    <6>[  190.706119] [MPDEC]: cpu1 min was changed while boosted (384000->192000), using new min
    <6>[  190.713963] [MPDEC]: CPU[1] on->off | Mask=[1000] | time online: 1706
    <6>[  191.456126] [MPDEC]: cpu0 min was changed while boosted (384000->192000), using new min
    3
    By the way slightly off topic, but do any of you guys have an opinion on this? http://xdaforums.com/showthread.php?t=2145133

    We've got 2GB of RAM on the N4, we don't need it.