Commit graph

573633 commits

Author SHA1 Message Date
Linux Build Service Account
48025d57b5 Merge "defconfig: msm: Create new defconfig for msmfalcon" 2016-08-18 04:59:12 -07:00
Lijuan Gao
cb761170c7 drivers: power: reset: Do warm reset when device reboot to edl
Device reboot to edl, it's for switching device to emergency dload mode.
So it's need to keep device to do warm reset.

Change-Id: I8f5d0845c6f2d37ea740949ce56e02c4cc7412be
Signed-off-by: Lijuan Gao <lijuang@codeaurora.org>
2016-08-18 00:11:45 -07:00
Linux Build Service Account
947004a614 Merge "ASoC: wcd_cpe_services: Process detection events in SEND state" 2016-08-17 20:28:44 -07:00
Linux Build Service Account
22ca7c4d13 Merge "mfd: wcd9xxx-slimslave: Add playback support for 44.1KHz multiples" 2016-08-17 20:28:43 -07:00
Linux Build Service Account
c07b149eee Merge "usb: pd: Fix ERROR_RECOVERY handling" 2016-08-17 20:28:42 -07:00
Linux Build Service Account
bd641c5b2b Merge "usb: pd: Improve timing accuracy" 2016-08-17 20:28:41 -07:00
Linux Build Service Account
f4bdb94431 Merge "usb: qmp: phy: Make sure QMP PHY write completed" 2016-08-17 20:28:41 -07:00
Linux Build Service Account
893c3bc29f Merge "regulator: cpr3-regulator: support disabling CPRh hardware closed-loop" 2016-08-17 20:28:40 -07:00
Linux Build Service Account
53b57a765f Merge "scsi: ufs: disable ah8 during suspend and enable it on resume" 2016-08-17 20:28:39 -07:00
Linux Build Service Account
7232046f64 Merge "scsi: ufs: optimize clock gate work" 2016-08-17 20:28:38 -07:00
Linux Build Service Account
3c240cf2be Merge "slim-msm: Handling resources during port de-allocation" 2016-08-17 20:28:38 -07:00
Linux Build Service Account
d5456c5703 Merge "ARM: dts: msm: Remove clocks listed under video and camera GDSC nodes" 2016-08-17 20:28:37 -07:00
Linux Build Service Account
2165532d6e Merge "msm: sde: shutoff memory and periphery when clock is off" 2016-08-17 20:28:36 -07:00
Satya Durga Srinivasu Prabhala
1ebe55efef ARM: dts: msm: Add support for msmcobalt v2 on qrd platform
This commit adds support for msmcobalt v2 chip on qrd platform.

CRs-Fixed: 1053410
Change-Id: I8aa775e15105d1508e387076d7ca127b7204d755
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-08-17 16:49:32 -07:00
Rohit Gupta
3087c5f20d PM / devfreq: memlat: Add a core to memory frequency mapping table
Add a core to memory frequency mapping table, which establishes
a relationship between the core frequency and its corresponding
bandwidth vote.

The governor expects a "qcom,core-dev-table" table as part of a given
memlat hardware monitor's device tree node.

This table is read upon registration of the memlat governor. The table
is then used to determine the memory bandwidth vote corresponding to the
maximum of the core frequencies.

CRs-Fixed: 1054146
Change-Id: I9df118da1433125b02c937bf1799a0944b110fac
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Suggested-by: Saravana Kannan <skannan@codeaurora.org>
2016-08-17 16:37:23 -07:00
David Dai
b3f54ff633 msm: msm_bus: allow QoS clocks to be specified at mas nodes
Allow for greater granularity of QoS clocks enabled when
enabling clocks for QoS configuration for each node. Current
implementation requires all QoS clocks related to the parent
fab to enabled, which works well for mass QoS programming at
probe time, but turns on unnecessary clocks when QoS programming
defers at initial client request. This fixes an issue where
Camera's initial client vote also caused the toggling of mdss
gdscs which created a deadlock situation where the notifier
callback from MDSS GDSC tries to obtain the same lock held by
Camera's call in the same thread.

