Commit graph

574398 commits

Author SHA1 Message Date
Subhash Jadavani
effcb63b04 scsi: ufs: fix race between hibern8 failure recovery and error handler
If Hibern8 enter/exit fails and we also see some UIC errors at the same
time, we would see following 2 recovery paths running in parallel to
restore the host and device communication.
Context-1: ufshcd_uic_hibern8_exit() -> ufshcd_link_recovery() ->
	   ufshcd_reset_and_restore()
Context-2: ufshcd_err_handler()->ufshcd_reset_and_restore()

This change fixes this race by making the ufshcd_link_recovery() to wait
for the already scheduled ufshcd_err_handler() to finish running and then
schedule the error handler again to make sure that host-device link is
reestablished.

While we are fixing the above race, similar race could happen between
ufshcd_eh_host_reset_handler() and ufshcd_err_handler() hence fix the
error handling in ufshcd_eh_host_reset_handler() same way as fixed in
ufshcd_link_recovery().

CRs-fixed: 1037647
Change-Id: Ic7a17a907e70122968c324e3cbe6e0421c28a2c9
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2016-08-21 22:36:22 -07:00
Sudhakar Manapati
0d7758f93a input: ft5x06_ts: pinctrl and gpio config in suspend/resume path
When device switch to suspend state the gpio and pinctrl need to be
configured properly to prevent the touch controller current leakage in
device suspend state. The pinctrl must be configure first before
the gpio configuration. Select the pinctrl sleep state and after that
in gpio configuration part free both IRQ and reset gpio, and also set
direction of reset gpio to be input. If the gpio and pinctrl is not in
proper state the touch controller will not switch to the deep sleep state
and it will start consume current during the device suspend state.
To prevent this leakage current issue, pinctrl and gpio must be
configured properly.

This patch is propagated from msm-3.18 kernel.
'commit 494eae39f2a4 ("input: ft5x06_ts: pinctrl and gpio config in
suspend/resume path")'
Also cleared checkpatch errors on msm-3.18 kernel.

Change-Id: I0ec72bbbf12320ad22608522d1250614c6686fe3
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-22 11:04:59 +05:30
Jeremy Gebben
d73f8ad9d7 radio: iris: uapi header split
The uapi directory should only contain userspace visible
definitions, move everything else to the regular include directory.

Change-Id: I33a2f4511eef540c979a3880e7926cbe6cadafe6
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
2016-08-21 22:15:23 -07:00
Shantanu Jain
14632a5cfb input: focaltech: release pinctrl resources on probe failure
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.

The patch also reorganizes the pinctrl related code in driver.

This patch is propagated from msm-3.18 kernel.
'commit f09a0560dde9 ("input: focaltech: release pinctrl resources
on probe failure")'

Change-Id: I16a97fefc64dd171deb800b481aa74a797c9ad55
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-21 21:51:45 -07:00
Mao Li
cbb13b31eb input: ft5x06_ts: fix the Focaltech CTP current leakage issue
Focaltech touch controller does not go to sleep in suspend because
the pinctrl operation inadvertently resets the touch controller.
Remove the pinctrl operation in suspend and resume callback to
prevent this spurious reset.

This patch is propagated from msm-3.18 kernel.
'commit 7e2ea02b16de ("input: ft5x06_ts: fix the Focaltech CTP
current leakage issue")'

CRs-Fixed: 1046961
Change-Id: Ifa02c0287195d7ce55fb2d8ac49ec1c8ae5baec9
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-08-21 21:51:31 -07:00
Mao Li
888157c601 input: ft5x06_ts: add support for pinctrl framework
Migrate the Focaltech driver to use pinctrl framework for GPIO
configuration so that driver is compatible with targets that
use and targets that don't use pinctrl framework.

This patch is propagated from 3.18 kernel
'commit 266d1fe0f630 ("input: ft5x06_ts: add support for
pinctrl framework")'

