Currently, when symmetry is enabled, current redistribution occurs only
when a switch is turned on after being disabled initially. Enable
current redistribution to occur on the fly as long as a switch is
enabled. This applies to both torch and flash devices.
Illustrative example:
user0 user3 Torch0 Torch3 Comment
500 0 250 250 (average of user set values)
150 0 75 75 (150 + 0 / 2)
150 100 125 125 (150 + 100 / 2).
Change-Id: I5f832e4fa669a9662d45592c5c3a512df07f7255
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
With USB QDSS software path disable case, usb_qdss_close() API tries to
dequeue all queued USB requests which may have been already moved to
cancelled list and unlikely available as those may have been already
given back from end xfer command. There are more than 200 USB request
and quick enable/disable of USB QDSS software path results into error
message flooding serial console possibly causign watchdog timeout.
Hence rate limit error message with ep_dequeue() API.
Change-Id: I78dbffc5ec5e1b5d8d0df91da6aded398c988be9
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Clearing pending packets global reference count in mhi_controller
only when channel is in mission mode in error handling mechanism
with command completion timeout in mhi prepeare channel.
Change-Id: Ib86b4f2a2ff5f28d27cf6174f65987d4f9ca1aea
Signed-off-by: Vivek Pernamitta <vpernami@codeaurora.org>
Fix compilation issue for lpm driver when dependency on QGKI is removed.
Also this patch remove QGKI dependency from QTI_DDR_STATS_LOG,
QCOM_SOC_SLEEP_STATS configs and defines CONFIG_QGKI_LPM_IPI_CHECK config.
Change-Id: I60c7d5d173a8739a72f0a9c3ceb8cbb357154618
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Update the serial signal interface for rpmsg and glink to match the
android common kernel abi.
Change ABI whitelist to use renamed APIs for rpmsg_get/set_signals().
Change-Id: If531efa835b0bfb8405a5dfd265025b5c2754a61
Signed-off-by: Chris Lew <clew@codeaurora.org>
Attempt to online memory before invoking the oom-killer
to alleviate the memory pressure in the system as quickly
as possible, without sacrificing performance/user-experience
by invoking the oom-killer.
Change-Id: I0cf3c50fcd022cd282731bccb54bfbad45878bb1
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The logic to walk through the memory blocks in the movable
zone is not correct. When memory at either extreme of the movable
zone is offlined, the start of the movable zone is adjusted such that
it no longer accounts for the block that was offlined--if the block
is at the beginning of the movable zone--or the span of the movable
zone is adjusted such that it no longer covers the block that was
offlined--if the block is at the end of the movable zone. Similarly,
when the entire zone is offlined, the zone's start pfn and span are
set to 0. So, when looking for a block to online, we end up ignoring
some of the blocks at the extremes of the movable zone, or the entire
zone.
Thus, walk through all of the present memory blocks in the system when
deciding to online a block.
Change-Id: I1e1def049f672a1710c5916dfd7de70d3ef68e71
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
There is a possible scenario where the system can deadlock
itself when it is low on memory, and attempts to online
a memory block. Consider the following scenario:
-A thread in userspace onlines a memory block through sysfs-
state_store() /* Acquires the device_hotplug_lock */
device_online()
memory_subsys_online()
memory_block_change_state()
memory_block_action()
online_pages()
memory_notify(MEM_GOING_ONLINE, ...)
online_page_ext()
alloc_page_ext()
__alloc_pages_nodemask(GFP_KERNEL, ...)
/* System enters into a critically low memory state */
out_of_memory()
try_online_one_block() /* Invokes lock_device_hotplug() and deadlocks */
Fix deadlock by introducing and using trylock_device_hotplug()
instead of lock_device_hotplug().
Change-Id: I52bc8075ae713c50e3c381216f3616ce8366cf31
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Headset is not detected after system goes into suspend
as sufficient delay is not given after pm_stay_awake
for system to wakeup. Implementing freezable workqeueue
after pm_stay_awake resolves the issue.
Change-Id: Ia104a1577004a4242470f3b4150be23698fc92b1
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Update frequency tables, VDD data, PLL configuration and
halt check settings for all clock controllers as per the
latest frequency plan.
Change-Id: I8f698fb7b1d10b980916d7387c3cfb800f8b2d19
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
Update the freq tbl for camss_tfe_clk_src, csi3phytimer
clks, ope_clk src, gpll8 lval and usb BCRs for HOLI.
Change-Id: I7e34a7027e1fd0a84ec26cc5815b0b247e1da3e3
Signed-off-by: Saurabh Sahu <sausah@codeaurora.org>
Update the mpm pin to tsense interrupt mapping so that
tsense interrupts can wakeup the APSS from deep sleep.
Change-Id: I41a69571a6621ec41c6185e1052be2c6e95ba1eb
Signed-off-by: Raghavendra Kakarla <rkakarla@codeaurora.org>
Add clock id for camss_mclk4_clk, csi3phytimer_clk
csi3phytimer_clk_src and usb bcrs for HOLI.
Change-Id: I0acab96149aedee355e036cf44d104b73a348ff9
Signed-off-by: Saurabh Sahu <sausah@codeaurora.org>
DEBUG_FS is enabled in {target}-gki_defconfig for supporting
internal test teams requirements. But android requirement is
that, DEBUG_FS should be disabled for user builds. So add
support to merge debugfs.config fragment for user builds.
Change-Id: I584db74375ce968fd2eacbe03548f07f73416152
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Enable system PM violators driver for QGKI on Lahaina.
Change-Id: I6dcb7be5813866d1cb0e080865d86f6aede734dc
Signed-off-by: Lina Iyer <ilina@codeaurora.org>