Change-Id: Iff1d086fcfc92a709d198f84227cad9bd6f57646
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2016-08-17 15:09:48 -07:00
Benjamin Chan
5658702aa3 msm: sde: Add support for 1.5x downscale in rotator
msmcobalt v2 supports 1.5x downscaling in the rotator.

CRs-Fixed: 1055035
Change-Id: Icd71fd6d53783a7972305d1256acb209698e575d
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2016-08-17 14:55:15 -07:00
Skylar Chang
e0567604b7 ARM: dts: msm: Disable IPA3 on apqcobalt
Disable ipa-hw on cobalt APQ revisions due
to APQ doesn't have any modem use-cases.

Change-Id: I3251ffcac5cc1257befc5f57d1984a33bf530c23
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-17 14:13:26 -07:00
Bhalchandra Gajare
4087c68e23 mfd: wcd934x: Mark CPE registers as volatile
Some of the CPE (Codec Processing Engine) registers in wcd934x audio
codec are read-write registers with only few bits that are read-only.
Add change to mark such registers as volatile to avoid reading stale
value from cache for the read-only bits.

CRs-Fixed: 1049012
Change-Id: I6d77cf57e940c9efa6be64565d9ea7d328f0cd9b
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 13:43:35 -07:00
Shashank Mittal
2cfb211c83 coresight-etm4x: separate cpu dying notifier
Use separate notifier for cpu dying callback. This way we can give
higher priority to this notifier. That will make sure that etm disable
code gets executed before etm save register code during cpu power
collapse and etm's registers restore code gets executed before etm
enable code while cpu is coming back online.

Change-Id: Ibebda314eebd71945e9eae8aa2339fc79c475556
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2016-08-17 12:55:17 -07:00
Karthikeyan Ramasubramanian
ea637de7e4 soc: qcom: glink_spi_xprt: Fix the suspend and resume sequence
If the WDSP component framework does not detect the concerned subsystem,
then the G-Link SPI Transport returns error. This prevents the system
from suspending.

If the concerned subsystem is not found, then let the system to suspend.

CRs-Fixed: 1055800
Change-Id: Id17993dbf28b45308464a7e0d1e5404747fefee1
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-08-17 13:51:35 -06:00
Patrick Daly
860afad94d ion: system_secure_heap: Change IOC_DRAIN work_struct to delayed_work
The video client signals to ion that it is done using an amount of memory
using the ioctl ION_IOC_DRAIN. However, the video client may have
previously shared this memory with other clients, such that the reference
count on existing ion_buffers is greater than one. Work around this issue
for now by assuming that the ion_buffers will be freed by the other users
within a short duration after the video client makes the ION_IOC_DRAIN
call.

Change-Id: I113ca1ff26e4949b27879ccf67af6d5f04a67b06
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:22 -07:00
Patrick Daly
641a99ef2f msm: secure_buffer: Limit continuous time spent in hypervisor
hyp_assign_table() is a costly operation during which nonsecure interrupts
are disabled. Split this operation into multiple parts for better
real-time behavior.

Splitting is done by the following criteria:
maximum number of physically contiguous memory regions
maximum total memory size.

Here is a chart showing the average performance of hyp_assign_table() with
N physically contiguous chunks each with size X.

 #chunks    chunk_size(pages) total_memory(pages)    time(ms)
       2                   1                   2       3.354
       2                   4                   8      12.979
       2                 512                1024       4.349
       8                   1                   8       4.714
       8                   4                  32      26.781
       8                 512                4096       8.724
      32                   1                  32      17.093
      32                   4                 128      50.700
      32                 512               16384      26.717
     128                   1                 128      71.076
     128                   4                 512     126.305

Based on the above, select a maximum of 32 chunks or 512 total pages
as the limits.

