ASoC: core: Update DMA mask for hostless pcm devices

Hostless pcm device coherent DMA mask is hardcorded to 32.
Update it based on size of dma address to support both
32 and 64 bit

Change-Id: I604d440cfd5abcf473ec87b18b5cc6ee8ff42b49
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
defconfig: msm8974: Enable synaptics touchscreen

Enable synaptics touchscreen driver in both defconfig
and perf defconfig.

Change-Id: I0e4aaee8e252dd3fd485b9e4f344bafd9be187de
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
ASoC: msm: Add few more Dolby endpoint dependent paramters

While turning Dolby effecrs on and off from its UI app, volume of
levels vary and difference is observed. Dolby requires few more
paramters to be sent based on endpoints for proper tuning.

CRs-Fixed: 503579
Change-Id: Ibae16d417d4df53eb2bf27475ed24fa409af3861
Signed-off-by: Jitendra Singh Naruka <jnaruk@codeaurora.org>
usb: gadget: Fix f_rmnet enumeration with destroyed gbam_wq and ports

Commit '5a8d1e95' 'usb: gadget: Fix race condition in enable\disable
Rmnet device' introduce a bug in which we destroy the gbam ports and
gbam workqueue while these are allocated only once on first and only
bind config.

CRs-Fixed: 544296
Change-Id: Id0ca37119fef107ca632bfd9154449793c7bca66
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
msm: kgsl: Per process pagetable feature fix for A4XX

A4XX core does not support CP_WAIT_REG_EQ command type used
to support per process pagetable feature. Use CP_WAIT_REG_MEM
command instead for A4XX

Change-Id: I377c5e4280820e0ca73279c4143cafe691b32991
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
msm: vidc: handle mappings for dynamic buffer mode

For dynamic buffer mode, map and register each
buffer during qbuf before sending to firmware,
instead of doing it during prepare_buf. Based on
the buffer ref count, the FBD from the firmware is
unmapped and released back to client or queued back
to firmware.

Change-Id: I91aaf80f0177bcf2e18d3d26b41f5ea131334579
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: vidc: handle release ref events for dynamic buffers

For dynamic output buffers, firmware can hold on to a
output buffer reference after releasing it to
driver. The buffer is marked as read only and sent
back to client. The driver maintains the reference
of this buffer and decrements it when firmware
sends the release reference event. The client is
notified of the release reference event.

Change-Id: Ie3c014af255e09f6dac9b3b853c9994b97d830b6
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: vidc: flush dynamic buffers held in driver

A dynamic buffer whose reference is pending
with f/w and queued back by client, will be
held in the driver. During flush, f/w will
release the reference, but driver should not
queue back the buffer to f/w.

Change-Id: If6fea08645a186691d49beaaf7a51a75f4b3121e
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: vidc: add debugfs support for dynamic buffer mode

video driver debugfs will provide the following info
(a) buffer mode for each buffer type
(b) list of pending output dynamic buffers with
firmware and driver along with their ref count, fd
and address.

Change-Id: Idc3816c825dfb0c174e6d01b72e741d14f9299e3
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: kgsl: Enable the iommu halt feature for certain IOMMU versions

Enable the IOMMU halt feature for non v0 IOMMU versions instead of
depending on the feature being enabled in the IOMMU device tree.
This is because on certain chipsets this feature is not set in
the device tree even if the IOMMU h/w supports it.

Change-Id: I39236b5f7a7dc1d0d739bbb39bfc7fda4931da56
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
msm: vidc: query tz for dynamic buffer feature support

Query TZ before returning to video hal whether dynamic buffer
mode is supported or not for secure playback.

Change-Id: I77744807524f5d6a4a1e45ea12719c5d4fd6df39
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Signed-off-by: Shalaj Jain <shalajj@codeaurora.org>
msm: kgsl: Correctly enable A3XX performance counters

Remove code in a3xx_perfcounter_enable which erroneously
modifies A3XX_RBBM_PERFCTR_LOAD_CMD* registers. These registers
are not required to enable the performance counter.

Change-Id: I863db174a2ea6fc6e8496e4e95818e19c57f8645
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
msm: kgsl: Add performance counters for A4XX

Add performance counters A4XX GPU. Use A3XX performance counter
code whenever possible.

Change-Id: I6c3ae762e3aad73193bba46a8b135c91c3b5ec89
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
msm: smd: Reset the PIL string in edge_to_pid table

When configuration data for SMD is available through Device Tree, reset
the default subsystem_name information in edge_to_pid table. This will
enable the clients of SMD to identify unsupported edges.

Change-Id: I394cba40ae99a1bc4c255a7abf5188dbdde18a6f
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
msm: kgsl: Do not allow use of invalid performance countables

On A4XX certain countables cannot be used as they are broken.
Enforce checks to make sure that these countables are not used.

Change-Id: Idf5e4c2e66369d1d1da014b8d046466468c12328
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
msm: kgsl: Parse set draw state packet found in IB for A4XX

Add parsing of set draw state packet when searching for memory
objects in IB. This is a new PM4 packet type introduced for
A4XX. The packet declares a list of command streams that can
contain pointers to other objects like vbos, textures, etc.
When parsing a set draw state packet all the objects in the
command stream needs to be tracked including the command stream
itself.

Change-Id: I74dccf7bfab7a1313833a3d4551fd22d686172a0
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
ASoC: msm: Parse headset jack type

Headset jack type can be either normally open
or normally closed. Read the on-board headset
jack type from device tree.

CRs-fixed: 543701
Change-Id: I1d010d10fb50d5b0ca501bce647158b85492ca7e
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
wlan: cld: Add CLD driver configuration to Kconfig for APQ8084

The WLAN CLD driver depends on WEXT, NL80211 TESTMODE and PCI
support in the kernel. So add a CLD driver configuration
CONFIG_CLD_LL_CORE for qca6714 that selects WEXT and NL80211
Testmode support and sets the dependencies on PCI, MSI and PCIE.
Also add the CLD config to APQ8084 default kernel config.

CRs-Fixed: 550681
Change-Id: I99d88ba3d3f6029fa9a39631683828d949c719d6
Signed-off-by: Rajesh Chauhan <rajeshc@codeaurora.org>
Acked-by: Sundar Subramaniyan <subrams@qti.qualcomm.com>
ARM: dts: msm: Add board specific jack type for msm8x26

The headset jack can be normally closed(NC) or normally open(NO)
Add NC type for boards that have NC jack type.

CRs-fixed: 543701
Change-Id: I28f90736a84b72b1447d3ed6549c1fffcd418b7a
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ARM: dts: apq8084: Enable GPIO buttons on APQ8084

Add in device tree information for camera snapshot, focus, and
volume up buttons on APQ 8084 CDP and MTP devices.

Change-Id: Iea66ce439b482ba507837ccfd221a033e2f17dbc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>