Change-Id: I84fc2a6d30f831b4b054780b107ce105614855ea
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-08-21 21:42:11 -07:00
Mao Li
405643a77e input: ft5x06_ts: check vendor id before upgrade FT firmware
Upgrade the firmware only if same vendor id is found both in existing
fw and new fw to be upgraded.

This patch is propagated from 3.18 kernel
'commit dba19fc86781 ("input: ft5x06_ts: check vendor id before
upgrade FT firmware")'

Change-Id: Idfc50da45891a1475ac6b35d80c7d725607cbf81
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-08-21 21:41:58 -07:00
Sudhakar Manapati
fa14a65666 input: touchscreen: change the focaltech firmware upgrade method
upgarde firmware on the touch controller when the new firmware
version is geater than the current firmware version. Update the
firmware version id after successful firmware update. skip
firmware update when device is in suspend state.

This patch is propagated from msm-3.18 kernel
'commit 8399308e570e ("input: touchscreen: change the focaltech
firmware upgrade method")'

CRs-Fixed: 1046961
Change-Id: Ic462f6483887a3654665852e58ae9891de9f5eff
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-21 21:41:40 -07:00
Mao Li
19cda0c39a input: ft5x06_ts: add support for firmware update for CTP FT6X36
The firmware image format is changed in CTP FT6436. Also vendor
id and version id are read from fw image from a different offset
as compared to previous controllers. The driver is updated to
support the new image format.

This patch is propagated from msm-3.18 kernel
'commit 6146c68f81b4 ("input: ft5x06_ts: add support for firmware
update for CTP FT6X36")'

Change-Id: I465fdfa73e56e8fc4bbfdde980c558e4715d6d08
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-21 21:12:40 -07:00
Sudhakar Manapati
a80c7960f1 input: ft5x06_ts: remove deprecated apis in 3.18 kernel
This patch removes the usage of deprecated apis like
usleep(), __devexit_p, etc.

This is a propagated patch from 3.18 kernel
'commit 20482b216b8a ("input: ft5x06_ts: remove
deprecated apis in 3.18 kernel")'

Change-Id: I77cedabdb234a643f96427f051038faad31bfdcf
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-21 21:12:17 -07:00
Chun Zhang
af3203fa14 input: ft5x06: add support when CONFIG_PM is not defined
When CONFIG_PM is not defined, there are some compilation errors,
because it introduces undeclared touch suspend and resume function.

This patch is propagated from 3.18 kernel
'commit a144428c6e02 ("input: ft5x06: add support when CONFIG_PM
is not defined")'

Change-Id: I869bd41270ea240c671e5478126a61d4ff2088dc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
2016-08-21 21:11:58 -07:00
Shantanu Jain
13954554dc input: touchscreen: request threaded-only IRQs with IRQF_ONESHOT
Threaded IRQs without primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail. This patch adds the
IRQF_ONESHOT to the focaltech touchscreen driver where it is
missing.

This patch is propagated from 3.18 kernel
'commit 4e8b58e99bf7 ("input: touchscreen: request threaded-only
IRQs with IRQF_ONESHOT")'

Change-Id: I429f48126bd5d28c6dbf6ba846175d5e643dd436
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-21 21:11:21 -07:00
Bingzhe Cai
6b5ef7a553 input: touchscreen: ft5x06: fix firmware force update issue
Force firmware update cannot work when touchscreen controller
cannot report correct family ID. If touchscreen is does not work
in correct state and it reports wrong family ID, it cannot be
recovered by force update, this change use family ID from device
tree instead of read from controller register to fix this issue.

This patch is propagated from 3.18 kernel
'commit a85789530620 ("input: touchscreen: ft5x06: fix firmware
force update issue")'

