Commit graph

592318 commits

Author SHA1 Message Date
Linux Build Service Account
5d3a6dd49d Merge "drm/msm: add support for HDR playback control sequence" 2017-07-21 11:08:21 -07:00
Clarence Ip
7477f5db6e drm/msm/sde: disable vblank ref power on crtc disable
Update vblank reference counts via the exposed sde_crtc_vblank
function, rather than attempting to zero it on the side during
CRTC disable operations. This allows the power voting to be
updated correctly based on the vblank reference count value.

CRs-Fixed: 2037677
Change-Id: I7026a1b239503a2b1d97ad7bb61fbc0a4a38d7ea
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 11:26:54 -04:00
Clarence Ip
e67107812d drm/msm/sde: output black frame during resume operation
This patch provides a module parameter to control whether each
plane outputs the previously configured content or a black frame
during the resume operation. The default is set to output a
black frame.

CRs-Fixed: 2019307
Change-Id: I48c1a8edfa1e85252a070bda51228ef67dea041c
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 11:26:47 -04:00
Clarence Ip
081178b8fd drm/msm/sde: dispatch suspend/resume notification to cp
This change enables the appropriate callbacks to the color
processing component on suspend/resume transitions.

CRs-Fixed: 2019307
Change-Id: I7b8c9eb2b32da42e36d32e9d88e74e0c0c7b1ecb
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 10:59:20 -04:00
Clarence Ip
864edc591c drm/msm/sde: move power resource handling for vblank to crtcs
Move the power resource request/release from the sde kms layer
into the CRTCs so that proper accounting for suspend/resume
operations may be done. A single power resource request is
made as long while the CRTC's vblank request ref count is not
zero and the driver is not in a suspended state.

CRs-Fixed: 2019307
Change-Id: I2d47567ec3dded72faed8bd5441d8d4653d5ef25
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 10:51:14 -04:00
Clarence Ip
4fc53f0d46 drm/msm/sde: reset drm state on suspend/resume
Explicitly disable connector DPMS and CRTC active states on
system suspend, and restore the previous state during a
system resume. This allows the underlying drivers to trigger
a DPMS callback for handling any panel related power disables
while still preserving the DRM atomic state.

CRs-Fixed: 2019307
Change-Id: Ib9933e4bc8b43c64def777b081d4315e5dbb7365
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 10:50:13 -04:00
Clarence Ip
1331c9a856 drm/msm/sde: allow forcing of kernel scaler calculation
This patch adds a debugfs entry to the planes to force the driver
to ignore any custom scaler configuration from the user space.

CRs-Fixed: 2019305
Change-Id: I98596a1aaa0629ca1bfe81ab5c01a0d7854859e3
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 10:50:12 -04:00
Clarence Ip
e9e11292d7 drm/msm/sde: add null checks to scaler3 lut setup
Plane state is set to NULL during color fill operations.
This patch adds checks to gracefully handle NULL plane
state during the scaler3 setup path.

CRs-Fixed: 2019301
Change-Id: I3ac5bd8f26e68afe559bf7c815da904392d3de13
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2017-07-21 10:50:11 -04:00
Tharun Kumar Merugu
bcd8434f47 msm: ADSPRPC: Handle SMD event signal
Handle multiple sessions properly for given channel.

Change-Id: I3061fd883794da0465bfdae2b1c19d425ede7470
Acked-by: Krishnaiah Tadakamalla <ktadakam@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-07-21 07:17:52 -07:00
Neeraj Soni
c1ab2e8a1a crypto: ice: Remove redundant checks
Check is implemented in required function as part of
new implementation.

Change-Id: I346cd27cb254abe7d9706f01a9b463750614245e
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
2017-07-21 19:19:53 +05:30
Ashutosh Kumar
15eb4216a4 ath10k: skip vdev down command before vdev restart for wcn3990
Vdev restart command triggers a vdev down and vdev stop in the
firmware. We do not need to send vdev down before sending vdev
restart to the firmware.

Skip vdev down command before we send the vdev restart command
for wcn3990 in the case of change in the channel context.

