input: synaptics_fw_update: Add force update entry

Add sysfs entry option to force update firmware, regardless
of versioning.

Change-Id: I85a12c531ee3d64a74da272b6e73b514eafc136a
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
input: synaptics_i2c_rmi4: Properly enter low power mode

When entering low power mode, i2c pull up regulator
must be set with LPM current, not active current.

Change-Id: Idc87cd57b8a4f75b665d3045123176b158b16691
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
arm: board-8930: Add synaptics firmware name in platform data

Add synaptics firmware name in platform data

Change-Id: I011144acc82f4fca25b9d40e05a3850117001230
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
ALSA: PCM: volume API implementation

Introduced a new helper function snd_pcm_add_volume_ctls() to
create control elements representing the volume for each PCM
(sub)stream.

Change-Id: Id483257c4fe84a909e7a4af3a5aa3e4f0d5d9ea5
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
ASoC: msm: Add PCM loopback volume control

Add PCM loopback volume controls.

Change-Id: I4d942c16b524797ca535dd0467a830d19963e967
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm_serial_hs: Use RFR GPIO to communicate remote uart

CTS and RFR GPIOs are used for hardware flow control between
two uarts. RFR GPIO provides current status of uart receiver
to remote uart and based on this remote uart sends data.
Hence use this functionality to prevent remote uart to send
data when port is being opened, baud rate change operation
is in progress and port is being closed.

This change also set UART_DM_MR2 (Bit: 8 and 9) before
configuring connected UART GPIOs to prevent RX_BREAK character
and any character having PARTIY or FRAMING error which can be
generated due to configuration of those GPIOs. Allows those
character once port is opened successfuly.

This change also zeroed uart rx software buffer which would
help to see how many bytes copied by ADM from received data
with UART RX FIFO to this memory. This would be useful if
there is any Rx Stall issue is seen.

CRs-Fixed: 495564
Change-Id: I69382994356073c4c86f205015503c935ad09e8d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
leds: pm8xxx: Enable PWM LPG banks based on max current

The current design enables PWM LPG high bank with out
checking the max current. So enable PWM LPG low bank when max
current configured as 4mA and enable PWM LPG high bank when
the max current configured as 8mA. Enabled both PWM LPG low bank
and PWM LPG high bank when max current configure as 12mA.

CRs-Fixed: 486318
Change-Id: I6686ed85d78fa55f08491a47c10581407e0cd70e
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm: vidc: Handle mgen2maxi interrupt in video driver

Handle interrupt generated by mgen2maxi h/w and
avoid unknown interrupts storm which results in
target reset issues.

Change-Id: Ida24cb2dde15c9cd4a4c1d9ca336b1a4b662c4d1
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
media: dvb: Fix error handling of SDMX API failures

When setting of key-ladder index fails, there's no need
to fail starting of the filter since it could only mean
that decryption might fail if encrypted packets are encountered.

In addition, if closing SDMX session fails, SDMX TZ application
might be removed anyhow, therefore we should clear reference
counting of SDMX session so that it is re-opened if requested
in the future.

Change-Id: I17e1ce62b72910e2086d948807af969725c6f18b
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
tty: smux_ctl: Add new SMUX port Support

smux_ctl exposes only one control port to userspace. Enabling of dual
PDN support requires two SMUX ports.

Add new SMUX control port to enable dual PDN support.

CRs-Fixed: 497343
Change-Id: I2a1d48f1e5d2acd1f67d7673d325c4360b783cf4
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
rmnet_smux: Increase Rmnet device instance count

Rmnet supports only one device instance.

Increase Rmnet device instance count to enable dual PDN support.

CRs-Fixed: 497343
Change-Id: I1b3eacec4404ac72a524380a1fff39e6b257ade8
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
ARM: 7693/1: mm: clean-up in order to reduce to call kmap_high_get()