Change-Id: I85d24bfc68a7777053c15f28a84027260c68cebd
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2016-08-21 21:11:04 -07:00
Bingzhe Cai
f51bd56922 input: touchscreen: ft5x06: add FT5336 firmware update support
FT5336 use new firmware bootloader, current driver cannot update
its firmware. Driver needs update to support this new firmware
bootloader.

This patch is propagated from 3.18 kernel
'commit 740d7b108461 ("input: touchscreen: ft5x06: add FT5336
firmware update support")'

CRs-Fixed: 1046961
Change-Id: I5c210097a6b3daedce52c4dda806c698cda63968
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2016-08-22 09:36:31 +05:30
Tatenda Chipeperekwa
fdae3117e0 msm: mdss: use external display as wrapper for operations
Use the external display as a wrapper for operations making
it necessary for clients to only need a pointer to the external
display platform device. The external display will implement the
book keeping required to map operations to the correct display
interface.

CRs-Fixed: 1009284
Change-Id: I1f817e0c720dda0a9b1778f6aad653218ff9be60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-08-21 14:04:55 -07:00
Chandan Uddaraju
9ec9267905 mdss: display-port: fix Display-port disable sequence
Fix the OFF path for display-port driver when cable is
disconnected. Check for link clock status before accessing
any of the mainlink registers. Use common mutex for
DP_ON and DP_OFF sequence. Remove the resource vote
when PLL is diabled.

Change-Id: I9b81f79043b4ea7355b99ba9d8347d79bed10153
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-08-21 13:49:41 -07:00
Tatenda Chipeperekwa
f1b139c49e msm: misc: hdcp: add support for multi-part hdcp2p2 messages
Add support for multi-part hdcp2p2 messages which will be used
by the Display Port (DP) driver to communicate with the sink. For
each message sent/received, the HDCP library will add information
related to how message is broken down into parts. This
information is used by the DP driver during the authentication
process.

Change-Id: I22cc2f3fee518fa3d29af11fa277dad4da4db728
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-08-21 10:42:08 -07:00
Ghanim Fodi
0f44e4f131 msm: ipa3: Update registers configurations for IPAv3.5/3.5.1
IPA v3.5 and v3.5.1 introduces changes to several IPA registers.
Some registers have new fields, some fields are shifted and
others are removed.
This change updates IPAHAL to support these changes.

CRs-fixed: 1055677
Change-Id: I2046318ba40beca75bdc2f40554fc9a458da5581
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-08-21 02:07:53 -07:00
Ghanim Fodi
c6b90ab59c msm: ipa: add mhi test suite
Add IPA MHI test suite to IPA driver. Different
tests are being added to cover different IPA
MHI functionalities.

Change-Id: If97793a3af6c2d460468432c7bee93583cc34a55
CRs-Fixed: 1040200
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-08-21 01:54:13 -07:00
Ghanim Fodi
d5257aa898 msm: ipa3: Fix unclocked access to IPA SMEM register
Fixing IPA unclocked access when reading IPA_SHARED_MEM_SIZE
register. The read is part of a debug logic to print the
content of different registers.

CRs-fixed: 1052110
Change-Id: I2f04d861d98af2cf4009a1f746d91e9e9923ce42
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-08-21 01:23:37 -07:00
Dinesh K Garg
309eeac5e9 defconfig: msm: enable SMCInvoke feature
Enable smcinvoke driver so that TZ apps and client can communicate
using new MINK architecture.

Change-Id: I4e869d276ce4e8ecfe35a9ffe6892a6b586fe372
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2016-08-20 19:04:34 -07:00
Dinesh K Garg
879d57ac66 msm: mink: Adding SMCInvoke Driver
SMCInvoke driver is a misc driver to support communication between
secure and non-secure world, based on new capability based model.
Earlier, QSEECom driver had several problems such as exposing many
interfaces to accomplish various tasks on secure world side. Ideally,
driver should work as transparent as possible and provide just
tunnel to communicate between secure and non secure world. SMCInvoke
driver aims to achieve that.

