Squashed update of kernel from 3.4.93 to 3.4.94
touchscreen: adding fuzz to improve ovation sensitivity

Adding a fuzz factor to improve X/Y touch registration.
drivers: android: *squashing updates*

Signed-off-by: moddingg33k <moddingg33k@t-online.de>
oom_kill: change oom_kill.c to use for_each_thread()

Change oom_kill.c to use for_each_thread() rather than the racy
while_each_thread() which can loop forever if we race with exit.

Note also that most users were buggy even if while_each_thread() was
fine, the task can exit even _before_ rcu_read_lock().

Fortunately the new for_each_thread() only requires the stable
task_struct, so this change fixes both problems.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Sergey Dyasly <dserrg@gmail.com>
Tested-by: Sergey Dyasly <dserrg@gmail.com>
Reviewed-by: Sameer Nanda <snanda@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mandeep Singh Baines <msb@chromium.org>
Cc: "Ma, Xindong" <xindong.ma@intel.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Cc: "Tu, Xiaobing" <xiaobing.tu@intel.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arm: Fix compatibility with linaro toolchain
Revert "ARM: Optimize memset/memcpy (Credits to: Harm Hanemaaijer)"

This reverts commit 8d81e767d8a3be64939797b1ba9a35ab0e56752a.
ADSP: QDSP5: *squashing updates*

msm: adsp: qdsp5: Allow MOD_READY event in ENABLING state

      JPEGTASK is receiving MOD_READY event after it is disabled
      which is not expected. When JPEGTASK enable fails with
      ETIMEDOUT error, this module is disabled immediately.
      But MOD_READY event for this module is sent by RPC to
      Apps ADSP Driver even after it is disabled. Ignore this
      event incase module state is not in ENABLING state.

      CRs-Fixed: 395420
      Change-Id: I0bd637f8bee84e811a400ac107f81d3df7a64a07
      Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>

qdsp5: audio: Add support for adsp dump mechanism

      Whenever timeout happens at apps while waiting for response
      from ADSP services, dsp or audmgr apps initiates command to
      collect cache coherent dumps to modem ADSP services to collect
      dump. This will help in debugging the timeout issue.

      Change-Id: Ic48d2815611afea8fed38c2c235e539619bed0ea
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

msm: audio: qdsp5: Add support for MIDI method

      Currenly CAD driver only supports VOICE method when setting volume.
      For applying dynamic PMIC gain MIDI method is used. Changes are made
      to support MIDI method also.

      Change-Id: Id2d4868c88ef1fc08bbdbd3757905edc5435923c
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

qdsp5: mvs: Allow only single instance of mvs session

      During MVS open, mvs driver calls msm_rpc_connect to establish
      rpc connection with modem mvs server without checking for
      current state of mvs driver. This causes modem oncrpc memory
      pool to exhaust if back to back open is called without closing
      the mvs driver.

      Added check to call rpc connect only if mvs driver is in
      closed state.

      CRs-Fixed: 433208
      Change-Id: Id8274318096ba3e774925451999670eebe0a66c1
      Signed-off-by: Manish Dewangan <manish@codeaurora.org>

msm: audio: qdsp5: Fix for wrong device values sent to acdb

      Wrong device values are being sent acdb driver callback function.
      This is because for a new audio manager session which gets registered,
      device info is sent only when there is change in device configuration
      or sample rate configuration. Due to this, not all sessions are updated
      with the current device info and wrong values are sent to acdb.
      Avoid this by maintaining a common device info across all sessions
      to send correct device values.

      CRs-Fixed: 420467
      Change-Id: I1d5555252aa56fddf28f06df5b60df6579f1ed7d
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

qdsp5: audio: Allow audio preprocessing only from acdb driver

      audio pp(preprocessing) features enabled via acdb (Audio calibration
      database) driver gets disabled by audio pcm encoder driver if audio
      record enable acknowledgement comes after applying pp parameter
      via acdb.

      Fix this by allowing audio pp enable from pcm driver only
      if acdb support is not available.

      CRs-Fixed: 436891
      Change-Id: I2882752f55ac1c3ac3160d28c081dd9940b9f83e
      Signed-off-by: Manish Dewangan <manish@codeaurora.org>