In kmap_atomic(), kmap_high_get() is invoked for checking already
mapped area. In __flush_dcache_page() and dma_cache_maint_page(),
we explicitly call kmap_high_get() before kmap_atomic()
when cache_is_vipt(), so kmap_high_get() can be invoked twice.
This is useless operation, so remove one.

v2: change cache_is_vipt() to cache_is_vipt_nonaliasing() in order to
be self-documented

Change-Id: I36e5a63fdae158d9e7562f564f7e593b351f6960
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Git-commit: dd0f67f4747797f36f0c6bab7fed6a1f2448476d
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
[Few merge conflict resolved]
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>

Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm: kgsl: Always resume the GPU regardless of its state

Make sure we resume the GPU regardless of its current
state. If the device is not in suspend state restart the
device and  print an error message.

Change-Id: I9e71cbe27d360dc06513c54f3a734aaea5b10d2b
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
mfd: pm8xxx-pwm: Set the correct bank if PWM is enabled without lut_config

In the cases where PWM lut_conig is not required, both PWM banks
are not enabled. So set the correct bank if PWM is enabled without
PWM lut_config.

Change-Id: I2bbed2f055022689c5943e374ac99fce4387f663
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
ASoC: wcd9304: Wait enough time during mbhc calibration

If mbhc micbias has a capacitor which is large enough to delay micbias
voltage ramp up/down, initial calibration also needs to delay enough time
after changing mux to be able to calibrate ground and micbias voltage
accurately.  Increase delay to 50ms during calibration and improve
calibration accuracy.

CRs-Fixed: 495526
Change-Id: I8bf1297045565740175292a522168131754e7940
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
ASoC: wcd9304: recalibrate microphone ground voltage

Different clock sources can affect mbhc voltage inconsistent measurement
accumulation which consecutively results in inaccurate button detection.
Recalibrate ground voltage on dce handler to enhance mbhc button detection
accuracy.

CRs-Fixed: 495526
Change-Id: I30c548677a85febe644da1dfb4ce1c6622c8a658
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm: mdm2: Decrease leakage before QSC power-up

Cleanup of IPC gpios for driver strength and toggle
AP2MDM_STATUS only after AP2MDM_KPD_PWR is toggled, this
will decrease the leakage from MSM to QSC before QSC
powering up.

CRs-Fixed: 460500
Change-Id: Iabfa34331b613dd66577e485572a809440cf5272
Signed-off-by: Taniya Das <tdas@codeaurora.org>
(cherry picked from commit aa068dcefa45ec83709da39ab63844a9b83e9fc8)

Conflicts:

	arch/arm/mach-msm/mdm2.c
	arch/arm/mach-msm/mdm_common.c

Signed-off-by: Akhila Musunuri <makhila@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
board: 8930: Configure LDO17 as always_on only for 8930 SGLTE EVT1

LDO17 is the power source for a set of MSM gpios on 8930 SGLTE EVT1.
So configure LDO17 as always_on only for 8930 SGLTE EVT1.

CRs-Fixed: 500223
Change-Id: Id09fb16d3f4cedcc7753b7ac276a405def8364a0
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm:camera: Increase the v4l2 event queue length

Observed missing of v4l2 events to userspace media controller,
this can happen if media controller is blocked in post processing
the frames. Hence increasing the queue length gives enough time
to accomodate all the events without being overwritten with
newer events.

Change-Id: Ic3b5fd29df8c6384e83312b9c9ffd788bdf60951
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
wcnss: Add support to download calibrated data

WCNSS Firmware needs raw NV data (settings & some register values),
to do the power-on calibration. Once firmware does the power-on
calibration; it can then re-use the calibrated data. And it need not
do the calibration again when the next time it boots. WCNSS sends this
calibrated data to Apps; and Apps saves this into a persistent area.
And in the subsequent bootup, Apps sends the calibrated data to WCNSS.

Add interfaces to read calibrated data; and also add inteface to write
calibrated data to platform driver.

Change-Id: Ic18d40150093024b10a53e28f8a423dd9d3846eb
CRs-Fixed: 458741
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>