Change-Id: I439f8ad817ba66210c934115979c276577194c11
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2016-08-20 19:04:33 -07:00
Ajay Singh Parmar
a9fe6f36ab ARM: dts: msm: add hdcp support on msmcobalt v1
Add qfprom and hdcp register addresses to display port
device so that it can run the hdcp 1.x protocol.

Change-Id: Ib28eb08cc3c8a45a0e87ae1c4f84c904e66652f6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-08-20 14:44:16 -07:00
Preetam Singh Ranawat
9b4552329f ASoC: msm: Add support for playback over slimbus2 rx port
This change is to enable native DSD playback and enable native playback
of clips with sampling rate multiple of 44.1KHz.

Add slimbus_2_rx backend dai-link for native DSD (Direct Stream Digital)
audio and 44.1KHz multiples playback.

CRs-Fixed: 1056422
Change-Id: Ib038cf81f29e00c08def789f8f186ca4615d45fc
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
2016-08-20 14:43:28 -07:00
Preetam Singh Ranawat
fc9f30ee3d ASoC: msm: Add support for native DSD playabck
Add DSD playback support in compress offload
passthrough mode. Add DAPM widget in routing driver
for DSD playback over SLIM_2_RX backend.

CRs-Fixed: 1056422
Change-Id: I398db5f6deded10a515f05277b6316a93f9e14ab
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
2016-08-20 14:42:05 -07:00
Preetam Singh Ranawat
83728d2575 ALSA: compress: Add DSD format support for ALSA
WCD934X audio codec supports playback of DSD (Direct
Stream Digital) format. Extend ALSA (Advanced Linux
Sound Architecture) compress to support DSD format.

CRs-Fixed: 1056422
Change-Id: Ifb06674c251335a1d8cec71931355dca4c0e012d
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
2016-08-19 18:00:13 -07:00
Linux Build Service Account
c605e110ab Merge "usb: gadget: composite: Return bcdUSB 0x0310 for Superspeed and higher" 2016-08-19 17:51:31 -07:00
Linux Build Service Account
60c7243d9d Merge "clk: msm: clock: Control the GPLL0 input sources to MMSSCC and GPUCC" 2016-08-19 17:51:30 -07:00
Linux Build Service Account
d25158dc19 Merge "ARM: dts: msm: Update venus clock frequencies on msmcobalt v2" 2016-08-19 17:51:17 -07:00
Linux Build Service Account
1a004523b9 Merge "iommu: msm: ensure lazy mappings are unmapped on detach" 2016-08-19 17:51:16 -07:00
Linux Build Service Account
4bf1a46f90 Merge "ARM: dts: msm: Add support for msmcobalt v2.1" 2016-08-19 17:51:15 -07:00
Linux Build Service Account
ccd6d40230 Merge "soc: qcom: smp2p: Fix kernel address leak" 2016-08-19 17:51:14 -07:00
Linux Build Service Account
2f9bd7c38d Merge "msm: sde: add rotator pixel format to v4l2 enum ioctl" 2016-08-19 17:51:10 -07:00
Linux Build Service Account
fffab8aac5 Merge "msm: mdss: dp: add connected sysfs node" 2016-08-19 17:51:08 -07:00
Prashanth Bhatta
8c85c4ddb4 icnss: Add support for recovery
Add support for WLAN recovery in cases of WLAN Protection Domain
(PD) down and Modem Sub System Restart (SSR).

CRs-fixed: 1056412
Change-Id: Ie3b012b524ef24c48937c0bb388cac656c3ebcf8
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-08-19 17:46:55 -07:00
Satyajit Desai
c34bf4be22 coresight: abort coresight tracing on kernel crash
Add trace events to control aborting CoreSight trace
dynamically based on module parameter.
Coresight driver will dump any trace present in the current sink
in case we hit a kernel panic, user fault or an undefined instruction.

