Commit graph

586925 commits

Author SHA1 Message Date
Sarada Prasanna Garnayak
781c40f73c ath10k: register qmi service notifier for ath10k snoc
Add support to configure the bus and wlan copy engine
component. Register event notifier to communicate with
the WLAN firmware over qmi communication interface.

Define data structure and method to process the QMI service
arrive, exit, msa ready and firmware event.

This feature adds support to maintain the SSR state machine
and ath10k core restart handler for the ath10k snoc driver.

Change-Id: I594611a104ef4eef499270996990a278e151101c
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-04-03 15:22:01 +05:30
Jan Kara
5d9a2c9e5e block: Move bdi_unregister() to del_gendisk()
Commit 6cd18e711d "block: destroy bdi before blockdev is
unregistered." moved bdi unregistration (at that time through
bdi_destroy()) from blk_release_queue() to blk_cleanup_queue() because
it needs to happen before blk_unregister_region() call in del_gendisk()
for MD. SCSI though will free up the device number from sd_remove()
called through a maze of callbacks from device_del() in
__scsi_remove_device() before blk_cleanup_queue() and thus similar races
as described in 6cd18e711d can happen for SCSI as well as reported by
Omar [1].

Moving bdi_unregister() to del_gendisk() works for MD and fixes the
problem for SCSI since del_gendisk() gets called from sd_remove() before
freeing the device number.

This also makes device_add_disk() (calling bdi_register_owner()) more
symmetric with del_gendisk().

[1] http://marc.info/?l=linux-block&m=148554717109098&w=2

Tested-by: Lekshmi Pillai <lekshmicpillai@in.ibm.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Tested-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Git-commit: 165a5e22fafb127ecb5914e12e8c32a1f0d3f820
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
Change-Id: I006db1a645adffb79d6b2f46f5ccc94fa21dfd0a
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-04-03 14:47:02 +05:30
Anurag Chouhan
e79dfec9b2 icnss: Send FW CRASHED uevent only if driver is probed
If host driver fails to probed for the first time, and SSR/PDR
get triggered, as part of PD down uevent is sent to host driver
which inturn set recovery in progress which never gets reset
and the next time on FW Ready host driver is not able
to probe successfully
To fix this add a check if driver is probed or not
before sending the uevent.

Change-Id: Idceab059821c0b0e2a8806ad9fee5b6c75aec8c7
CRs-fixed: 2027920
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2017-04-03 13:17:39 +05:30
Devi Sandeep Endluri V V
465a977133 msmcortex: Enable PPP related defconfigs
Enabled PPP related configs for VPN functionality
to work on msm8998.

CRs-Fixed: 2019475
Change-Id: Ib8d0a98ef4219f2ab33008a4da3e93f22e85f538
Signed-off-by: Devi Sandeep Endluri V V <dendluri@codeaurora.org>
2017-04-03 13:16:32 +05:30
Ashish Garg
98d825f520 ARM: dts: msm: add support for sharp wuxga split link panel
Add required panel sequences and timings to support the
sharp wuxga split link panel.

Change-Id: I78c38f25902874a6628e168855f23962cadb8960
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
2017-04-03 00:17:11 -07:00
Anurag Chouhan
c1f5dcc5e8 icnss: Send FW Down indication to WLAN host driver
If FW is down irrespective of crash, a uevent
is sent to wlan host driver to indicate FW is down.

Change-Id: I9fe2a2a11178f72ea27150d74d93a1e411eac030
CRs-fixed: 2027902
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2017-04-03 12:18:37 +05:30
Sarada Prasanna Garnayak
3915a67448 ath10k: Add support for WCN3990 QMI service
The ath10k snoc driver is a client to WLAN firmware service
started at Q6. Initial control messages to WLAN firmware is
exchanged through QMI interface. This change also adds
the APIs required for WLAN driver to enable and disable
WLAN at firmware.

