msm: mdss: hdmi: NUL-terminate spd data

NUL-terminate SPD Vendor name and SPD
Product description data stored in the
control structure of hdmi driver. This
avoids overflows in print messages and info
frames.

Change-Id: I0a0adcfad06625e4d7368d3c5cd0ec38f0e047d8
CRs-Fixed: 520148
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
radio: iris: Add the parameter to turn on/off sig blend

FM driver will always enable the sig blend feature, it will cause
FM seperation failure during lab test.So add this new parameter
to disable the feature by adb command to pass the test.

Change-Id: I187d4e5fff4aabfb994a905e174bb8ce941e2c16
Signed-off-by: Sheng Fang <fsheng@codeaurora.org>
ASoC: wcd9xxx: Disable RC oscillator after use

Currently RC oscillator is left enabled even after
its use when headset is inserted and then removed.
Disable RC oscillator after headset is removed during
clock block put.

Change-Id: Ic799be15f900b7261455e27c4e6b7b95c049f6e4
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ARM: dts: msm: Update device tree with memory map information for 8974 pro

Update the device tree in order to be aligned with the latest memory
map. As the venus, adsp and wconnect images are relocatable, reclaim
the memory that was previously occupied by non relocatable images of
these subsystems.

Change-Id: I553e57412ef6868eac97874f3300982a029fe971
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
USB: phy-msm-usb: Enable USB Interrupt only if ASYNC IRQ is not present

Some USB controllers have different IRQ line to exit from
LPM. This is ASYNC IRQ. If this IRQ is present, we dont
need to enable or disable the USB interrupt during otg
suspend and resume respectively.

There is a new requirement for XO shutdown during idle.
To allow XO in idle CPU states. When CPU is idle, if an
irq is enabled and is not capable of waking up from xo,
the xo shutdown is aborted. Hence non-wakeup capable irq
must be disabled.

Change-Id: I3197a1b413a1bf849db3572442cc8dbc5f264b53
CRs-Fixed: 520531
Signed-off-by: Sujeet Kumar <ksujeet@codeaurora.org>
ARM: dts: apq: remove unnecessary configuration of pmic gpio 36

DragonBoard8074 does not use pmic gpio 36 so removing it.

Change-Id: I5bc6908cda40eb08831afb696fbb2567a462878a
Signed-off-by: Asaf Penso <apenso@codeaurora.org>
ASoC: msm: qdsp6v2: Initialize local variable output_meta_data

The local variable output_meta_data is not initialized if
prtd->meta_data_mode is false. It can lead unexpected behavior.

Change-Id: I1801af9bc9c8bf31a9902388e01f4ae5c165be28
CRs-fixed: 539805
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
ARM: dts: Don't put SDHC1's vdd-io regulator in lpm for msm8610 CDP/MTP

The vdd-io regulator for eMMC powers the controller inside the eMMC
device. Setting this regulator to lpm mode when the device goes to sleep
might restrict the amount of power that the card can draw. This might
lead to undeterministic behavior and thereby put the card in bad state,
hence don't set this regulator to lpm.

Change-Id: Ia0f571673fbaa9e583e8f4c3cc079e7d2fa9bbdd
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
ARM: dts: msm: Add NFC device for msm8610

Add nfc device for 8610 based msm. currently sensor and nfc share
same i2c.

Change-Id: Ib696fbcd122583c241fb195fb83a36c892c92799
Acked-by: Umesh Jagga <ujagga@qti.qualcomm.com>
Signed-off-by: Bansidhar Gopalachari <bansid@codeaurora.org>
msm: 8610: gpiomux: Configure nfc gpio clock source

Add gpio clock source and remove ethernet interrupt which is used
by NFC as clock

Change-Id: I50e9e4b5c1602019667a69b04244e03fb3bbf7a2
Acked-by: Umesh Jagga <ujagga@qti.qualcomm.com>
Signed-off-by: Bansidhar Gopalachari <bansid@codeaurora.org>
msm: clock-8610: Update lookup table for NFC clocks

