msm_mpdecision: make mpdecision() core independent

Change-Id: I64e2f414e034c35fd69b343bb03034abfff70d22
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: make msm_mpdec_work_thread() core independent

Change-Id: I07dfed7064ac834de60e23029c7ea8a3cf719aae
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: fix get_slowest_cpu()

Change-Id: If89681f806cb3b47af7e8df1ec9f2d14b4c5562f
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: make debug output more compact & informative

Change-Id: Ic585d16a63778a2fb5025e479b38b40366a14d41
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: decrease startup delay

Change-Id: Ib77841ee296f4143fb00e5716b3bb81ec348150d
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: decrease decision delay

Change-Id: I7e7ffecb0886815a646667aac542b9d807a94955
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: update core data on first call

Change-Id: I21a17c780fb5d2bf69402383cbb14b414ffa6c54
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: don't let msm_mpdec_work_thread() run if we are still booting

Change-Id: I6a24e9fffd1d2ba687fd44a580134f92dcf16463
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: make earlysuspend/lateresume core independent

Change-Id: Iab605e51995e76c291fb7e6e0560e2237691d2dd
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: update header to include full feature list

Change-Id: I1e8c1d8fabc3631247fedbabc42395f49fec0cfe
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: export the new, larger nwns/twts arrays to sysfs

Change-Id: I29a93fe507f72888641d62316f75bcb9c9224c53
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: fix disabling mpdecision over sysfs for multicore

Change-Id: I1bfc9139d4fc28ca8dae6eb6030b1b63a934ac47
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: remove useless locking

Change-Id: I982a201d4ae5fe2ace4b981798357aceed129ed9
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: use own workqueues

This will alter mpdecision to alloc it's own wq rather than using
the predefined queue which is a shared resource.

The WQ is not bound to the issuer CPU (=high-priority), has a
rescue worker task and is freezable.
Also destroy the workqueue on exit, and rename msm_mpdec to
msm_mpdec_init.

Change-Id: I7a4b29b9fe37f015b28b5174aaffca5f05bd28ba
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: cancel/resume main work thread on ES/LR

Change-Id: Ia4318b977f113c18af8a6af703592e3b92fd4296
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: use unique lock names

Change-Id: If12db29301e29f79c1543260f535f4bc1fbfca5d
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: add max/min cpu limits to sysfs

Change-Id: Ic23e0e8a08e5e6e3d66c04459acd36567ddcbe1e
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: use CONFIG_NR_CPUS for max_cpu sysfs

Change-Id: I6bf260dfc4ed2184c7203858cd11931601b76713
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: decrease delay between checks to 70ms

Change-Id: If4a27c0d0e3cca45dd0d2d12a789de098c29a820
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
msm_mpdecision: add get_rate()

Change-Id: I8c5bf93b6350101aed2fe4ab3a0e5d527f76da9a
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>