CRs-Fixed: 2016532
Change-Id: I0572c70db4c693e0d03ed1ad930841a92e60c340
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-04-02 23:33:32 -07:00
Shantanu Jain
2edf1e036b Revert "input: synaptics_dsx: remove array declaration in write function"
This reverts commit bcde95e2e6 ("input: synaptics_dsx: remove array
declaration in write function").

Change-Id: I49d05213a473d35bd6ab7fb4149f69ec56f18a8b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2017-04-03 11:14:12 +05:30
Linux Build Service Account
f9aee28de6 Merge "drivers: cpuidle: Minimize round off errors in wake up time" 2017-04-02 22:02:29 -07:00
Asutosh Das
319152bac1 scsi: ufs: Abort gating if clock on request is pending
This change attempts to abort gating of clocks if a
request to turn-on clocks is pending.
This would in turn avoid turning OFF and back ON the
clocks.

CRs-fixed: 2002742
Change-Id: I3d80ed503d4ddb29ac613b11e5e93f84c8362978
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
2017-04-03 10:19:59 +05:30
Amir Levy
91c9a85bf5 msm: ipa3: fix Q6 statuses exception path
Set APPS_LAN_CONS pipe as the statuses exception pipe for all
Q6 pipes instead setting this pipe as exception pipe only for
pipe 0.

Change-Id: Id00abb0ddabddd5c76a45e0878e327cba950176c
CRs-Fixed: 2027835
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2017-04-02 18:21:09 +03:00
Linux Build Service Account
44f5f07cfc Merge "ANDROID: ion: check for kref overflow" 2017-03-31 21:24:37 -07:00
Linux Build Service Account
bf8798bbf1 Merge "qcom: qnovo: Fix PCURx reporting error" 2017-03-31 21:24:36 -07:00
Linux Build Service Account
c57c1bf5d9 Merge "drivers: net: rmnet: Initial implementation" 2017-03-31 21:24:35 -07:00
Linux Build Service Account
3ca9595f26 Merge "msm: mdss: re-configure DP mainlink clocks during link training" 2017-03-31 21:24:34 -07:00
Linux Build Service Account
b786416467 Merge "ARM: dts: msm: add sde rotator reg bus scale properties" 2017-03-31 21:24:32 -07:00
Linux Build Service Account
13c1e33923 Merge "sde: rotator: add support to configure bus scale vectors" 2017-03-31 21:24:31 -07:00
Linux Build Service Account
67a1d56b69 Merge "msm: mdss: Update write gather register value for MDSS" 2017-03-31 21:24:30 -07:00
Linux Build Service Account
d6edc53a8f Merge "ARM: dts: msm: update vote on ldo11 for amoled panel on sdm630" 2017-03-31 21:24:29 -07:00
Linux Build Service Account
93159d1297 Merge "msm: mdss: make hpd call asynchronous for HDMI in certain cases" 2017-03-31 21:24:28 -07:00
Linux Build Service Account
dff944c7b6 Merge "msm: mdss: dp: set failsafe link params when DPCD read fails" 2017-03-31 21:24:27 -07:00
Linux Build Service Account
a3f4c6146c Merge "trace: ipc_logging: Avoid buffer overflow in ipc_log_string()" 2017-03-31 21:24:26 -07:00
Linux Build Service Account
a9654d0f73 Merge "msm: pcie: log PCIe LTSSM state during link training" 2017-03-31 21:24:25 -07:00
Linux Build Service Account
eed551694d Merge "power: smb-lib: Rerun APSD regardless of charger-type" 2017-03-31 21:24:24 -07:00
Linux Build Service Account
b2e759993b Merge "usb: gadget: f_mass_storage: Perform async runtime resume upon set_alt" 2017-03-31 21:24:24 -07:00
Linux Build Service Account
8a493b9bee Merge "qcom: smb-lib: Disable HW trigger when forcing sink-only mode" 2017-03-31 21:24:23 -07:00
Linux Build Service Account
84d6e9ea9f Merge "ARM: dts: msm: Update GFX PM-QoS values for SDM630" 2017-03-31 21:24:22 -07:00
Linux Build Service Account
e99cdf40ba Merge "net: ipv6: Add early demux handler for UDP unicast" 2017-03-31 21:24:21 -07:00
Linux Build Service Account
f0ee86f82a Merge "drm/msm: Add performance counter tracking" 2017-03-31 21:24:20 -07:00
Linux Build Service Account
438703a38e Merge "icnss: Separate debug and verbose log" 2017-03-31 21:24:19 -07:00
Linux Build Service Account
793709645b Merge "msm: qpnp-haptic: Enable HW auto-resonance for PM660" 2017-03-31 21:24:19 -07:00
Linux Build Service Account
ad4fb9e0fe Merge "msm_11ad: 11AD SMMU changes to allow enabling of SMMU stage1" 2017-03-31 21:24:18 -07:00
Linux Build Service Account
feb15f20cb Merge "msm: media: Allocate extra memory after alignment" 2017-03-31 21:24:17 -07:00
Linux Build Service Account
6b41d84c53 Merge "soc: qcom: spcom: lock ion buf, decrement ref count if no free entry" 2017-03-31 21:24:16 -07:00
Linux Build Service Account
29a8408816 Merge "diag: Add support for header untagging" 2017-03-31 21:24:15 -07:00
Linux Build Service Account
6210291d06 Merge "ASoC: codecs: Correct stream name, add dapm sync" 2017-03-31 21:24:15 -07:00
Linux Build Service Account
68a715abd5 Merge "drivers: soc: Add mutex lock in audio_notifier_late_init" 2017-03-31 21:24:14 -07:00
Subhash Jadavani
bee947b93d scsi: ufs: prevent auto-hibern8 trigger during clock frequency scaling
If auto hibern8 is supported then we should manually put the link in
hibern8 before clock frequency scaling sequence to avoid auto hibern8
racing during clock frequency scaling sequence. Othewise, we may
see UFS command or hibern8 issues after the scaling sequence completion.

Change-Id: I6a126029be6fb03ba4b387fbdfa89e068882a54f
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2017-03-31 19:17:26 -07:00
Anirudh Ghayal
1054280e99 regulator: qpnp-lcdb: Add a WA to toggle SC before module_enable
There is a possibility of the NCP failing to turn on due
to an invalid (short circuit) SC event before the LCDB module
is enabled.

Force a SC re-enable to recover from this condition. Enable this
for PM660L V1.1.

Also, disable the SC handling logic for PM660L to avoid
permanently disabling the module due to the above mentioned
issue.

CRs-Fixed: 2025449
Change-Id: I191d11c35c3d96727874818b8b57fa1c254879bf
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-04-01 06:47:53 +05:30
Anirudh Ghayal
5549356bec include: qpnp-revid: Add PM660L version info
Add PM660L v1.1 version macros.

Change-Id: I14c3f2110efc474686df488748b0a671f34ced90
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-04-01 06:39:53 +05:30
Daniel Rosenberg
f6c025297e ANDROID: ion: check for kref overflow
Userspace can cause the kref to handles to increment
arbitrarily high. Ensure it does not overflow.

Signed-off-by: Daniel Rosenberg <drosen@google.com>

Bug: 31992382
Test: See bug for poc
Change-Id: I6bff1df385742b1d836d43180dc87fadcea80782
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit: 0c702db4d90de88df11057bcf0d8fb2dfe741605
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
2017-03-31 16:37:58 -07:00
Satya Durga Srinivasu Prabhala
5559ceed46 soc: qcom: service-locator: Return in case of no matching domains found
If no matching domains found in response to the request, return error
instead of going ahead with memory allocation which would lead to
other issues.

CRs-Fixed: 2025293
Change-Id: I327b3494812cddc643f6b355c04f85f4baa7c399
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2017-03-31 16:10:33 -07:00
Harry Yang
6399b30218 qcom: qnovo: Fix PCURx reporting error
PCURx[MSB:LSB] is a 14-bit signed raw data, but treated as two full bytes
during reg reading, as a result bit 14 and 15 are filled with 0s. When
the raw data is negative, the mistreated reading gives positive result.
Hence the eventual PCURx after applying the gain and offset corrections
is incorrect.

Fix it by extending sign bit when negative.

Change-Id: Ia35406809355bd5e2d6cfeb890dd870430e38f66
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2017-03-31 15:41:21 -07:00
Sujeev Dias
533f538f7f mhi: mhi_uci: redesign mhi_uci driver
As a prerequisite for subsystem restart support,
redesign driver main operations such as open,
read, write, poll, and close methods.

CRs-Fixed: 1097560
Change-Id: I7eb99a09de75a2afa1eb408cace6a03dca85f5fe
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-03-31 15:39:06 -07:00
Mayank Rana
7af71579f5 usb: dwc3: Use high priority worker as bottom half handler
Latency involved in handling dwc3 interrupt in real time threaded
interrupt is sometimes resulting into RT throttling. Hence queue
bottom half work from dwc3 hard irq handler to a high priority
workqueue. Also, update the corresponding irq flag in host
controller platform driver.

Change-Id: If65a522efb6d792eea7fa7afc4c5e4dcd1cb6fb8
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 15:22:57 -07:00
John Youn
c451e3744b usb: dwc3: Workaround for irq mask issue
This is a workaround for STAR 9000961433 which affects only version
3.00a of the DWC_usb3 core. This prevents the controller interrupt from
being masked while handling events. Enabling interrupt moderation allows
us to work around this issue because once the GEVNTCOUNT.count is
written the IRQ is immediately deasserted and won't be asserted again
until GEVNTCOUNT.EHB is cleared.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: I18d507ec98401341d08537cd347aefd940c24da0
Git-commit: 28632b44d129cd2dc677475197a01cced307cfc5
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: Moved WA to dwc3_core_init()]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 15:20:36 -07:00
John Youn
df622b1759 usb: dwc3: Implement interrupt moderation
Implement interrupt moderation which allows the interrupt rate to be
throttled. To enable this feature the dwc->imod_interval must be set to
1 or greater. This value specifies the minimum inter-interrupt interval,
in 250 ns increments. A value of 0 disables interrupt moderation.