CRs-Fixed: 2079703
Change-Id: Idb611ec9ae8d40c7f7c3fe6efe853bf4c60d3123
Signed-off-by: Ashutosh Kumar <askuma@codeaurora.org>
2017-07-21 19:16:27 +05:30
Manaf Meethalavalappu Pallikunhi
a72f768c6b msm: thermal: fix return value check for scm_is_secure_device() API
KTM ignores software secure watchdog bite if it is a secure device
since this call support is not there in secure device. But API
scm_is_secure_device() returns false if it is secure device,
true otherwise. But KTM return value check is wrong and leads to
no secure watchdog bite call from KTM for all targets.
Fix return value check properly in KTM to resolve this issue.

Change-Id: I1612fee3f57f6c2d27c4329abc2c563b7b1d8102
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2017-07-21 17:21:53 +05:30
Rahul Sharma
4151bedcbe msm: ais: sensor: actuator: add conditional check for ioctl
Add conditional check when sending VIDIOC_MSM_ACTUATOR_CFG32.

Change-Id: I8f47823a9f932fe9f3fa96560f16d7da755a781f
CRs-Fixed: 2060371
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-07-21 02:30:07 -07:00
Mukesh Ojha
560dd41dff coresight-remote-etm: Removes lock in remote_etm_rcv_msg()
'commit 9021973bac ("coresight-remote-etm: Adds missing lock to avoid
race condition")' adds lock inside remote_etm_rcv_msg() which is not
needed as we are waiting inside it for a response of request made
remote_etm_enable => qmi_send_req_wait() which already holds lock
'drvdata->mutex'.

So, adding 'drvdata->mutex' inside remote_etm_rcv_msg() adds wait for
the lock and due to which not able to ack the response got which results
in timeout error qmi_send_req_wait().

This patch fixes the above mentioned issue by removing the lock added in
above mentioned commit.

Change-Id: Ie47607722ff170e012d598a2347b1c0ec6913cdf
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
2017-07-21 13:49:34 +05:30
Tharun Kumar Merugu
0c74826be7 ARM: dts: msm: Add remote debugger device configuration for cdsp
Adding remote debugger device configuration. The Remote Debugger driver
allows a debugger running on a host PC to communicate with a remote
stub running on peripheral subsystems.

Change-Id: I4aa40846efbf11739d81a9fbe22df811903d8eee
Acked-by: Chenna Kesava Raju <chennak@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-07-20 23:56:44 -07:00
Rakesh Pillai
f056b1e528 ath10k: wait for peer delete resp after every peer delete
Peer create fails if the same peer has not been
properly deleted earlier.

Peer delete response indicates the successful deletion
of a peer. Wait for peer delete resp after every peer
delete cmd.

CRs-Fixed: 2079668
Change-Id: I48d6787a42f79d3ce1225c885ca9fa159ef6df77
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
2017-07-20 23:34:50 -07:00
Abhilash Kumar
9b0026e54f msm: kgsl: Update total time at right place for accurate GPU busy
For calculation of busy time and total time, KGSL relies on perf
counters and CPU clock. These can be a bit out of sync and may
give GPU busy greater than 100 percent. Updating time at the right
place will give more accurate total time and will avoid crossing
100% in GPU busy calculation.

Change-Id: I3cc702492325b9dc44ea2b705e4d9014d95abd33
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
2017-07-21 10:49:25 +05:30
Anirudh Ghayal
0dfa84e381 power: smb-lib: Restart charging from soft JEITA
In the scenario where the charging is terminated in the
JEITA soft condition, the HW is expected to restart
charging when battery temperature returns back to normal.

However, this does not work as expected and the charging
stays terminated. Fix this by disabling and re-enabling
charging CMD bit to restart charging.

CRs-Fixed: 2071261
Change-Id: I81d2a89c72ede840cc561b736ce1366c65da8c42
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-07-21 07:17:13 +05:30
Lei wang
2523349096 ARM: dts: msm: Add support for MSM8996pro UFS based board
Add board-id for UFS board which has a different board sub type.

