Add helper functions to suspend or resume the device associated with a
clk_regmap.
Change-Id: Ie4e47fce64e2052ffacdc3a8cd56fc69758d70fb
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
Add common runtime_pm initialization and callback functions to allow
clock providers to vote clocks, interconnects, and regulators in
runtime_suspend and runtime_resume.
Change-Id: I97588feae47016b8375849c5926495c1d73f792d
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
The codec interface node is allocated during the codec
addition during dp connect. These changes will free the
node after the dp disconnect.
Change-Id: I6f1fc5639f1a5fa61ef04557b888b3389800dce1
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Apply the configuration to force HFRC off when WLED module
is disabled.
Change-Id: Iff1df47fd26a620664087eb4c9140cc4e45251bc
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Enable cpufreq hw debug support for HOLI and SHIMA.
Change-Id: I62b3404b918a738addeada83a1069712c55ebc21
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
In the case where the 'qcom,perf-lock-support' feature is enabled the
memory region bases would be required to be provided from the device
node. Any DCVS request requires the shared memory region to be updated
before the cpufreq-hw perf desired register is updated.
Change-Id: I16d068d3311edf8e32654ab29070d4721a7c1493
Signed-off-by: Taniya Das <tdas@codeaurora.org>
New feature bit for MFHDR is added in binding file.
CRs-Fixed: 2770220
Change-Id: Ic0a0059df707dd51efce04b1892803ab8cbae0de
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
It is observed that interrupt handlers with same names across drivers
are being incorrectly mapped. Until this is fixed and to align the names
with the driver name, update the interrupt handler names.
Change-Id: Ib2aea77c0b0e53ff99c34fafc531a5291f70449c
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
When a memory block in a movable zone is onlined, only newly allocated
or swap in anon pages will fill it. This means that the migrated pages
from these memory blocks during offlining will sit in the lower zones
despite enough free space in the movable zone thus leaving pressure in
the lower zones. This pressure can effect the performance for the
allocations which can only be satisfied from lower zones.
This is avoided by filling in eligible pages from normal zone to movable
zone thus results in effective utilization of movable zone and also free
up memory in the lower zones.
Change-Id: I3404b9078e942c98f497cb462bc24fc53fb075ba
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Configure the ufs clocks core and peripheral memory state when
turned off. This configuration is required to allow retaining
ICE crypto configuration (including keys) when ice_core_clk is
turned off, and powering down non-ICE RAMs of host controller.
Change-Id: I93584851fd50c7006ccd48979087d707ab4c6408
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
[vbadigan@codeaurora.org: updated clk_set_flag API with new API]
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Consider a scenario where a connected PD partner has sent an
alert message to the device and driver marked send_get_status
to true and queued usbpd_sm work with a delay of 150ms. Now,
if the cable gets disconnected before the start of usbpd_sm
work then send_get_status flag will not get cleared anywhere.
On the next cable plug-in, in PE_SNK_READY driver will
unnecessarily send Get_Status again which is incorrect and
may lead to soft/hard reset causing the PD partner to disconnect.
Fix this by clearing the send_get_status flag in the protocol reset.
Change-Id: I4747b0a25a0870e83ff78e0b9ccd7e3fd91ed9e6
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
Add support for registering (and updating) suspend context in
minidump. This is helpful for cases, where suspend/resume
path is stuck.
Change-Id: I7ea9d4bcba85a4a0a2336279a3ffade918d1bd77
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
As cpus can serve ipis and timers during suspend and
resume; msm watchdog would periodically pet hardware,
even when some of suspend/resume callbacks are stuck,
due to software deadlocks. This can cause device hangs,
particularly when noirq callbacks are stuck. To recover
from this, register late suspend (and early resume)
callbacks in msm watchdog; these callbacks would
disable/enable watchdog pet.
Change-Id: Id12251f2bb6565b04a59802a53b6c3cadd017327
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Move suspend resume callbacks to syscore ops, to ensure that
watchdog is kept enabled while _noirq callbacks are run; to
catch any watchdog hang during these callbacks run.
Change-Id: I5ef61eb2ce2cd74a07847d6f5ff048a7b27b95a1
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Currently cpu's current stack are being dumped only in
panic path, which is not always helpful. So extend it to
be always dumped for any type of reset reasons.
For every task switch of cpu, update the minidump table with
latest stack. so that we can reconstruct callstack of cpu
for any type of resets.
Change-Id: Ia57a8e0473d3706efc9a88c91fb1dd60523648ad
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Add support to update client's entry physical/virtual addresses,
which is useful for DLKM, dynamic address changing clients.
Currently, msm_minidump_add_region() returns 0 on success, instead
of that, return 'region number' of the entry in the minidump table.
So clients who wants to update their address in future, needs to
book keep their entry in minidump table.
Change-Id: I03abbbd87bf6d2e11cf637525412d352772821cf
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
In cases when wlan driver probe is in progress, icnss driver
rejects wlan driver unregister as driver probe is not completed.
This change enables wlan unregister driver to get scheduled
in icnss driver wq if wlan driver has been regsitered. This
ensures that wlan unregister and register driver get executed
in serial manner. In cases when driver probe is in progress and
wlan driver unregister gets called, unregister driver will be
processed when wlan driver probe is finished.
Change-Id: I0266723d081e9036ecbec122c56be8dfe3c3d1bb
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
Adding fix to check the upper limit on the length
of the destination array while copying elements from
source address to avoid stack out of bound error.
Change-Id: Ieb24e8f9b4a2b53fbc9442b25d790b12f737d471
Signed-off-by: Tanwee Kausar <tkausar@codeaurora.org>
Register irq stacks, so that irq context is correctly
captured in minidumps.
Change-Id: Iabafe0464961a0c25164d66a186846290fbfcafb
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>