ARM: proc: Add Krait proc info

Add processor info for the Qualcomm, Inc. Krait family of
processors, to use the generic ARMv7 initialisation
procedure but explicitly enable the IDIV hardware
capability flag.

Change-Id: I080f60189fada2e4f87c79c6b8ef522cdc070759
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Async I/O latency to a ssd greatly increased, 34% gain (Creds: kleikamp)

Change-Id: Ibc42480e737ba927aaea7fb3b215fcfbb55353b2
config: Remove unused MEDIA_TUNER option

Change-Id: I7d43ba75f9cff551200866e561932dd277272a5a
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Enable arm sha1 and aes routines

Change-Id: Ib1e9038800737780408b068895222ff1c383211e
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>
Remove unused governours

Change-Id: I81d14fad64d0cea6c3cac023dfdfc55248b913b5
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>
writeback: fix race that cause writeback hung

There is a race between mark inode dirty and writeback thread, see the
following scenario.  In this case, writeback thread will not run though
there is dirty_io.

__mark_inode_dirty()                                          bdi_writeback_workfn()
	...                                                       	...
	spin_lock(&inode->i_lock);
	...
	if (bdi_cap_writeback_dirty(bdi)) {
	    <<< assume wb has dirty_io, so wakeup_bdi is false.
	    <<< the following inode_dirty also have wakeup_bdi false.
	    if (!wb_has_dirty_io(&bdi->wb))
		    wakeup_bdi = true;
	}
	spin_unlock(&inode->i_lock);
	                                                            <<< assume last dirty_io is removed here.
	                                                            pages_written = wb_do_writeback(wb);
	                                                            ...
	                                                            <<< work_list empty and wb has no dirty_io,
	                                                            <<< delayed_work will not be queued.
	                                                            if (!list_empty(&bdi->work_list) ||
	                                                                (wb_has_dirty_io(wb) && dirty_writeback_interval))
	                                                                queue_delayed_work(bdi_wq, &wb->dwork,
	                                                                    msecs_to_jiffies(dirty_writeback_interval * 10));
	spin_lock(&bdi->wb.list_lock);
	inode->dirtied_when = jiffies;
	<<< new dirty_io is added.
	list_move(&inode->i_wb_list, &bdi->wb.b_dirty);
	spin_unlock(&bdi->wb.list_lock);

	<<< though there is dirty_io, but wakeup_bdi is false,
	<<< so writeback thread will not be waked up and
	<<< the new dirty_io will not be flushed.
	if (wakeup_bdi)
	    bdi_wakeup_thread_delayed(bdi);

Writeback will run until there is a new flush work queued.  This may cause
a lot of dirty pages stay in memory for a long time.

Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
msm: cpufreq: Only apply driver limits for scaling_min/max_freq writes

When new values are written to scaling_min/max_freq sysfs files, the
current code applies all the limits imposed by various ADJUST and
INCOMPATIBLE notifiers handlers before storing them.

When the ADJUST and/or INCOMPATIBLE notifiers change their limits
frequently, this behavior makes it almost impossible for a
user/userspace process to store the scaling_min/max_freq limits
that go beyond the instantaneous limits imposed by the notifiers.
Since these sysfs nodes are typically meant to set limits that need
to be enforced for the foreseeable future, this is not a very user
friendly behavior.

So, change the behavior to only apply limits that are enforced by
the cpufreq driver. Typically, these are just the absolute limits
of the HW and don't change very often.

Change-Id: I1ccfaa2d1ee4ea595f882485d359dbdb407a0176
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Fix some typos

Change-Id: I6afa3f21c634320af8d92dde9e6c2d27f8862905
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>
Linaro 4.8 fixes

Added Linaro 4.8.2 Fixes

Change-Id: I009d6cbdcd3473bd7556e33ca650aaf290e75b65
Revert "msm: kgsl: Re-run the events handler when inflight goes to zero"

This reverts commit 249a6daa5dab70e6289111687a3e4926f018ae6d.
Revert "Revert "msm: kgsl: schedule the event queue after the dispatcher work queue""

This reverts commit 6923fb507d0e9382267f35dfbf8d479c19cf0150.
Revert "ARM: proc: Add Krait proc info"

This reverts commit 1e8b681fdc1df54d9d37484bd7a8e74bb642ef11.