Add GPIO pins that are routed to PDC interrupt controller and can be
used as wakeup capable GPIOs.
Change-Id: If2044dfe89f7593ee3a6fd843866d4f86f3f42a6
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Error prints for commands that are broadcasted may spam the kernel logs
if a client is misbehaving and stops reading from it's socket.
Change these prints to ratelimited in order to prevent performance
issues when a client socket is full.
Change-Id: I5aa5fa1f693f9865a3d28f28de38f870a42fbc8d
Signed-off-by: Chris Lew <clew@codeaurora.org>
Add some more information to command prints in ipc logging and rename
logs from 'ns' to 'qrtr_ns' to group all qrtr logs together.
Change-Id: Ie312d6f5bd99d209548270f7dd6c618d6af31956
Signed-off-by: Chris Lew <clew@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>