msm8974: mdss: dsi: uncached alloc for dsi buffer (FIX)

Use uncached allocation for DSI buffers to avoid
cache inconsistency issues introduced with SLUB
DEBUG option enabled. With SLUB_DEBUG, the entries
in cache are somehow polluted which results in incorrect
dsi command values sent to the panel. This change avoids
cached allocation by using dma allocation instead.

Change-Id: Ib769e91d411bf856e7d2e860cff7c1188ff0236e
CRs-Fixed: 488236
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
msm: mdss: hdmi: hdcp encryption enablement

For hdmi as primary case, enable encryption after
hdcp authentication passes. That is to avoid black
screen before authentication finishes.

Change-Id: I956066369dd7bae5794fe4c2751712293924cf54
Signed-off-by: Ken Zhang <kenz@codeaurora.org>

Conflicts:
	drivers/video/msm/mdss/mdss_hdmi_tx.c
diag: Add new polling command

Diag driver should now support a new polling command for the tools
to recognize the target.

Change-Id: Ia7966cc74c5c74693cebfd64b178831e5ca6f2dd
Signed-off-by: Ravi Aravamudhan <aravamud@codeaurora.org>
usb: f_qc_rndis: Correct SSUSB descriptor with IAD information

Currently SSUB descriptor is using rndis.c related descriptor
which is not being updated at binding time. Hence windows host
is not able to load RNDIS driver identifying both Control and
Data Interfaces. Update the same which is being updated and used
by qc_rndis.c file to resolve this issue.

Change-Id: I6788059bf247dc5f767970ef76a10351ed83dbb1
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
msm: wlan: update db.txt

Update db.txt by removing AD & BL from the list as recomened by
QCA regulatory compliance team

CRs-Fixed: 608532
Change-Id: I7b32feb32235e84e94100ee3a0986de1faaef88f
Signed-off-by: Tushnim Bhattacharyya <tushnimb@codeaurora.org>
ARM: dts: msm: Add the hardware jack setting for all boards

Headset jack can have 4-pole or 5-pole or 6-pole.
Add device tree setting to distinguish these jacks.

Change-Id: I51835bb082346f672350dda08832670b71e8387a
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>

Conflicts:
	arch/arm/boot/dts/msm8974-cdp.dtsi
	arch/arm/boot/dts/msm8974-mtp.dtsi
ARM: dts: msm: Add the hardware jack setting for ks01lte boards
ASoC: wcd9xxx: Maintain micbias for headsets with threshold on mic

There are headsets that require to maintain  micbias while
it's plugged since mic of headsets have threshold to turn
on mic. Maintain micbias when this type of headset is detected
in order to detect headset button press.

CRs-Fixed: 587697
Change-Id: Ie2bc622d4336ab9b772cd996db84b569dacd9bf6
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
ASoC: wcd9xxx: Enable micbias always when headset is detected

As micbias is shared on 8x10, we cannot use vddio switch to
detect special headsets. We can keep micbias alwyas on
to support these headsets.

Change-Id: Id62dfdf78bed2ea63e5fd8c6e6a8da2f19ee5f36
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
ASoC: wcd9xxx: Notify mbhc when TX1/IN1 path is enabled

Notification is sent to mbhc whenever TX1/IN1 path is used
for audio capture. MBHC then will switch to VDDIO if headset
is inserted. This is to avoid polling noise that gets captured
in the recorded audio due to noise coupling in hardware b/w
TX2 and TX1 paths.

Change-Id: Iac40f41572d1417d2afdc55438d86c047710824f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ASoC: wcd9xxx: Add support for MBHC 5-pole plug detection

Add support to determine the presence of second microphone
on a 5-pole plug used for active noise cancellation.

Change-Id: I85227a00c47fed1d0e4453b77902c1b473097a5b
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ASoC: msm: Add RDAC3 Mixer control support for headset right.

Currently HPHR is configured by default to RX2.Add new Mixer control
RDAC3 where in RDAC3 is dynamically configured either to RX2 or RX1
and then connect RDAC3 to HPHR.

CRs-Fixed: 588189
Change-Id: I06d139e9e4c703e2d3093018def3aa9720e3e8b3
Signed-off-by: Mohammad Johny Shaik <mjshai@codeaurora.org>
ASoC: msm8x10-wcd: Reduce pop noise when earpiece is switched fast

In some scenarios, earpiece will be switched on just after turned off,
which will cause the audible pop noise in earpiece.
And if customer increases the EAR PA gain, this noise can be much louder.
So enable the SND_SOC_DAPM_POST_PMD event for EAR PA kcontrol
to stablize the PA.

Change-Id: I8991e268e5d161ab14e19ef4bb7e60211758c4f2
CRs-fixed: 591848
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
Asoc: Add support for codec bulk write for Helicon

Helicon can not use existing bulk_write function
as analog and digital codecs are in different busses.
So implement bulk write accordingly as per the codec interfaces

CRs-Fixed: 593609
Change-Id: Ibc16539cbd795fd998e88b6dc5b9060d70b498ac
Signed-off-by: Yeleswarapu, Nagaradhesh <nagaradh@codeaurora.org>
ASoC: msm: Parse the jack type property

Parse the property from device tree to check
the jack type.

Change-Id: I9d91745ae1faa07501a49e31773e21a11bfe9bd4
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>

Conflicts:
	sound/soc/msm/msm8226.c
ALSA: jack: Add support to report second microphone

ALSA jack framework currently supports reporting only
one microphone. Add support to report presence of
second microphone to the userspace.

Change-Id: Id0df7aa222e547da3771f5d61092a959394c10dc
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>

Conflicts:
	include/linux/input.h
usb: misc: mdm_ctrl_bridge: Honor device polling interval

Driver is not using polling interval from device end point
descriptor. Instead driver is using hard coded value which
is inconsistent with the polling frequency required by the
endpoint of the device. If device requires polling interval
shorter than hard coded value it leads to latency to the
end to end communication. Hence use polling interval from
endpoint descriptor of attached device.

Change-Id: Ifdd7c8d6bf7c56c9285bbbd84cd447214b0cf242
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
net: usb: rmnet_usb_ctrl: Honor device polling interval

Driver is not using polling interval from device end point
descriptor. Instead driver is using hard coded value which
is inconsistent with the polling frequency required by the
endpoint of the device. If device requires polling interval
shorter than hard coded value it leads to latency to the
end to end communication. Hence use polling interval from
endpoint descriptor of attached device.

Change-Id: Iefa268ada9c672b5ccd805030b0f813f1ad9f286
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
crypto: msm: Add basic suspend resume functionality

If ce clock is not disabled in suspend state, memory may be corrupted
and device can not wake up. We add an optional flag "clk_mgmt_sus_res"
for qcrypto driver. This flag indicates if the ce clocks need to be
disabled in suspend function and enabled in resume function of qcrypto
driver. When the flag is set, we disable the clocks that are not disabled
in suspend function and re-enable them again in resume function.

Change-Id: I23be38b2765c0cc5f3ed41d65f8e4ae8a9372d18
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
mdss: display: Add support for variable refresh rate

Add support for variable refresh rate by changing the
VFP immediately and programming it to MDP TG and
DSI registers.

Change-Id: I186e80cf38d42f4224afedadda96cc613ae68470
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>