msm: camera: vision mode sensor driver

Required to activate the vision mode in s5k6b2yx sensor.

Change-Id: I56e7c56fed414d030e6e57ff7e15c20a071c5dc6
Signed-off-by: Punit Soni <punits@codeaurora.org>
Signed-off-by: Ninad Patgaonkar <ninadp@codeaurora.org>
Camera: Rollback to stock camera driver & ION/IOMMU port

-Move to stock camera driver without dual camera, PIP
 changes.
-Changes to make this older stock camera driver compatible
 with newer ION interface & IOMMU.

This partial revert brings us back to the following commit:

commit 954b92b26c623ea389c667f10ca870b901f18d7a
Author: insup.choi <insup.choi@lge.com>
Date:   Mon Jul 2 15:24:23 2012 -0700

    camera: add mako camera driver imx111, imx119

    Change-Id: I5451ba05023fe7cbe3442512924062e7dc63f3f4

Signed-off-by: Iliyan Malchev <malchev@google.com>
Signed-off-by: Mansoor Aftab <maftab@codeaurora.org>
Change-Id: Ic8aac872572989c7747b4a2b36190ac2da6617ee
ASoC: msm: Fix delay in switching from WFD session

- When a running WFD session is paused/disconnected, there is
  a delay of about 10-15 seconds in switching audio from WFD
  sink to target.
- pcm_write is blocked because pausing/disconnecting the WFD
  session closes the backend DAI before a new link is established.
- Avoid closing afe if front end PCM session is still active.

CRs-Fixed: 444163
CRs-Fixed: 425512
Change-Id: I1ad6de1e201aa6130c397007219c0d370c7be2a1
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
ASoC: wcd9310: Update wcd9310 compander configuration

Update the Compander register settings to remain the default
settings after the system bootup and optimize compander
configuration sequence.

Change-Id: Ib475f3bb84414546b4ead1d3f013dc173317e1b3
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
msm_fb: display: add wfd suspend/resume to early suspend

wfd on/off was handled by fb_on/fb_close which are called from video
or userspace side. However, this is not the case for this branch. mdp
driver has to register wfd for suspend to make sure proper panel
on/off happen.

Change-Id: If1836598e5ae95e4b2b72e40dc85784a0d20c843
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
diag: Add support for mutiple HSIC instances

On a future target, applications processor will talk to
two MDMs simultaneously. This change will enable multiple
HSIC connections towards this configuration.

Change-Id: I2138b1d458936eddb8276a12e92916a4893d922b
Signed-off-by: Ravi Aravamudhan <aravamud@codeaurora.org>
msm_fb: display: fix division-by-zero bug

Panel v_back_porch could be zero for virtual panels, so the check for
zero is added to fix the bug.

Change-Id: I6a29f3d8d771092bca2374cc9a1c11dd77ad569e
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
msm: display: increase fence timeout

Increase timeout value to 900ms to allow
gfx engine to render longer.
When sync_fence_wait fails, need not put fence as
it will be handled outside the loop.

Change-Id: Id4caff55c9f99c48e5f87a85d30fe4c8c0cd65e7
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
msm: kgsl: Cleanup memdesc flags

We had a ugly mix of flags from usersapce mixed in with internal flags
and the flags were stored in priv and the internal flags were stored
in flags and general confusion all around.

So, external (user) flags moved to memdesc->flags, internal bits moved
to ->priv and now we are ready to handle the full onslaught of user
specified flags.

Change-Id: Ic0dedbad2236ae353b31e5dcaa6ff551713abaf1
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
msm: kgsl: Add GFP_NORETRY to the page_alloc flags and handle errors

The most important thing for the memory allocator is to not crash
or otherwise behave badly during low memory situations. Adding
GFP_NORETRY keeps the OOM killer from being invoked making the 32MB
padding on the allocation redundant.  Remove the padding, add the flags
and go down the proper error path when alloc_pages() fails.

Change-Id: Ic0dedbadaf86e248b372b22cd3a41a5dabedb82e
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
msm: kgsl: Remove support for IOCTL_KGSL_SHAREDMEM_FROM_VMALLOC

All userspace consumers should now be using IOCTL_KGSL_GPUMEM_ALLOC,
so we can safely remove this kludgy and deprecated code.  The structs
and #defines are left in the header to avoid breaking userspace and
to serve as a reminder of the way we were, but any use of
IOCTL_KGSL_SHAREMEM_FROM_VMALLOC will return -ENOTTY.

