X3:net: wireless: bcmdhd: enable 5ghz support
Add Row Sheduler by Qualcomm
block: Add support for reinsert a dispatched req

Add support for reinserting a dispatched request back to the
scheduler's internal data structures.
This capability is used by the device driver when it chooses to
interrupt the current request transmission and execute another (more
urgent) pending request. For example: interrupting long write in order
to handle pending read. The device driver re-inserts the
remaining write request back to the scheduler, to be rescheduled
for transmission later on.

Add API for verifying whether the current scheduler
supports reinserting requests mechanism. If reinsert mechanism isn't
supported by the scheduler, this code path will never be activated.

Change-Id: I5c982a66b651ebf544aae60063ac8a340d79e67f
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
block: Add API for urgent request handling

This patch add support in block & elevator layers for handling
urgent requests. The decision if a request is urgent or not is taken
by the scheduler. Urgent request notification is passed to the underlying
block device driver (eMMC for example). Block device driver may decide to
interrupt the currently running low priority request to serve the new
urgent request. By doing so READ latency is greatly reduced in read&write
collision scenarios.

Note that if the current scheduler doesn't implement the urgent request
mechanism, this code path is never activated.

Change-Id: I8aa74b9b45c0d3a2221bd4e82ea76eb4103e7cfa
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
block: row: squash commits from codeaurora.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
block: fixes required to make the kernel compile with ROW.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Add ROW i/o scheduler
kernel/sys: cpuquiet compatibility fixup

Change-Id: I6af61aee8df5fe2de07c40b7711fd8cbf44ca6f7

Conflicts:
	kernel/sys.c
ARM: tegra: cpuquiet: Notify the cpuquiet governor when the driver is busy

Added generic busy/free notifiers that the driver can invoke to let the
governor know that it cannot process further core online/offline
requests (invoked in our case whenever we switch to the LP cluster).

Change-Id: I5e3f7f28f38806a7f87050e8d0c8d2f2cf7521aa
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>

Conflicts:
	arch/arm/mach-tegra/cpuquiet.c
ARM: tegra: cpuquiet: Fix cpuquiet notifiers

The notifiers now properly fire on every cluster switch

Change-Id: I381301cf62f25b49532326cc7759696c7f6797b7
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
cpuquiet: Runnable threads governor

[perf] The runnable threads governor only looks at the average number of
runnables in the system to make a decision when bringing cores
offline/online. First pass; tweaks thresholds and delays to reduce
decision latency to about ~50-70ms per core (from ~100-150ms per core)

Change-Id: Idd3b268a74a8f56ad3fc0e5c7f388174d1b6611f
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
cpuquiet: Add notifiers for the runnables governor

The governor stops sampling whenever the device is busy and starts its
sampling loop when the device is free.

Change-Id: I6b4dae94a60f8091d34400028a8d1f58faa51380
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
drivers/cpuquiet/governors/runnable_threads: fix typo derp
drivers/cpuquiet/governors: make balanced as default governor
board/cpu-tegra3: make runnable thread as a compilation option

Conflicts:
	arch/arm/mach-tegra/cpu-tegra3.c

Change-Id: I6901002cdc792877651137fa5588ca7e0dd86bed
cpuquiet/governors/balanced: make runnable thread as a compilation option
board/cpu-tegra3: Additional runnable threat edits necessary for compilation option

Change-Id: I1fa2fab02582e987314ae7e23342c09c78d042af
Add cpuquiet configs
Fix endif compile error
Corrected wifi firmware path