Change-Id: Ic231784c46d4439944e403e26410515856fdc5fb
Signed-off-by: Lei wang <leiwan@codeaurora.org>
2017-07-20 18:28:51 -07:00
Andrey Konovalov
ad69147ee9 net/packet: fix overflow in check for tp_reserve
When calculating po->tp_hdrlen + po->tp_reserve the result can overflow.

Fix by checking that tp_reserve <= INT_MAX on assign.

Change-Id: If3b5fd73bd440de2a1050644b71ef7430f09810f
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: bcc5364bdcfe131e6379363f089e7b4108d35b70
Signed-off-by: Dennis Cagle <dcagle@codeaurora.org>
2017-07-20 18:26:39 -07:00
Andrey Konovalov
dfb157d7a1 net/packet: fix overflow in check for tp_frame_nr
When calculating rb->frames_per_block * req->tp_block_nr the result
can overflow.

Add a check that tp_block_size * tp_block_nr <= UINT_MAX.

Since frames_per_block <= tp_block_size, the expression would
never overflow.

Change-Id: I183d9adb8b90010f408b5e1d0785aa06814f4348
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: 8f8d28e4d6d815a391285e121c3a53a0b6cb9e7b
Signed-off-by: Dennis Cagle <dcagle@codeaurora.org>
2017-07-20 18:24:04 -07:00
Chris Lew
6af3c64ade diag: mhi: Fix error handling for DCI channel failure
Not all targets support the DCI channel over MHI. Fix
error handling to only cleanup the failing device if
MHI registration fails.

Change-Id: I5ba23d69bc1fa3c08468d930f5f50151bfcd5bc0
Signed-off-by: Chris Lew <clew@codeaurora.org>
2017-07-20 18:13:31 -07:00
Chris Lew
c94670590b diag: mhi: Remove unnecessary sanity check
On an MHI down notification, the enabled state is set to 0 before
flushing the workqueue and buffers. This sanity check conflicts
with the down notification. Remove unneeded sanity check.

Change-Id: I6bedc353187bee907775347009e0d4157b0e35e2
Signed-off-by: Chris Lew <clew@codeaurora.org>
2017-07-20 18:12:37 -07:00
Sujeev Dias
a828392297 diag: Convert diag bridge as a platform dev
In order to support DT on DIAG, convert diag
bridge driver to platform driver.

Change-Id: I0ddecc06d9b4845d822799f3cff942789d1441c6
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-07-20 18:11:39 -07:00
Yue Ma
0c5297200a cnss2: Deinit MHI before device power on during SSR
This can make sure MHI driver can safely free the memory which
is used by WLAN firmware since device is powered off.

Change-Id: If9d891eaf1ca7c28869448b3a0a42be713e16c2e
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-07-20 17:40:59 -07:00
Badhri Jagan Sridharan
ba29279a5a ANDROID: android-verity: mark dev as rw for linear target
Mark as rw when adding as linear target to allow changes
to the underlying filesystem through adb disable verity
and adb remount.

(Cherry-picked from
https://partner-android-review.googlesource.com/#/c/613573/
79a3032bb62da65a5d724eb70c8bdc662945d475)

BUG: 28845874
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: If41e9cad8e0f054f4778c09a6e2f0cb8af6fddaf
Git-commit: 492a6047e7
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-07-20 17:22:02 -07:00
Derek Chen
c429531427 ASoC: msm: Add FE dai for MultiMedia21 for ASM Loopback
Adding ASM Loopback FE Dai, MultiMedia21, for HFP call
downlink.

CRs-fixed: 2069348
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Change-Id: I38f0c1ea71568eff2ba789cbe2d41b950c77f232
2017-07-20 14:11:18 -07:00
Derek Chen
778f131a01 ASoC: msm: qdsp6v2: Add MultiMedia21 capture and routing
Add MultiMedia21 capture and routing support for ASM
loopback from AUX PCM TX to QUAT TDM RX.

