* changes:
msm: subsystem_restart: Make subsystem_restart interrupt context safe
msm: subsystem_restart: Prevent suspend from occuring during a restart
Dump the entire ringbuffer to the snapshot and let the parser decide
what it wants to show. This is a lot better then trying to make those
sorts of decisions in the kernel. Even if we are dumping the entire
ringbuffer it still only makes sense to dump the IBs for the hanging
frame so do the math to find the context switch before the
last submitted IB and dump only the IBs from there to rptr or the
next context switch whichever is first.
Change-Id: Ic0dedbad3fed6be1fca3ed8a320386f70a562d43
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Add nop packets in ringbuffer at the start and end of IB buffers
subnmitted by user space driver. These nop packets serve as markers
that can be used during replay, recovery, and snapshot to get valid
data for a GPU hang dump
Change-Id: Id080672b7c04a1b6cfbccbcf5d4591cb5f0b3058
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
The list of memory objects attached to a process gets searched quite
a lot during normal operation of the driver. For processes with a
lot of memory allocations, the linear search through the list is O(N)
and uses a lot more CPU during critical loops than it should. Change
the mem entry list to a rbtree for faster search speeds.
Change-Id: Ic0dedbad1b25d9d77f56f93696b2fe933fbad333
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
The new clk_prepare()/clk_unprepare() APIs need to be called from
non-atomic context. Since acpuclock is used in such places as
suspend/resume which is always in atomic context we must prepare
the PLLs during init or risk the chance of enabling a PLL that
isn't prepared.
Change-Id: I3a191e1750e82b443a1028fe0befa68a09089fb4
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
For debugging purposes, enable support to dump caches on panic.
This allows for post mortem analysis to determine if cache
corruption occured.
Change-Id: I1f2d3ea33e78c06b6dad513d11a67e1e52a378de
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
During the normal course of panic, caches are flushed.
In most regular cases, this behavior is fine. If the
cache itself is suspect, it is important to store whatever
data is there before restart. A suspect cache may manifest
as a kernel panic due to an abort. Dump the caches during
the panic code path to save for analysis later.
Change-Id: Iaa7194027f2f589a60bfade896cd455eb4cc8989
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>