Change-Id: Ic0dedbad1460acfe28116ee2dbd75faa52b76857
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
msm_fb: display: wait4vsync after timing generator is turned off

When continuous splash is enabled, timing generator is enabled at
bootloader, it then needs to be turned off at mdp4_dsi_video_on()
to switch displayed content from frame buffer. wait4vsync after
timing generator is turned off is necessary to make sure DMAP has
finished fetching splash logo from original splash buffer. Otherwise,
DMAP iommu page fault may happen.

Change-Id: I35f9fb9da76f93b60d4719d147aea3246c770c9f
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
cfg80211: Add TDLS event to allow drivers to request operations

The NL80211_CMD_TDLS_OPER command was previously used only for userspace
request for the kernel code to perform TDLS operations. However, there
are also cases where the driver may need to request operations from
userspace, e.g., when using security on the AP path. Add a new cfg80211
function for generating a TDLS operation event for drivers to request a
new link to be set up (NL80211_TDLS_SETUP) or an existing link to be
torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these
events, e.g., based on noticing data traffic being sent to a peer
station that is seen with good signal strength.

Change-Id: I778f5136fc4518bedcaed14a5412de4be6c85cf3
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Ng Chilam <chilamng@qca.qualcomm.com>
[Madan Mohan Koyyalamudi <mkoyya@codeaurora.org>: move changes from
include/uapi/linux/nl80211.h to include/linux/nl80211.h, remove trace.h,
remove trace_cfg80211_tdls_oper_request() in nl80211.c ]
Signed-off-by: Madan Mohan Koyyalamudi <mkoyya@codeaurora.org>
media: dvb: Reset read/write pointer when filter is stopped

Read/write pointers of filter's output buffer should be reset
to start of the buffer when filter is stopped and buffer is flushed.

Change-Id: I5e8dd61f4fc88be966b14152e7a6ba524969ffbb
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
tspp: Allocate from DMA pool for small buffer sizes

dma_alloc_coherent allocates minimum of page size. When
TSPP output buffers are smaller than page size memory
is heavily wasted using dma_alloc_coherent. DMA pools
are designed to handle allocations smaller than page size.

Change-Id: I942cc8cdc9d57ec3b87b14a6601dc4b3e642e7da
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
media: dvb: Fix releasing of section events

The code accesses the PES filter parameters even though the
filter could be a section filter rather than PES. Add check
of the filter type before checking the PES parameters.

Change-Id: Id74c70f518edb149d2d7a7e2b0bbb9bf1e3ac860
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
media: dvb: Report error statistics in new PES events

Report counters for transport error indicator, continuity-counter
errors and total number of TS packet constructing a PES in the
PES events so that applications can decide whether to decode
or drop the packet based on the errors information.

Change-Id: I8680163783a12c4f2518cd83fa0b3c7dfa882c34
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
media: dvb: mpq: Secure demux support

This change adds support for demuxing of encrypted streams which current
software demux implementation does not support.
User-space API is extended to allow setting of key ladder information
needed in order to perform decryption.
If secure demux application is available, demuxing does not take place in
the dvb demux sw filter anymore but instead is performed in the new secure
demux, regardless of whether the stream is encrypted or not.
Otherwise, the dvb demux sw filter will be used as before and demuxing of
encrypted streams will not be available.

Change-Id: If75a7b03d1f13d3b012250b87c25eaf6d6cbc399
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
msm: board-8064: Increase MFC ION heap size by 256KB

In order to support extra data during secure playback,
video core meta data buffers need to be allocated from
MFC heap. This is required as both HLOS and video core
have read-write access to this heap. As each meta buffer
size is 8KB and there can be 32 meta & output buffers,
increase the MFC ION heap size by  256KB.

Change-Id: I033d24c9d02a879e38c5f6d86b2b6c0a767ec25c
Signed-off-by: Deepak Verma <dverma@codeaurora.org>
msm: vidc: Separate meta buffers support in secure mode

Extradata is appended at the end of each output buffer
in non secure video use case but in secure video playback,
the client/CPU don't have access to the output buffer
to parse the extradata. This change allows the client/CPU
to parse the extradata by allocating separate buffers for
video hardware to store extradata.

Change-Id: I12927ea3d142b9cecd6fb1ae1086c5624d0e08d6
Signed-off-by: Deepak Verma <dverma@codeaurora.org>