Change-Id: I530cfdce76c8a2c38f60d6118647eaefd269e693
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:21 -07:00
Patrick Daly
ff15045bed secure_buffer: Remove all-in-one buffer usage
Allocate objects via kzalloc() when possible. For the case where a large
chunk (512 Kb) of physically contiguous memory is required, continue to use
a special purpose buffer reserved at boot. Since this special purpose
buffer is no longer used for random metadata, the associated code is
simpler to understand.

Change-Id: I85078f351293b556a501e9aca075ef87e2e86afd
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:21 -07:00
Patrick Daly
fb77347f71 ion: system_secure_heap: Support ION_IOC_DRAIN
Memory in the secure page pool cannot be used for other tasks. If the ion
client is aware that the memory will not be used for the foreseeable future
then there is no point in caching it.
Implement a method for the client to communicate this usecase to the
kernel.

Change-Id: Ib7e58e5ee739c65612602c5f9783600c8b2d6827
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:20 -07:00
Patrick Daly
bd9bcc81d2 ion: ion_system_heap: Add an access method for pool size
Allow the system secure heap to read the pool size for a particular vmid
to determine the maximum size which can be freed by the DRAIN IOCTL.

Change-Id: If96265753c6d2c1f210e1961ec7d6ebf8612dd37
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:20 -07:00
Patrick Daly
35d6724310 ion: system_secure_heap: Add additional argument verification for ioctl
Impose maximum array sizes on the data for ION_IOCTL_PREFETCH. This
simplifies detection of erroneous requests from userspace.

Change-Id: I1a0ec8d264337b76b55242f8d593258624855ad8
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:19 -07:00
Patrick Daly
8b39dc7879 ion: system_secure_heap: Increase secure pool size by amount requested
Allocating an amount from the secure pool, and then freeing that amount
back to the secure pool will not necessarily increase the pool size. Fix
this by allocating from the nonsecure pool, and then freeing to the secure
pool.

Change-Id: I1da12d5c8f9e1f0330cb2c4ff77cd73521df46d9
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-08-17 12:47:19 -07:00
Vidyakumar Athota
1846003b5d ASoC: pcm: change playback_active to unsigned int
In combo usecase there are 2 front-end dai's with
same codec dai. Using a single bit as the counter
causes the counter to roll over to 0 during combo usecase.
To resolve this change counter to unsigned int from single bit.

CRs-Fixed: 1049348
Change-Id: I196802e6d23a9292ff2915c1b4b61c2b3ead9fa8
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-17 11:13:04 -07:00
Runmin Wang
17ebeb7688 ARM: dts: msm: Add support for apqcobalt v2
Add support for apqcobalt v2 on mtp, cdp and qrd platforms.

CRs-Fixed: 1051130
Change-Id: I78d5fbe263ceeb592c47709d6189ce2c728b74c8
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-08-17 10:26:08 -07:00
Vidyakumar Athota
14a811efbe ARM: dts: msm: add wcd_dsp_glink device node for msmcobalt
wcd_dsp_glink device node is added to send/receive data
and commands to/from DSP in WCD audio codec over glink.

Change-Id: I18316f735474327a42725fc9f3beb8b274b37e65
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-17 10:20:44 -07:00
Vidyakumar Athota
335414478d soc: qcom: add wcd-dsp-glink platform driver
wcd-dsp-glink platform driver is added to send/receive data and
commands to/from DSP in WCD audio codec over glink. This driver
provides read and write interface to userspace to send/receive
data and commands.

CRs-Fixed: 1053381
Change-Id: I0405ae31201f966c7a3cd52c37191578e960dd71
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-17 10:20:12 -07:00
Vidyakumar Athota
99c16706c7 uapi: sound: add wcd-dsp-glink header file
Add support for WCD-DSP audio codec communication over glink.
This file defines all the required structures for the userspace
component to communicate with the DSP in WCD audio codec.

CRs-Fixed: 1053381
Change-Id: I141a72c879b4c15590ad94c852a2771a360b55f9
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-17 10:19:35 -07:00
Bhalchandra Gajare
6c34093c79 ARM: dts: msm: Add support for wcd-dsp-mgr for msmcobalt
wcd-dsp-mgr is the manager device to manage the dsp inside the
codec. Add this device to enable wcd-dsp support for wcd934x
audio codec for msmcobalt.

