spi: tegra: correct directions when syncing buffer for device/dma.

The Tx buffer to be synced with the direction of DMA_TO_DEVICE and
Rx buffer should be synced with direction of DMA_FROM_DEVICE.

bug 959947

Change-Id: I490a93e05723e3114c8ae3c640bb7eff23bcc75d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/103095
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
video: tegra: dc: vblank worker

Freeze vblank worker while suspending by adding the work into
system freezewq. This eliminates a kernel panic caused by nvsd
reading brightness valuesfrom display while clock gated.

Change-Id: I9ebe15a6c4c329b80b98466dc79abec8a082984c
video: tegra: dtv: Fixed clk disabling issue

APB clock for dtv logic block should be recorded by dtv_ctx->clk
hanlder. Otherwise, kernel will trigger a NULL point error in suspend.

Fixed Bug 1011149

Change-Id: I5d342ab6fc8ffb71211e370d304b17d5d44eef20
Signed-off-by: Adam Jiang <chaoj@nvidia.com>
Reviewed-on: http://git-master/r/108743
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
video: tegra: dc: Fix the check of dirty window.

Change-Id: I6584c856356d6be123a66731bde414e4925ffe07
Reviewed-on: http://git-master/r/111184
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
video: tegra: dc: Fix backlight on/off sequence

Register backlight device after tegradc.0 and tegradc.1. This makes
sure turning on/off backlight in correct sequence and eliminates the
flicker during suspending and resuming.

Bug 964626

Change-Id: I16a545b0148faa341b2443c76d9ca4c7eb7f636c
Signed-off-by: Mark Zhang <markz@nvidia.com>
Reviewed-on: http://git-master/r/105611
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Peer Chen <pchen@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shashank Sharma <shashanks@nvidia.com>
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
ARM: SMP: wait for CPU to be marked active

When we bring a CPU online, we should wait for it to become active
before entering the idle thread, so we know that the scheduler and
thread migration is going to work.
mm: Ensure pte and pmd stores ordering.

Bug 974153
video: tegra: host: Fix error case memory leaks

When a submit fails, the related nvhost_job is not freed. Add an
explicit free. Also, 3D is mapping the save buffer, but it is not
unmapped.

Bug 991972
sched: Remove stale power aware scheduling remnants and dysfunctional knobs - http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8e7fbcbc22c12414bcc9dfdd683637f58fb32759
cpu-tegra.c: cpu freq transition latency is huge, decrease to 30ms
sched: Fix race in task_group() - original patch: https://github.com/torvalds/linux/commit/8323f26ce3425460769605a6aece7a174edaa7d1
Only log temp when it is getting closer to Dynamic EDP limit to
reduce kernel log spam
bq27541: Add current_now property

The current is returned by the charger as a twos
complement signed integer in milliamps.  Applications
such as CurrentWidget expect this to be microamps.

Signed-off-by: Andrew Dodd <atd7@cornell.edu>
Change-Id: I053b3d1f24ec04391e982fdcb4b3486241c3aa34
mm.h: readahead boosted to 2048kb
Fix SMC #0 compiling error
ARM: support XZ compressed kernels

Wire up support for the XZ decompressor

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
sched: don't call task_group() many times in set_task_rq()

It improves perfomance, especially if autogroup enabled.

The size of set_task_rq() was 0x180 and now it is 0xa0.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation

Make the following two non-functional changes.

* Separate out insert_kthread_work() from queue_kthread_work().

* Relocate struct kthread_flush_work and kthread_flush_work_fn()
  definitions above flush_kthread_work().

v2: Added lockdep_assert_held() in insert_kthread_work() as suggested
    by Andy Walls.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Andy Walls <awalls@md.metrocast.net>
kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed

kthread_worker provides minimalistic workqueue-like interface for
users which need a dedicated worker thread (e.g. for realtime
priority).  It has basic queue, flush_work, flush_worker operations
which mostly match the workqueue counterparts; however, due to the way
flush_work() is implemented, it has a noticeable difference of not
allowing work items to be freed while being executed.

While the current users of kthread_worker are okay with the current
behavior, the restriction does impede some valid use cases.  Also,
removing this difference isn't difficult and actually makes the code
easier to understand.

This patch reimplements flush_kthread_work() such that it uses a
flush_work item instead of queue/done sequence numbers.

Signed-off-by: Tejun Heo <tj@kernel.org>
wakeup: Use irqsave/irqrestore for events_lock

Jon Medhurst (Tixy) recently noticed a problem with the
events_lock usage. One of the Android patches that uses
wakeup_sources calls wakeup_source_add() with irqs disabled.
However, the event_lock usage in wakeup_source_add() uses
spin_lock_irq()/spin_unlock_irq(), which reenables interrupts.
This results in lockdep warnings.

The fix is to use spin_lock_irqsave()/spin_lock_irqrestore()
instead for the events_lock.

Full bug report here:
https://bugs.launchpad.net/linaro-landing-team-arm/+bug/1037565

Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Android Team <kernel-team@android.com>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
Reported-and-debugged-by: Jon Medhurst (Tixy) <tixy@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Id455188931229f04e353969af389e49b069cb34c