msm: audio: qdsp5: Allow postprocessing only from acdb if present

      Audio postprocessing(audio pp) features enabled via acdb (Audio calibration
      database) driver gets disabled by audio postprocessing driver during
      open.
      Fix this by allowing legacy audio pp feature enable from postprocessing
      driver only if acdb support is not available. Acdb driver maintains wrong
      state due to improper update of stream id which is used to maintain
      number of active sessions. Due to this postprocessing features are
      enabled even before audpp task is enabled in adsp.

      Change-Id: I817263b0134f0302e64093148bafbe559cbc100a
      CRs-Fixed: 409488
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

msm: audio: qdsp5: Add wake up in audio manager callback

      Audio manager enable is failing on timeout in few cases.
      In audio manager callback for codec config, wake up is missing
      in cases where CAD(Common Application Device) is not present.
      Due to this timeout happens in enable call while waiting on
      above condition. Add wake up in such case to avoid issues.

      CRs-Fixed: 439047
      Change-Id: I2c176513dd2aadf17190228e60bf042a794d8daf
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

qdsp5: audio: Avoid race condition by using mutex lock

      There is chance of race condtion if audpp(audio postprocessing)
      callback registration function is called concurrently
      by more than one clients.

      Avoid this by serializing audpp callback function using
      mutex lock.

      CRs-Fixed: 441525
      Change-Id: Ic7524d83b32d54b09ba77648a266585957f49648
      Signed-off-by: Manish Dewangan <manish@codeaurora.org>

qdsp5: mvs: Fix kernel panic due to early closure of endpont

      MVS driver closes the RPC endpoint while it sends reply to the
      RPC read sometimes. The RPC write for this reply results in
      crash as endpoint is already closed.
      Wait for RPC read and reply to complete before closing the
      endpoint.

      CRs-Fixed: 443706
      Change-Id: Ia1918082118f23ab9aefec1c3a04908d8d8c1199
      Signed-off-by: Sriranjan Srikantam <cssrika@codeaurora.org>

msm: audio: qdsp5: Add support of dynamic re-enable of post proc

      DSP can disable the post processing features due to unavailability
      of MIPS during video playback. As a result difference in audio
      quality is observed after video playback. Add support to re-enable
      the post processing features once video playback ends and MIPS are
      available.
      DSP sends a message whenever post processing features are disabled
      due to unavailability of MIPS and sends another message once the
      MIPS are available. AUDPP driver broadcasts these messages to all
      the relavant clients which keeps track of disabled features and
      re-enables them when re-enable message is received from DSP.

      Change-Id: Ic4cad4e7b0afe4377006055417ba193b01cce930
      Signed-off-by: Sriranjan Srikantam <cssrika@codeaurora.org>

qdsp5: audio: Release wake_lock resources at exit

      Wake_lock resources acquired during module init are not
      released during exit. This leads to corruption in list
      maintained by wake_lock driver and cause crash.
      Release the resources before exiting the module.

      CRs-Fixed: 405797
      Change-Id: I6340fff390af677c47c59264e01f6cd723fea357
      Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>

qdsp5: audio: Check for earlysuspend support.

      Declaration of audac3_post_event is not currently
      guarded by an ifdef check for CONFIG_HAS_EARLYSUSPEND
      (the function's definition is), causing builds without
      early suspend to fail. Use the ifdef check for the
      declaration to avoid this.

      Change-Id: I5a5758df6b543d100351644b20795b30f74e556b
      Signed-off-by: Anurag Singh <anursing@codeaurora.org>

msm: Remove all references to pmem from audio files

      PMEM is no longer supported. Remove all references to it.

      Change-Id: If68c41901b8fb0b9382650c3123a68958f769761
      Signed-off-by: Laura Abbott <lauraa@codeaurora.org>

qdsp5: memset stack buffer allocation.

      This is needed to avoid garbage data in uninitialized variables.

      Change-Id: I3a043a4ce4e14d8e0c24b434181dff484eddac72
      Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Makefile: *GCC optimizations*
Config changes

Enable CMA
Enable MMC block bounce
Version 0.43