Change-Id: Iee1ccf5cbd7b767753a3115c0570e63fbe2aa8f3
Signed-off-by: Satyajit Desai <sadesai@codeaurora.org>
2016-08-19 14:56:53 -07:00
Puja Gupta
7a2cb0ab1d soc: qcom: Clear PBL interrupt in case of error
Clear SP-PBL interrupt in case of error in PBL to avoid having storm
of interrupts.

CRs-Fixed: 1057085
Change-Id: I96bfd93ea5016a9c48f97262dbb0b5b63e07233d
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
2016-08-19 14:54:32 -07:00
Aravind Venkateswaran
a036c03482 msm: mdss: dsi: fix the check for PLL off when turning off PHY
Current implementation checks for the DSI PLL to be off prior to
shutting down the DSI PHY, and reports a warning if the PLL is
still detected to be on. However, this check is incorrectly
implemented resulting a false warning being printed every time
the display is turned off. Fix this by reading the right set of
registers to check for the PLL status.

Change-Id: I1e9f9956af6d35b33ae24d69ff3c5d3aa695a26b
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-08-19 13:14:03 -07:00
Prashanth Bhatta
60ce7a7d8d icnss: Add hardware reset logic
Add hardware reset logic which is going to be executed before
bringing down hardware.

CRs-fixed: 1027110
Change-Id: Ied1229da9e9f72c25343533b933fdcfcb7f80975
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-08-19 11:25:29 -07:00
Prashanth Bhatta
4fcefc6691 ARM: dts: msm: Add required resources for reset
Add required regulator and clocks required for executing WLAN
hardware reset sequence.

CRs-fixed: 1027110
Change-Id: I90859881a74e567a7bc2f46d68e47bc8a231bd25
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-08-19 11:22:27 -07:00
Prashanth Bhatta
095cd1e26a icnss: Add support for multiple vreg and clocks
Current implementation doesn't take care of multiple regulator
and clock voting. Add changes to take care of multiple regulator
configuration as well as clock configuration through device tree.

CRs-fixed: 1054503
Change-Id: I049821c960e4b53901cc2a07290d6ccedb8b971b
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
2016-08-19 11:21:48 -07:00
Sathish Ambley
cac6ba2e77 msm: ADSPRPC: Update channel state during subsystem restart
Update channel link state when subsystem restart notification comes
in to ensure that the channel gets reopened properly when the subsystem
comes up.

Change-Id: I0d0762bc29982e1c15171c9597d86894caa34eb9
Acked-by: Viswanatham Paduchuri <vpaduchu@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
2016-08-19 09:28:51 -07:00
Linux Build Service Account
0c8cf716fa Merge "msm: vidc: Change module license to GPL v2" 2016-08-19 05:29:39 -07:00
Linux Build Service Account
82e060812f Merge "ASoC: wcd-mbhc: add kcontrol to get hph type for wcd934x" 2016-08-19 05:29:34 -07:00
Linux Build Service Account
ac4a799f31 Merge "ASoC: wcd-mbhc: add wcd934x mbhc driver" 2016-08-19 05:29:33 -07:00
Linux Build Service Account
c190f5787a Merge "ASoC: wcd934x: Add support for codec calibration data" 2016-08-19 05:29:33 -07:00
Linux Build Service Account
16896c47a3 Merge "clk: msm: clock: Return error to clients if branch clock enable times out" 2016-08-19 05:29:29 -07:00
Linux Build Service Account
2192939fe7 Merge "ARM: dts: msm: update panel timings for supported panels on msmcobalt" 2016-08-19 05:29:28 -07:00
Linux Build Service Account
f0da3aae3b Merge "scsi: ufs-qcom: disable hibern8 during clk gating" 2016-08-19 05:29:27 -07:00
Linux Build Service Account
c806677972 Merge "qcom-charger: qpnp-fg-gen3: increase ESR timer during suspend" 2016-08-19 05:29:25 -07:00