Commit 573979dee2 ("perf: Add support for exclude_idle attribute")
does a register_idle_notifier call so that exclude_idle events
are updated when a CPU goes idle. This commit fixes a bug which
causes unregister_idle_notifier to be erroneously called.
Change-Id: I13dbd369c0ce137e884c156360c514df92746e39
Signed-off-by: Patrick Fay <pfay@codeaurora.org>
This reverts 'commit 0754aea0fd ("ARM: dts: msm: configure CX voltage
levels from MDSS for msmcobalt")'.
Correctly indicating to the RPM driver when to turn off the MMSS
GDSC. 'commit f1b5dbb743b3 ("msm: mdss: control when MMSS
GDSC gets turned off")' is the correct fix for this issue.
Crs-Fixed: 1068650
Change-Id: I7eae1fbad8467e36c1a216d1ea719c6e3ed9e586
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
RPM has no way to know if they have to disable the MMSS gdsc
during idle power collapse or if its a full suspend.
Setting up the RPM RAM msg to 1 going into idle power collapse
and setting it to 0 while going to full suspend.
All these states mentioned are from a display point of
view.
Crs-Fixed: 1068650
Change-Id: I0ed47e89f6a4dd332ff28e8a1203ae3bfe44e7fa
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Update the FMAXes for camera clocks on MSMCOBALT v2 to match
the SW frequency plan.
CRs-Fixed: 1070162
Change-Id: I72af0d68ce2f7b57300966206b5861916620a79c
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
func_name related memory is allocated on creating instance of driver with
cser_set_inst_name() API with usage of kstrndup(). If cser_set_inst_name()
returns non-zero value or driver instance is released, this func_name
related memory is not freed. Fix this memory leak by freeing func_name from
cser_free_inst() API.
CRs-Fixed: 1070060
Change-Id: I7ba4c5a65bb01d056b4d2690fe30f7cbe47ba311
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Initialize ADC parameters for decimation rate and
LDO enable. Common ADC decimation settings is
used across the battery thermistor threshold
channels.
Change-Id: I99ce1e5940506a5e65debfe822460c210a276b00
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Slimbus device pointer may be null, which may lead to
null pointer dereference.
CRs-Fixed: 1054973
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Change-Id: Ica22ee19f281fa0cff7d629f396c41c935692c59
Call clk_set_flag() to turn off both memory core and periphery for
bimc_gfx_clk clock and memory for gfx_3d.
CRs-Fixed: 1046649
Change-Id: I941f91eeba01f4e7aa5427056bc57875e7edf197
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
Replace the firmware update kernel thread with a workqueue.
Now the firmware upgrade procedure can be called later in
future time without blocking the registration of the
touchscreen driver. Using a kernel thread is an overhead in
the current driver as it is a one shot thread.
Change-Id: I0d4731148351652092fe7feede0b44828939d98b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Using %lu for size_t gives compilation error on 32bit system.
Replace this with %zu which should be used to print size_t on
both 32bit and 64bit machines.
Change-Id: Id8a42dec3e081187054cb2353ba3473bae9dd547
CRs-fixed: 1069970
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
The IPC router devices define the topology for high-level interprocessor
communication within the SoC.
CRs-Fixed: 1066695
Change-Id: I276db2a07870864fca046627a615a30bc4e3936e
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
SSR entries contain the list of subsystems to notify when a SSR for a
given subsystem occurs. This information enables G-Link to handle
closing and re-opening channels in the case of SSR.
CRs-Fixed: 1066695
Change-Id: I53657de1a41e727b29793f02c7f2c1a43db1c96c
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Add the Glink_pkt devices to expose access to certain SMD resources to
userspace clients.
CRs-Fixed: 1066695
Change-Id: I82e992df1bfa1113843a0772ca8b88e48050dd8d
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
These entries allow the G-Link SMEM Transport to function, which allows
G-Link to use shared memory as an underlying physical transport.
CRs-Fixed: 1066695
Change-Id: I1e59ec8028e128a764d3a79d446b5e8d650937b1
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Add the SMEM entry to enable the use of the shared memory by
different processors in the SoC.
CRs-Fixed: 1066695
Change-Id: I6ee171881943d8ab77445ede1c6ee714ed171d4d
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Update the VDD_GFX CPR open-loop and closed-loop voltage
adjustments for MSMCOBALT v2 parts in order to match the
most recent guidelines from hardware characterizations.
Change-Id: I2b0a8e5353c9bce25c965a8b6ead7494454466c9
CRs-Fixed: 1068464
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add support for tertiary and quaternary audio PCM interface
to msm platform.
Change-Id: I985200bbff55583ac09bf7444ecbc5cf6ab7eb41
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Currently, INVOKE IOCTL assumes presence of atleast one arg. This
assumption is not correct. Hence, adding support for zero args in
INVOKE IOCTL.
Change-Id: Ib44789559c69e5808ed362cf9191486c93b2b66e
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
HMP scheduler tunables can be constrained via extra1 and extra2 of
ctl_table. Having valid range in the sysctl table gives clearer
view of tunable's range.
Also add range for sched_select_prev_cpu_us so we can avoid invalid
value configuration of that tunable.
CRs-fixed: 1056910
Change-Id: I09fcc019133f4d37b7be3287da8e0733e40fc0ac
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Pixel clock can have a 64 bits value; this
value is truncated in some parts of the
driver where it is handled as a 32 bits value.
This change corrects the driver to make sure we
always handle the pixel clock as a 64 bits.
Change-Id: Ia97cb849ac7ce08a5c387eb11b1b01aad36244a0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Fix rounding error that occurs when converting from byte to MB.
Change-Id: Id507e0ae73c42ad5995af0153c3255ad69fde9df
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
cdev->config is checked for null pointer at above code, so cdev->config
might be null, fix it by adding null pointer check.
Change-Id: Ie919a2a886924f1b1e01415bfdaa53f74046f5b0
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Git-commit: c526c62d565ea5a5bba9433f28756079734f430d
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Add rpm-smd node for communication with RPM subsystem over glink.
Change-Id: I95fb375500c649f3e986f0cde5a3ce6fa8ad27ad
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Update TSENS register read API call in msm_tsens_get_temp()
to no log variant to reduce the log for reads in MSM
register trace buffer (RTB). Clients can access the driver
log to check the TSENS temperature read in a circular buffer
along with associated timestamp.
Change-Id: I0e21c5966e0072eab826c92fc332c54e11cb0b23
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
It is required the buffer size to ADSP are multiple of 4kB. Update
the buffer size to be 4kB alignment before passing to ADSP.
CRs-Fixed: 1040066
Change-Id: I34f1b611000f5d9e4ae4c13a89b8571faa0f3393
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Commit fd115e68971b ("dwc3: core: Don't perform controller and PHYs
soft reset") removed clearing DELAYP1TRANS. It is recommended to clear
DELAYP1TRANS bit with USB3PIPECTL register which controls USB
controller allowing USB QMP PHY low power transitions.
Change-Id: I54ba694f4c997bf5ecc540cee274e2cb07b77446
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Fail cases of accept() system call on AF_MSM_IPC socket family causes
NULL pointer de-reference of sock structure variable in release operation.
Validate the sock structure pointer before using it in release operation.
CRs-Fixed: 1068888
Change-Id: I5637e52be59ea9504ea6ae317394bef0c28c7865
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Add the ipc-spinlock entry to facilitate locking between apps and
non-apps processors.
CRs-Fixed: 1066695
Change-Id: I1aaeec4eea40fedbadf8b6008233dbd6ce5b3312
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Add back print for the processor name and its rev id in c_show
function. This is required as some third party applications
need this field to be present. As cpu_name variable is removed
in a591ede4 ("arm64: Get rid of struct cpu_table"), directly
use "AArch64 Processor", to match original string, as cpu name.
Change-Id: I274ac72da8ec84c38ad04ff2b4009ac652b7b498
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Some of the usecases without compander and with
smart boost, VI sense are added in soundwire controller
driver.
Change-Id: Ia380ee6ad4584c29feb80fdc3b9247dd11e64a3e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
The cnss platform driver provides wrapper API to
use the kernel runtime PM APIs in wlan host driver
for runtime power management operation.
Add flag for pm_runtime_get_noresume() API.
CRs-Fixed: 1068920
Change-Id: I36d278bf1837b2a18f74ff52b9be9b7e5a165857
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Allow turn off touch panel power and reconfigure related GPIOs
to maximize power saving.
Change-Id: I25d7dc8abbd6dae4c54ee14f8feaf5701f64fd95
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Add virtual key support from device tree node and
corrected the sequence of virtual keys defined in
dtsi for Goodix driver.
Change-Id: Iee1db2eb07c00fd4338255b9648fac5e05aa9c6d
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Open up interface to allow external subsystem to enable and disable hard
lockup detector.
Change-Id: I88a728ee1d54aaa887fab52e5e40d1d4e4fc69ca
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Ensure watchdog does not wake up isolated cpu.
Change-Id: Ie4c6cb1496ae3490d81681f1ad51c8103caa0014
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Add bitmask and corresponding supporting functions for cpu isolation.
Change-Id: Ice1a9503666a2b720bdb324289ca55ceb33097cd
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Do not require CPUSETS to be enabled to allow migration of timers and
hrtimers.
Change-Id: Ib911a0d34c250c4df020bdb265b92d2b8df8db93
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Add function to migrate timer that will be used by later patch set.
Change-Id: I370e404001344e635a663822b07557abbe0f6f52
Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org>
[ohaugan@codeaurora.org: Updated commit text and fixed trivial merge conflict]
Git-commit: 3633b88d8fcb4273807574c27c328b6908a741e5
Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
An hrtimer may be pinned to a CPU but inactive, so it is no longer valid
to test the hrtimer.state struct member as having no bits set when inactive.
Changed the test function to mask out the HRTIMER_STATE_PINNED bit when
checking for inactive state.
Change-Id: I632f37874ef79887ee1202a028ef734f392d6ed0
Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
[ohaugan@codeaurora.org: Port to 4.4]
Git-commit: 902e4d4eb0d2158d2792166221a72a829caecf07
Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
To isolate CPUs (isolate from hrtimers) from sysfs using cpusets, we need some
support from the hrtimer core. i.e. A routine hrtimer_quiesce_cpu() which would
migrate away all the unpinned hrtimers, but shouldn't touch the pinned ones.
This patch creates this routine.
Change-Id: I51259ea41e3bd5cdba50b718201a6840174a7224
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[forward port to 3.18]
Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org>
[ohaugan@codeaurora.org: Port to 4.4]
Git-commit: d4d50a0ddc35e58ee95137ba4d14e74fea8b682f
Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
'Pinned' information would be required in migrate_hrtimers() now, as we can
migrate non-pinned timers away without a hotplug (i.e. with cpuset.quiesce). And
so we may need to identify pinned timers now, as we can't migrate them.
This patch reuses the timer->state variable for setting this flag as there were
enough number of free bits available in this variable. And there is no point
increasing size of this struct by adding another field.
Change-Id: If3b3770e547971809e789ea7c8033c48ec2aa92d
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[forward port to 3.18]
Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org>
[ohaugan@codeaurora.org: Port to 4.4]
Git-commit: 62feaf1ed0b64c04868d143d8bdb92d60dc3189b
Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
To isolate CPUs (isolate from timers) from sysfs using cpusets, we need some
support from the timer core. i.e. A routine timer_quiesce_cpu() which would
migrates away all the unpinned timers, but shouldn't touch the pinned ones.
This patch creates this routine.
Change-Id: I8624e0659b86b7b8fa425a3fafdb0784fe005124
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[forward port to 3.18]
Signed-off-by: Santosh Shukla <santosh.shukla@linaro.org>
[ohaugan@codeaurora.org: Port to 4.4. Fixes for compilation error]
Git-commit: 313910b70ea0c73f8789d9189c11e1f339080646
Git-repo: git://git.linaro.org/people/mike.holmes/santosh.shukla/lng-isol.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
This is needed to support migration of timers during cpu isolation. A
timer might be running on the CPU that we want to isolate so we are
unable to migrate the timers at this point. We are adding a spin-loop to
wait for the timer to finish before migrating the timers.
Change-Id: I24d6e91b6dff468c640c2fe3a37a7f31b6f0c79a
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
In msmcobalt platform, speaker path is used for handset mode also.
Add the mixer control to change gain in handset mode.
Change-Id: I88b6c0748e6683b2f11b751840ab26e3ed397b70
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
When the subsytem goes down through SSR path, listen for
SUBSYS_AFTER_SHUTDOWN and then send out ROOT_PD down notification to
service notifier clients. ROOT_PD down is supposed to indicate that
service is already down.
Change-Id: I916e37bd79a6645bdc186a78a65051ce1c4dd475
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
As a part of __show_regs we print the 512 bytes of data around
key registers like SP, PC and LR. This data is not always useful
and can cause issue while we have more cores in the system and need
to print them per core during the stack traces triggered through
WARN(..) like APIs. It can also cause latency issues due to heavy
printing on the serial console.
Reduce the logging to 128 bytes (nbytes * 2) around these registers
from 512 bytes.
Change-Id: Ie19fececd9d2bc6cd3328a6c63c956bcc9eed9a6
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>