CRs-fixed: 2069348
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Change-Id: I632392d98092ff31fa9bdb13c02eef8c2a0a54a3
2017-07-20 14:08:05 -07:00
John Zhao
4bd8dca550 ARM: dts: msm: Update bootargs with LPM disabled for msm8996pro
Update bootargs with configuration of lpm_levels.sleep_disabled.

CRs-Fixed: 2079671
Change-Id: Iced6d6fc8e571b342a77ce49b4fa54bf511d7dbc
Signed-off-by: John Zhao <yuankuiz@codeaurora.org>
2017-07-20 13:40:11 -07:00
Haynes Mathew George
7357058c09 ASoC: msm: qdsp6v2: Reserve MultiMedia16 for NOIRQ
Reserve MultiMedia16 for second instance of NOIRQ

CRs-Fixed: 2071838
Change-Id: I6a75d9a5e85585f65262ce486c992402ac58bf5f
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2017-07-20 12:42:13 -07:00
Hardik Arya
eb54351e06 diag: Add NULL pointer checks
Currently, there is a possibility of NULL pointer dereference
while accessing diag master table. The patch adds proper check
for null pointer while iterating over the list.

CRs-Fixed: 2077525
Change-Id: I51075b7a7f3acce0cb27822ad1acd8a5894cdaa9
Signed-off-by: Hardik Arya <harya@codeaurora.org>
2017-07-20 16:41:54 +05:30
Rakesh Pillai
ae7bcf3abc ath10k: Add peer delete resp event processing
Peer delete response event is not parsed for the
params being sent by firmware.
Parse the tlv params and get the peer mac address
which was deleted.

CRs-Fixed: 2079551
Change-Id: I1f603d65784611d5f82babf2d9fa9dca5b1664b7
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
2017-07-20 03:39:44 -07:00
Linux Build Service Account
7aa065cbc4 Merge "msm: vdec: Allocate max internal buffers" 2017-07-20 02:56:46 -07:00
Linux Build Service Account
8ac7aa1695 Merge "ASoc: msm: qdspv2: Fix latency calculation in pcm offload path" 2017-07-20 02:56:45 -07:00
Linux Build Service Account
68284fc997 Merge "ASoC: msm8998: modify quat mi2s clock id in slave mode" 2017-07-20 02:56:44 -07:00
Sarangdhar Joshi
62f99e7cea soc: qcom: watchdog_v2: update last_pet variable during resume
The last_pet variable is set in suspend callback and during
pet_watchdog() and is printed when watchdog bark handler gets
called. This variable does not represent exact last pet time in
cases where non secure bark occurs before system could pet the
watchdog upon wakeup event from low power mode. Reset the
watchdog during msm_watchdog_resume() and update last_pet
variable so that watchdog bark messages will represent latest
info.

This commit also adds memory barrier after resetting watchdog in
msm_watchdog_suspend(). This will make sure watchdog writes are
complete before proceeding further.

Change-Id: I44492a947bc3664b7d14cfae9e877ebe0dc32836
Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org>
Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org>
2017-07-20 13:10:04 +05:30
John Youn
17d959e46b usb: dwc3: gadget: don't send extra ZLP
If the request->length is zero, a ZLP should already be sent due to that
and another ZLP is not needed to terminate the transfer.

Fixes: 04c03d10e507 ("usb: dwc3: gadget: handle request->zero")
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Change-Id: I747a9fd710d90986c7befd3d5ee5a1a5fceeaaed
Git-commit: d9261898a4b2c143c28568dc686a1becfc637a99
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-07-20 12:28:40 +05:30
Felipe Balbi
7f2ea4fd0c usb: dwc3: gadget: handle request->zero
So far, dwc3 has always missed request->zero
handling for every endpoint. Let's implement
that so we can handle cases where transfer must
be finished with a ZLP.

Note that dwc3 is a little special. Even though
we're dealing with a ZLP, we still need a buffer
of wMaxPacketSize bytes; to hide that detail from
every gadget driver, we have a preallocated buffer
of 1024 bytes (biggest bulk size) to use (and
share) among all endpoints.

