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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>