This applies for DWC_usb3 version 3.00a and higher and for DWC_usb31
version 1.20a and higher.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: I5c5997c6eea817e49102b8e080f3a9bcf45305b4
Git-commit: cf40b86b6ef6df5262ef5a8463b42524e6aa5590
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: removed write to DWC3_DEV_IMOD in dwc3_interrupt,
and fixed merge conflicts]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 15:19:34 -07:00
John Youn
4be0173416 usb: dwc3: Add a check for the DWC_usb3 core
Add a helper function to check if we are running on a DWC_usb3 core.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: Ic0c3810b798df8bf34a2ad7e1879884e7bf3c8f5
Git-commit: a987a906e95c4d80a364629d6bcb7cf69d2018e4
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[mrana@codeaurora.org: resolved merge conflicts]
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:19:53 -07:00
John Youn
fc1a0913c1 usb: dwc3: DWC_usb31 controller check
Add a convenience function to check if the controller is DWC_usb31.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Change-Id: I2f9080a4a54269790e3594d0e61a76bd37d8b2c9
Git-commit: c4137a9c841ec7fb300782d211f2d6907f4d6e20
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:19:27 -07:00
John Youn
e63417d73c usb: dwc3: gadget: clear events in top-half handler
Now that all the infrastructure is in place, we can
clear events in the top-half handler in order to
bring IRQ line low ASAP.

This is also a necessary step in order to implement
workaround for known erratum in follow-up patches.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Change-Id: Ic0823f85c0386045ab4865544bef0403ec047a99
Git-commit: 65aca3205046d159b2c79f7531203a53aec9cf35
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[hemantk@codeaurora.org: resolved merge conflict by replacing
DWC3_GEVNTCOUNT(0) with DWC3_GEVNTCOUNT(buf)]
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-03-31 14:14:15 -07:00