Update the CPU PM notifier functions in perf to use the new
perf data structures.
Change-Id: I0f183072b8de65057f56d92301c22d1e9f93218b
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
Update the L2CC PMU perf code for 8960 to work with
the new 3.4 perf infrastructure.
Change-Id: I7c1246d6576b6beccd0b928c29de6160979ae23f
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
New voltage data for the PVS freq/voltage table is available.
Therefore, update the table with latest data.
Change-Id: I73a0075e756f9dcc32d1bb6064f8f9373a9546de
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
Change the configuration of PM8921 regulators SMPS 7 and LDO 27
so that requests sent to the RPM for these regulators have pd=0
(i.e. pull-down disabled). This modification reduces leakage
current that is seen during XO shutdown when S7 and L27 are
disabled but S3 is kept on. The outputs of S3 and L27 are wired
together so the S3 output voltage is continuously dropped across
the L27 pull-down resistor if it is enabled. S7 is the parent
supply of L27 so the same problem is seen if its pull-down
resistor is enabled.
Change-Id: Ic1b380edc9f60218f2012f2a4bb67467dc099005
CRs-Fixed: 369947
Signed-off-by: David Collins <collinsd@codeaurora.org>
CPUFreq provides scaling sysfs nodes to set min and max frequencies, but
there are times when the operating range has to be controlled
irrespective of the scaling limits, to ensure the thermal stability of
the device.
The API allows kernel thermal safeguards to pitch in and limit the
frequencies.
Change-Id: I3dc7496747792e6223695131f1644dd87054b025
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
This change provides support to raise the clks to turbo mode for mpeg4
clips with high number of slices. The firmware performance degrades if
the number of slices is more than 10. Without this fix, we see lot of
frame drops happening, causing a freeze effect.
Change-Id: Ia897854ef6d30bb97cd37810b22eb1ab5ad818fb
CRs-Fixed: 358615
Signed-off-by: Arun Menon <menon@codeaurora.org>
PVS classification data is available for 8930. Therefore, add
this support in this patch.
Change-Id: I338d81d11b2453b353e3449ea220e150d94aefb8
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
Remove the unnecessary irq spinlocks from gic resume path since it
always gets called with interrupt disabled. It also fixes the bug
introduced by commit 6278db09f where it called spin_lock again on the same
lock.
CRs-Fixed: 370894
Change-Id: I94f81cc0d93f362ac233c9af637cbe75036903f9
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Enable reporting of EBI errors to the kernel log to aid in
diagnosing problems related to memory access.
Change-Id: I59d4aacac3a7e5fd50eac7d60e0bfacc80879164
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Enable reporting of EBI errors to the kernel log to aid in
diagnosing problems related to memory access.
Change-Id: Iac8f29f560c59e4e9229959603c317e7242f165d
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Add the devices needed to support EBI error reporting on
the APQ8064 target.
Change-Id: I99eb49fd916fda318c67a3153f9b5a1c03f672fa
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Add the devices needed to support EBI error reporting on
the MSM8960 target.
Change-Id: I97d2338c15db281dba01dd2a9de0d7e737f4c089
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
The timer is started after flashless boot is completed but before
the mdm2ap_status gpio is pulled high by the external modem. If
the mdm2ap_status gpio does not go high within a period of time
a subsystem restart is initiated.
CRs-Fixed: 358868
Change-Id: Iba410a38a0b21fea8425c7e5a47bfec5f3a203e7
Signed-off-by: Joel King <joelking@codeaurora.org>
Add the BIMC and NoC register interface to control
bus arbitration and configuration settings for copper.
BIMC (Bus Integrated Memory Controller) and NoC (Network
on Chip) are new types of interconnects for Copper.
QoS registers on both NoC and BIMC are used for
bandwidth arbitration. Apps owns the QoS registers for
Krait masters on BIMC and for MMSS masters on MMSS
NoC.
The generic QoS register interface for BIMC and
NoC has been added in this patch.
Change-Id: I13ce2bf5936255440f0e863b92b2d597127329fb
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
Report VFP instruction bounce statistics in procfs to aid
in detecting userspace applications that use deprecated VFP
instructions.
Change-Id: Id32387cc6ced399ef6be9c827a9b9c7d52e83e77
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Turn on all the ocmem memory regions by default
until power control features are supported.
Change-Id: I0444c8f296dd555a86455b76bab5b50c6c2e7b9d
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
Adding bus bandwidth options for the crypto driver improves
the performance. The driver requests for bus bandwidth when
loaded.
Change-Id: I8e68de8e3c1778faeaf3b3d9776f98acf333ba84
Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>
On the MSM Copper, the RPM processor does not support
the ability to query the state of a resource. Return
the cached rate in the clock struct instead of attempting
to query the RPM. This will also allow debugfs to become
useful again for RPM clocks.
Change-Id: If3e0cde516a96130ac63b5e6b832852940fe5764
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
when subsystem restart is invoked from a workqueue context, there is
a small window of failure where in the APPS can go to suspend before
invoking subsystem restart. So invoke subystem restart from the
interrupt context itself.
Change-Id: Iacb1f7dbdea994f76ddb8cfa5161a4937f5da5d5
CRs-Fixed: 371744
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
The dividers on branches (cdivs) can be configured using
4 bits in the CBCR register. The range of possible values
is therefore 0 through 15. Fix max_div to reflect this
maximum value.
Change-Id: I11325eb371d93254b5327b1ded56b1820661713f
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
To correctly reflect the LPASS clock hardware, do the following:
1. Remove the max_div setting in the PCM ibit clocks. There
is no such divider.
2. The I2S external bit branch clocks are not sourced from
the I2S RCGs. Remove these parent-child relationships.
Change-Id: I849ac51ad028b4d1ce9e3d675ce64afdc99e8c75
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
This change will allow USB & HSIC drivers to use corner
voting for VDDCX, instead of specific voltage level voting.
Change-Id: I8bc983eb4de4b51c0ec0cbc9d19a6445fd13beb5
CRs-Fixed: 354458
Signed-off-by: Amit Blay <ablay@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
Vote on the new voltage corner regulator (that indirectly
sets the voltage on PM8018_S1) instead of voting for a
specific voltage on S1.
Change-Id: I437c6ad29dacd1eeae064444c38c4175428a6699
CRs-Fixed: 354458
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
Vote on the new voltage corner regulator (that indirectly
sets the voltage on PM8018_S1) instead of voting for a
specific voltage on S1.
Change-Id: I1c981a536a28f7e9c9e324a4b3b16226fa2a2b0c
CRs-fixed: 354458
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add a device for the new VDD_dig voltage corner regulator on
9615 so that consumers may utilize it instead of regulator
8018_s1 in order to set the SMPS 1 voltage indirectly.
Change-Id: Ifdbb7dc5345d272d2a8f69c08a590beda4b6a190
CRs-Fixed: 354458
Signed-off-by: David Collins <collinsd@codeaurora.org>
Specify the low level configuration values for the new VDD_dig
voltage corner RPM regulator resource on 9615.
Change-Id: I48ecfd03447923f954e3bee59e81f7d1fb9ebe88
CRs-Fixed: 354458
Signed-off-by: David Collins <collinsd@codeaurora.org>
On 9615, the regulators send a voltage level instead of a actual voltage
value for digital voltage rail. Change rpm resources platform data to
account for level based voting.
Change-Id: I6d412d6f60ac47012a442cdb90704159cf298d95
CRs-fixed: 354458
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
Update RPM enumeration for 9615 to include the corner voltage enums.
RPM can identify the process differences in SoCs and apply better corner
voltages for power benefit.
Change-Id: I5a55cc4008e1e455911656619b788bb040168fb8
CRs-fixed: 354458
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
The BMS and charger platform data do not reflect
consistent connector resistance.
Fix this by using the rconn_mohm value from the
charger platform data which was the measured value, rather
than the BMS value which was picked for debug purposes.
Change-Id: I50c8a3bc672cc1d62e75d04707bb90342946b17c
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
There is a dependency for the CCADC calibration work on the BMS
driver. This prevents some devices that do not use the BMS
to utilize the CCADC.
Remove this dependency by moving the ccadc calibration
work to the CCADC driver to avoid this.
Change-Id: If43c781d6d2bc27f64dbbe594b6e81c5a5642f0b
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Change SMSM_ERR_SRV_READY to SMSM_SUBSYS2AP_STATUS at the request of the
client.
Change-Id: Icac6f28bd3fe4fbfff79b90b0c5fa4f678e8274e
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
QMI Client is closing the interface port with IPC Router, while the
IPC Router is handling an incoming QMI message from modem for that
client. There is a race condition between these two operations. This in
turn leads to IPC Router trying to lock the wakelock which has been
destroyed as part of close operation. IPC Router gains exclusive
access to the interface port information, so that close operation
does not happen in parallel to the route operation.
CRs-Fixed: 367561
Change-Id: I6288cdf4a2fcfb2625971abbd8e75b144b7b9f63
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
The modem_notifier driver is a dependency for the SMD driver, which in
turn is a dependency for the power management framework. All the
dependencies of the power management framework need to be in the early
board init.
Change-Id: I0eafdc0095304f38833527bb170713dba4ca0474
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
Enable SPS functionalities (including BAM, BAM DMA and pipe memory)
on MDM 9x25.
Change-Id: Id5295922dd87ebad5e87efa27eff0dc4b2b837ae
Signed-off-by: Yan He <yanhe@codeaurora.org>
Ispif is a separate hardware block. Decouple
it from sensors so that it can be controlled for various
camera usecases.
Change-Id: I539fcb4166edc7a14d15a94c2f7f56b2f196a971
Signed-off-by: Nishant Pandit <npandit@codeaurora.org>
Enable scheduler (fair group), network (packet, ip router, ipv6
options) and block device/fs (MD, dm-crypt, fuse) kernel config
options. Most of these are the recommended or required options
for some Android features.
The main components skipped by this MSM8960 kernel configuration
sync are MSM-specific drivers, netfilters, BT, and debug options.
Change-Id: Ie5edfadacdc6e1c078c1fd9e715d27a4e3a4055c
Signed-off-by: David Ng <dave@codeaurora.org>
Use strlen and strcmp instead of sizeof and memcmp to compare strings.
procfs includes the newline character as a part of the buffer. When
using sizeof and memcmp, the newline character is used in the comparison
resulting in unequal bufferes.
Change-Id: Iafce2543596708e28757805cecae1ccec083c691
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
- Add all codec driver common functionality in common files.
- Add separate files for callback function definitions.
- Add header files according to the platform.
Change-Id: I906811043d4bb33571f719f79988fbdb89f5c385
Signed-off-by: Harmandeep Singh <hsingh@codeaurora.org>
HDMI dependent functions need to be guarded under HDMI panel
macro to avoid non HDMI builds complilation errors.
CRs-Fixed: 366864
Change-Id: Ib2a9f6db4eb511b2a170fcc7ac979f6c41046baf
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
HDMI dependent functions need to be guarded under HDMI panel
macro to avoid compilation errors for non HDMI builds.
CRs-Fixed: 366864
Change-Id: I02780c167f14e7e44b9f99c121ee2f46a5341051
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Add support for OCMEM APIs that provide required buffer
management routines for OCMEM Clients.
Change-Id: I989472c0079524376481832d8147c209f2877166
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
The ocmem scheduler is responsible for managing OCMEM
as a shared resource among multiple clients.
Change-Id: I57b294f1d1f863d0809d44e9e5bdc178adb2482f
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
Export msm_init_modem_notifier_list() so that it may be called from within
a board file inorder to satisfy driver probe order dependencies.
Change-Id: I6671bb6ab9419e5f1da9cf4a714dcf53844a6d0e
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
The SPM device tree entry to configure L2 SAW doesn't distinguish
between Krait and L2 SAW low power modes. Update the device tree to
differentiate between L2 and Krait low power modes.
Change-Id: I6c7cf6f8dd10478fd53826e22b17ed98d46b68b4
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Add support for backlight control on EVB using both the
LCD_BACKLIGHT GPIO and also the PWM approach on 8x25 EVB.
Also increase the backlight levels supported on 7x27A
from 100 levels to 256 levels.
CRs-fixed: 365523
Change-Id: I4806644783cc98e01192a3101bc852487bb3b592
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Hardware characterization has shown that memory stability
improves when the DDR supply voltage (provided by LDO 20) is
increased to 1.25 V. Therefore, increase the voltage constraints
for LDO 20 so that 1.25 V is requested. This also requires
modifying the voltages requested by the consumers of LDO 20.
LDO 20 is used by the Sitar audio CODEC.
Change-Id: Ia2fb75b509ea96d25bfacbcf9a14561b1b439f9e
Signed-off-by: David Collins <collinsd@codeaurora.org>
During the cold boot path once the secondary core is released
out of reset we keep looping for the pen release variable.
The wfe+sev in this path are just unnecessary as they provide
negligible power savings, and the latency cost is not worth it.
During the hotplug path the secondary core will be in wfi and
only an interrupt will be able to bring the core out.
Removing the wfe effectively lowers the hotplug latency.
Change-Id: Ic54636ceafb8abf3b6733e5699733543d64776d5
Signed-off-by: Taniya Das <tdas@codeaurora.org>