cpufreq: Enforce policies in relation to CA7 frequency hole
leds: LP5562: Blinking control
leds: LP5562: Fix wait command misinterpreted as ramp

After branching into a loop, the 'lsb' variable was filled with the jump
programm counter, and I forgot to clear the variable when queuing the
wait command, effectively turning the wait command into a ramp,
causing the green channel (Because we're using that as the wait master)
to slowly light up with each new cycle if the delay cycle and jump address
machted the bits of the ramp command.

Since a wait command has an LSB of 0, just hardcode it.
leds: LP5562: Fix wait cycle branching

The last fix 66accc1c36ed4f056c3e6d0fb771b113da19bf13 caused timing to be off again.

This fixes it.
Revert "tmu: increase EFUSE_MAX_VALUE"

This reverts commit 5eadb0f489cafbf94167e91c40ed18677359681e.
Kernel 1.6B
Async I/O latency to a ssd greatly increased, 34% gain (Creds: kleikamp)
 video: mDNIe-control: Add anti-smearing workaround

This adds a single control for the black RGB channels and exempts
those controls from the digital brightness control.

For use to alter deep black into grey, for use against smearing problem.
block: row: change hrtimer_cancel to hrtimer_try_to_cancel

Calling hrtimer_cancel with interrupts disabled can result in a livelock.
When flushing plug list in the block layer interrupts are disabled and an
hrtimer is used when adding requests from that plug list to the scheduler.
In this code flow, if the hrtimer (which is used for idling) is set, it's
being canceled by calling hrtimer_cancel. hrtimer_cancel will perform
the following in an endless loop:
1. try cancel the timer
2. if fails - rest_cpu
the cancellation can fail if the timer function already started. Since
interrupts are disabled it can never complete.
This patch reduced the number of times the hrtimer lock is taken while
interrupts are disabled by calling hrtimer_try_co_cancel. the later will
try to cancel the timer just once and return with an error code if fails.

CRs-fixed: 499887
Change-Id: I25f79c357426d72ad67c261ce7cb503ae97dc7b9
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
block: row-iosched idling triggered by readahead pages

In the current implementation idling is triggered only by request
insertion frequency. This heuristic is not very accurate and may hit
random requests that shouldn't trigger idling. This patch uses the
PG_readahead flag in struct page's flags, which indicates that the page
is part of a readahead window, to start idling upon dispatch of a request
associated with a readahead page.

The above readehead flag is used together with the existing
insertion-frequency trigger. The frequency timer will catch read requests
which are not part of a readahead window, but are still part of a
sequential stream (and therefore dispatched in small time intervals).

Change-Id: Icb7145199c007408de3f267645ccb842e051fd00
Signed-off-by: Lee Susman <lsusman@codeaurora.org>
mm: pass readahead info down to the i/o scheduler

Some i/o schedulers (i.e. row-iosched, cfq-iosched) deploy an idling
algorithm in order to be better synced with the readahead algorithm.
Idling is a prediction algorithm for incoming read requests.

In this patch we mark pages which are part of a readahead window, by
setting a newly introduced flag. With this flag, the i/o scheduler can
identify a request which is associated with a readahead page. This
enables the i/o scheduler's idling mechanism to be en-sync with the
readahead mechanism and, in turn, can increase read throughput.

Change-Id: I0654f23315b6d19d71bcc9cc029c6b281a44b196
Signed-off-by: Lee Susman <lsusman@codeaurora.org>
block: Remove "requeuing urgent req" error messages

It is possible for URGENT request to be requeued/reinserted if it was
fetched during the creation of a packed list. This end case is rare and is
not handled at the moment.
This patch changes the messages notifying of the above to debug level
(instead of error) in order to clear the dmesg log.

Change-Id: Ie8bc067e61559a6f702077b95c5dbcc426404232
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
mm: change initial readahead window size calculation

Change the logic which determines the initial readahead window size
such that for small requests (one page) the initial window size
will be x4 the size of the original request, regardless of the
VM_MAX_READAHEAD value. This prevents a rapid ramp-up
that could be caused due to increasing VM_MAX_READAHEAD.

Change-Id: I93d59c515d7e6c6d62348790980ff7bd4f434997
Signed-off-by: Lee Susman <lsusman@codeaurora.org>
misc: uidstat: avoid create_stat() race and blockage.

* create_stat() race would lead to:
  [   58.132324] proc_dir_entry 'uid_stat/10061' already registered

* blocking kmalloc reported by sbranden
 tcp_read_sock()
  uid_stat_tcp_rcv()
    create_stat()
      kmalloc(GFP_KERNEL)

Signed-off-by: JP Abgrall <jpa@google.com>
sched: Make GENTLE_FAIR_SLEEPERS configurable thru sysfs
disabled cleancache and friends
mm: slub: Try setting slub_max_order to zero
mm: slub: Memory allocated by kstrdup should be freed, when kmalloc(kmem_size, GFP_KERNEL) is failed.
cpufreq: ondemand-sec: Fix governor being stuck on A7 cores
devfreq: mif: PMS PLL experimental changes

PMS isn't the cause of the flickering on non-factor of two clocks, simply
disabling those clocks will fix it too.