msm: kgsl: Initialize only required IOMMU context

Enforce initialization of user and private contexts only.
Only these contexts are used for both IOMMU v1 and v2.
Ignore additional contexts that may be defined for graphics
in the board or dts file.

Change-Id: Ib2a903f851421c4ac2c17b5aa9d822108ec6813b
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
msm: kgsl: Change bus frequency before GPU frequency

On frequency increase the GPU may be able to overflow the
bandwidth it has requested.  Increase the bus first to be
sure that isn't an issue.

Change-Id: Ief21ce5263196e0e0c537901c91986b178fb8910
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
msm: kgsl: don't fault in cached allocations

Make sure cache operations don't hit pagefaults by
backing the entire vma in mmap() instead of faulting
in pages as they're touched. Otherwise, there's a
chance that a later cache operation on the mapping
could trigger an unhandled page fault leading to
a kernel panic.

Change-Id: Ia73c8aaed2708c5b9ef46ed50fb0f5cf1ad2450c
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
msm: kgsl: Run GPU fault tolerance at max clock

GPU fault tolerance should take minimal time,
set the GPU clock to max freqency to acheive this.
When we set GPU clock to max freqency we vote for
high CPU clock and bus bandwidth.

Change-Id: I98a3f7c24f0939c08f9b12257817d17414e3f128
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
msm: kgsl: Fault tolerance for context with pagefault

If pagefault happened in same IB submission
as the hang do not attempt replay in fault tolerance.
This is an improvement from previous policy of not
attempting fault tolerance for the context
with pagefault.

Change-Id: Idc9512b9fab3c9a2bf0b33a7e06f3070075427ba
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
msm: Add support for ION Flushing without virtual address

Video has very large buffers to be flushed. Due to lack of
vmalloc space, ion_map_kernel cannot be called on each of
the video buffers. With this change the ion handle can be
flushed without the need of the kernel mapping.

Change-Id: If026f21e44a2cce6c2b8c232fc80a69d0dabcd14
Signed-off-by: Neeti Desai <neetid@codeaurora.org>