CRs-Fixed: 1049012
Change-Id: I7ee469781ec2a7af0643032567b547c07319f3d9
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:20:39 -07:00
Bhalchandra Gajare
b99388f08f ARM: dts: msm: Add SPI device node for msmcobalt
WCD934X audio codec has SPI interface to transfer data from/to the
codec. Add this SPI device node to the wcd934x audio codec node
for msmcobalt device tree.

CRs-Fixed: 1049012
Change-Id: Ib64db6d6b34746684f2b6c7d0177688e494b6154
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:20:24 -07:00
Bhalchandra Gajare
b49121fa26 ASoC: wcd934x: Add support for SPI child device node parsing
WCD934X audio codec has SPI interface that can be used to access
the codec memory. Add support in wcd934x audio codec to parse
the wcd_spi child device node entry to perform spi_add_device.

Change-Id: I20723ddbb4c8173228fb1cec016841500c678107
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:19:58 -07:00
Bhalchandra Gajare
a5b8d29080 ASoC: wcd934x: Add support to enable wcd dsp
wcd934x audio codec contains DSP to perform signal processing
of audio data. Change adds support to initialize wcd934x-dsp-cntl,
which triggers the dsp image download and boot.

CRs-Fixed: 1049012
Change-Id: I8f1681a1d2a4b0a6680fc56b6c382afa0aa49e69
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:19:31 -07:00
Laxminath Kasam
9acf4ffae1 ASoC: wcd934x: Add RCO enablement support
WCD934X audio codec has internal clock (RCO) that will
be used during some usecases (ex: using WCD DSP, etc).
Add support in WCD934X codec and resource manager driver
to provide RCO clock enable and disable functionality.

CRs-Fixed: 1049012
Change-Id: I9636dad9b81aeb3a4aa5c09776026d0c2014c05b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:19:07 -07:00
Bhalchandra Gajare
6391697ab2 ASoC: wcd934x: Enable compilation of wcd dsp drivers
wcd934x audio codec embeds DSP for processing audio signals. Specific
drivers are added to communicate with the DSP and set up the paths.
Enable compilation of these driver for wcd934x audio codec.

CRs-Fixed: 1049012
Change-Id: Ic784449c697794712b9dce3d7131b215d2300cf9
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 09:18:52 -07:00
Bhalchandra Gajare
fab72a97ba ASoC: wcd34x-dsp-cntl: Add changes to control wcd dsp
WCD934X audio codec contain DSP to perform signal processing of
audio data. The wcd934x-dsp-cntl is refactored code from WCD934X
audio codec driver to perform control of the wcd dsp. Added changes
to control the clocks, memory, interrupts etc to the DSP.

CRs-Fixed: 1049012
Change-Id: Ic3fe1cebe83531d6cae2db9f12fd2fec0563a298
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-17 08:53:21 -07:00
Rama Krishna Phani A
56b66ab231 msm: sps: Change the default SPS IPC log level
Set the default IPC logging level to minimal logging in
case client driver does not specify ipc logging level.

Change-Id: I83174225b4eb7ae72cb16bc8f6dcf9659bc1342e
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2016-08-17 05:33:27 -07:00
Bingzhe Cai
07d93257c6 input: touchscreen: remove PRESSURE event from ft5x06 driver
There is no need to send ABS_MT_PRESSURE event when contact is
removed from touchscreen, this redundant event will confuse some
APP and cause malfunction.

This patch is propagated from msm-3.18 kernel
'commit 75184ddcf2d1 ("input: touchscreen: remove PRESSURE event
from ft5x06 driver")'

CRs-Fixed: 537993
Change-Id: Ie2aef79f99cb80c10706f832cfab583ba742fdf1
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2016-08-17 17:07:57 +05:30
Mohan Pallaka
bf71f01cc7 input: ft5x06_ts: Upgrade firmware based on version
Upgrade firmware on the controller only when a new
version of firmware is available.

