Add Toolchain Path
Configs
ARM: 7011/1: Add ARM cpu topology definition

The affinity between ARM processors is defined in the MPIDR register.
We can identify which processors are in the same cluster,
and which ones have performance interdependency. We can define the
cpu topology of ARM platform, that is then used by sched_mc and sched_smt.

The default state of sched_mc and sched_smt config is disable.
When enabled, the behavior of the scheduler can be modified with
sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.

Changes since v4 :
*  Remove unnecessary parentheses and blank lines

Changes since v3 :
* Update the format of printk message
* Remove blank line

Changes since v2 :
* Update the commit message and some comments

Changes since v1 :
* Update the commit message
* Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h
* Modify header of arch/arm/kernel/topology.c
* Modify tests and manipulation of MPIDR's bitfields
* Modify the place and dependancy of the config
* Modify Noop functions

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 7182/1: ARM cpu topology: fix warning

kernel/sched.c:7354:2: warning: initialization from incompatible pointer type

Align cpu_coregroup_mask prototype interface with sched_domain_mask_f typedef
use int cpu instead of unsigned int cpu

Cc: <stable@vger.kernel.org>
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: topology: save cpu id of each core
ARM: topology: Update topology according to current sched_mc mode
ARM: topology: Add a cpu_power function
ARM: topology: Add a topology update notification
ARM: cpu topology: Add asym topology flag for using cpu0 1st

Modify the CPU sched_domain flags in powersave mode for using the cpu0 in ched_mc powersave mode

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
ARM: cpu topology: add debugfs
block: ROW scheduler v4

The ROW I/O scheduler gives priority to READ requests over the WRITE requests when dispatching, without starving WRITE requests. Requests are kept in priority queues. Dispatching is done in a RR manner when the dispatch quantum for each queue is calculated according to queue priority.

Most suitable for mobile devices.

Source : https://patchwork.kernel.org/patch/1862271/

Signed-off-by: andip71 <andreasp@gmx.de>
mdnie: black crush fix

credits to AndreiLux
fbearlysuspend: block fbearlysuspend to not break androids crt-off animation

adjusted to 100ms, andip71
mali: platform rewrite

Samsung integrated checks on in the Pegasus platform that prevented the GPU control interfaces to work; on every decideNextStatus call the DVFS tables would be rewritten with separate fixed values. Module parameters for these values were present in the kernel so the hypothesis is that they were used for debugging during development.

-All checks are removed and the driver now looks very similar to the Orion platform.

-Removal of the CPU frequency lock to 1200MHz if the GPU is at 440MHz, this is excessive as 3D load heavy applications usually do not tax the CPU that far, and is an unnecessary power consumption burden.

-The thermal control unit temperature throttling causes to fix the voltage to a fixed value when throttling is in place; this is useless considering frequency is not limited, making the whole thing senseless. Thus removed.

-Cleaned up the files from unnecessary ifdef's for readability considering the fixed platform values.

thx to AndreiLux
samsung-battery: Reduce battery-monitor wakelock timeouts

credits to AndreiLux
mali: disable mali_runtime_resume setting which continuously sets the clock to 266MHz while resuming from idle state
buqfreq: Use cpu_load_slope correctly

The load slope is the delta from the current load to the last cpu load sample.
It's only positive if the current load exceeds the last load, so why is it scaling
down a step if the load is actually higher? It makes no sense.

Change it to correctly scale down a step if the load slope exceeds the load
slope size.

Signed-off-by: Mohamed Karami <karamimed@gmail.com>
Boeffla-Sound: Engine 1.6.0
cpufreq: Lulzactiveq governor (tweaked) thx andip

credits to Gokhanmoral, Roberto and Tegrak