i2c gpio clock configuration needed to support qca199x NFCC
on msm8610.

Change-Id: Ieef2c54ce1d3c4ff022f9ffa211d0d8ff480db2f
Acked-by: Umesh Jagga <ujagga@qti.qualcomm.com>
Signed-off-by: Bansidhar Gopalachari <bansid@codeaurora.org>
defconfig: msm8610: enable Qualcomm NFC NCI driver

Add the config parameters to enable the NFC QCA1990
NCI driver for msm8610

Change-Id: Ie5e54c767fffe900c007e934a6b4cd7cd2e44290
Acked-by: Umesh Jagga <ujagga@qti.qualcomm.com>
Signed-off-by: Bansidhar Gopalachari <bansid@codeaurora.org>
power: qpnp-charger: allow charging in host mode

If host mode is enabled, allow the BATFET to be closed
thus that a DC charger is still able to charge the battery.

Change-Id: I3f863db42b028fa51637d3eb02f0931a02311e27
CRs-Fixed: 495760
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
mdss: display: remove the pwm gpio request from edp backlight

There is no use of the pwm gpio inside the driver so cleaning up the code
and removing it from devicetree.

Change-Id: I72c038f3082aa6ed18ea9142de75faecc1e1e0fd
Signed-off-by: Asaf Penso <apenso@codeaurora.org>
mdss: display: making lpg channel and pwm period as optional

These properties need to be optional and used only when having an embedded
DP monitor, i.e. eDP.

When using the eDP driver with external DP monitor there is no need to
configure the fields for the external backlight since it is done by the
monitor itself.

Change-Id: If1010e99c82e276991f30055140118aba29b0ecd
Signed-off-by: Asaf Penso <apenso@codeaurora.org>
msm: kgsl: Use the right set of flags for issuing user commands

KGSL_CMD_FLAGS_EOF is both a valid command flag from the user and
a valid internal flag for the ringbuffer submit code.  This is
the only flag that can do this - the other internal flags either
have different meanings or aren't valid user flags.  Use an internal
register to store the command flags in adreno_ringbuffer_issueibcmds
so we don't accidently end up sending in the wrong control flags to the
ringbuffer code.

CRs-fixed: 546449
Change-Id: Ic0dedbadb9245002a60aa54cb51d35d98b9cb531
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
ASoC: msm: q6: check upper bounds when copy ac3 params

Although AC3 maximum param size is fixed, better check upper bounds
when copy user data. It might cause overflow, possibly cause memory
corruption.

Change-Id: I2f7cec8edd9e013de1433ea06480b963ec307196
Signed-off-by: Fred Oh <fred@codeaurora.org>
msm: kgsl: Don't use uninitialized values in hang detection

Under some circumstances some of the registers used for hang detection
are not defined (usually because the hardware doesn't support them).
The hang detect code properly skips those registers when reading the
hardware but the corresponding offsets in the destination array are
still compared to detect a hang.  Since the array was defined on the
stack and those particular members were never read from the hardware
the values could be non zero a real GPU hang could be missed.

Skip the undefined hang detect registers in all three for() loops
where the list of hang detect registers are used.

CRs-fixed: 540224
Change-Id: Ic0dedbad6e654e3a4e6db5468eac698e91e7f32b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
msm: vidc: Supress non fatal Session errors

FW sends SESSION_ERROR for various reasons. The session error
might not be fatal always. This is conveyed using event_data1.
Driver needs to process this message and supress non fatal
errors and reports only fatal errors to clients.

Change-Id: If9ded26977805e2c2299ef1c4a63212d2679495c
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
qseecom: Fix issues with failure to release client handle

There exists scenarios when qseecom_release is called,
the client handle type is incorrect; hence proper cleanup
is not done with regards to unloading app or cleaning up
memory allocated for the device handle.
This change addresses all cleanup issues related to qseecom
client in qseecom_release call by ensuring the handle type is
set correctly and cleanup is done properly based on client type.

Change-Id: I126aa431ce635ae98100b774e3d92b704635d199
Signed-off-by: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org>