Reported-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Change-Id: Ib4cb734bdb90ea142ced0d3b5299ee37ffce0352
Git-commit: 04c03d10e507052cfce6910ddf34091196e79e1c
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[vvreddy@codeaurora.org: resolved merge conflicts]
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-07-20 12:27:19 +05:30
Rahul Sharma
22ec4f5399 msm: ais: cpp changes to validate ioctl input
When the Camera application exercises the  V4L2  ioctl operations, CPP
driver would attempt to the copy  user space buffer  contents into the
internal kernel buffer.  If an invalid length of the user space buffer
is passed onto the driver, it could trigger buffer overflow condition.
Thus, fix this by copying user space buffer contents into kernel space
buffer of the  driver for further processing, only after checking for
proper length of user space buffer.

Change-Id: I0386d0f84a8d7015bfe6bbb1e9472fa8934df83a
CRs-Fixed: 2025367
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-07-19 23:22:51 -07:00
Srikanth Uyyala
3b0328c5a5 msm: isp: fix the invalid type conversion
stream_idx cannot take negative value and wrongly type casted to int.
Use uint32_t to fix this issue.

Change-Id: I7f306d3a24fc8f73aae91c0514b3747592466404
Signed-off-by: Srikanth Uyyala <suyyala@codeaurora.org>
2017-07-20 09:59:23 +05:30
Linux Build Service Account
347dbf7277 Merge "msm: ipa3: Add spinlock to avoid deleting already deleted list" 2017-07-19 17:20:49 -07:00
Surajit Podder
e7a609b031 msm: vidc: retain clock rate across power suspend/resume
Power collapse should be transparent to vidc layer, so
clock rate should be retained across suspend resume.

Add change to save clock rate during suspend, and restore
clock rate during resume.

Change-Id: I7e01ddcfc5b2f7d02f76512e1cbaf1a75bacdb03
Signed-off-by: Surajit Podder <spodder@codeaurora.org>
2017-07-19 16:17:14 -07:00
Abhinav Kumar
033b9198d0 drm/msm: add support for HDR playback control sequence
HDR playback needs metadata to be sent to the sink
while the playback is ongoing and needs a proper
teardown sequence when the playback has ended with respect
to the infoframe being sent to the sink.

This needs a state machine to synchronize start/stop of
the playback with sending the right metadata along with
resetting the infoframe HDMI registers.

Add support for this HDR playback control state machine.

Change-Id: I229183531f7ccb48579e74d02e0a1dea1cb945ff
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-07-19 13:05:55 -07:00
Hemant Kumar
a6e27c659a usb: gadget: Disable USB2 LPM Support
USB device is failing to initiate L1 remote wakeup for following
scenarios:-

1) When USB host initiates L1 between control transfers
(Setup and Status Phase).
2)In case of BULK only composition when USB host initiates L1 after
PING retries on OUT endpoint. Device fails to initiate L1 remote
wakeup when SW issues start transfer.
3) When bus is suspended and Start transfer is issued on IN TRB

Hence disable high speed link power management support by advertising
bcdUSB as 2.0 in high speed mode.

Change-Id: I83124d5e3821ba979be4772bc04e41f05dc7492c
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-07-19 12:21:47 -07:00
Linux Build Service Account
8a9f65f16a Merge "msm: vdec: Updating DCVS buf count if thumbnail mode is enabled" 2017-07-19 09:10:37 -07:00
Linux Build Service Account
1882097f98 Merge "msm: vidc: Fix issue in cache operation range" 2017-07-19 09:10:36 -07:00
Linux Build Service Account
dce705e421 Merge "ARM: dts: msm: Add fixed regulator for WLAN_EN pin in MSM8996" 2017-07-19 09:10:35 -07:00
Linux Build Service Account
cfbf44c503 Merge "usb: dwc3-msm: Add sysfs node to enable SS host compliance" 2017-07-19 09:10:34 -07:00
Linux Build Service Account
56b24afda6 Merge "diag: Add protection while de-initializing clients" 2017-07-19 09:10:33 -07:00
Linux Build Service Account
cb08d85f02 Merge "usb: gadget: f_qdss: Add support for mdm qdss channel" 2017-07-19 09:10:32 -07:00