This patch is propagated from msm-3.18 kernel
'commit 88d102ef081f ("input: ft5x06_ts: Upgrade
firmware based on version")'

Change-Id: I4cf75b3c5efb90f151da09ed73b1ba62b9b5bb1c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-08-17 16:59:15 +05:30
Mohan Pallaka
72436be454 input: ft5x06_ts: Parse board specific parameters from pdata
To support all models supported by focaltech push necessary
parameters to platform data.

This patch is propagated from msm-3.18 kernel
'commit 473f8cd84f93 ("input: ft5x06_ts: Parse board specific
parameters from pdata")'

Also fix the below checkpatch warnings on 3.18 Kernel.
WARNING: Possible unnecessary 'out of memory' message
+       if (!data) {
+               dev_err(&client->dev, "Not enough memory\n");

WARNING: Possible unnecessary 'out of memory' message
+       if (!data->ts_info) {
+               dev_err(&client->dev, "Not enough memory\n");

Change-Id: I00b0e8ba7cfc8d8fbd48aa910bd3d0010283ed00
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-17 16:53:44 +05:30
Mohan Pallaka
cb040c2f61 input: ft5x06_ts: Add firmware upgrade support for ft6x06
Focaltech 6x06 controller series uses a different reset
register compared to earlier supported controllers. Use
appropriate reset registers based on controller's id.

This patch is propagated from 3.18 kernel
'commit 88dd4c27a3f6 ("input: ft5x06_ts: Add firmware
upgrade support for ft6x06")'

Change-Id: Ia72fa9c256f9e6e2db79388b0152f4d6724ec457
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-08-17 16:47:23 +05:30
Figo Wang
8f5d6d8fd0 input: touchpanel: fix the number of touch events detection
Focaltech controllers can reports the number of touch points by read
"TD_STATUS" register. Read this register to avoid always looping
through maximum number of touches supported.

This patch is propagated from 3.18 kernel
'commit 4c142d16fced ("input: touchpanel: fix the number of touch
events detection")'

Change-Id: I8ab111b56b2074cb52cb021d37e9e6505c8b7c72
Signed-off-by: Figo Wang <figow@codeaurora.org>
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
2016-08-17 16:41:53 +05:30
Mohan Pallaka
e6d2a8e4bb input: ft5x06_ts: Disable regulators in suspend
Disable/enable the regulators in suspend/resume to
have better power savings.

This patch is propagated from 3.18 kernel
'commit 550c106ea1a3 ("input: ft5x06_ts: Disable
regulators in suspend")'

Change-Id: I8aa7e941f20040955d6cc177e70ed38dbd28af8c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-08-17 16:36:42 +05:30
Shantanu Jain
faca745b0b input: ft5x06_ts: Handle error if i2c read fails
Handle error if i2c read fails and undo other
probe initializations.

This patch is propagated from 3.18 kernel
'commit 0123456789ab ("input: ft5x06_ts: Handle error if
i2c read fails")'

Change-Id: I26180b057b45f4dad123dd3581e5c5f2b33a32aa
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2016-08-17 16:32:08 +05:30
Figo Wang
849d4f3c1c input: touchpanel: Release all touches during suspend
Release all the touches before going to suspend to avoid
sticky touches and correct multitouch ID error.

This patch is propagated from 3.18 kernel 'commit 8a123ff1f64b
("input: touchpanel: Release all touches during suspend")'

Change-Id: I5dd84d44478291e16fd577aad5cf06503e44fbde
Signed-off-by: Figo Wang <figow@codeaurora.org>
2016-08-17 15:58:56 +05:30
Mohan Pallaka
c72652e02f input: ft5x06_ts: Add debugfs entry for dump info
Add a debugfs entry to display information about controller to the user.
Also have cleared the checkpatch errors on 3.18

This patch is propagated from 3.18 kernel 'commit 71e8bfde1da8 ("input:
ft5x06_ts: Add debugfs entry for dump info")'

Change-Id: I075501fefe1984533139ecca65af92f3c0ab8b97
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-17 15:48:34 +05:30