gpu: ion: remove IOMMU Heap

The IOMMU heap has been merged into the System heap since there was so
much overlap between the two. Remove the IOMMU heap. ION_IOMMU_HEAP_ID
will now alias to ION_SYSTEM_HEAP_ID.

Change-Id: I1cea1d97eba1488f8d5928e6a0f31a18b0fd92e5
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
gpu: ion: Add support for specifying heap type in the device tree

Currently, there is no way to swap out the underlying heap type for a
given heap ID without modifying msm_ion.c and recompiling the
kernel. This is inconsistent with the rest of Ion which is customized
through the device tree. This change eliminates the need to modify and
recompile the kernel for heap type changes (although the boot image
will still need to be regenerated).

Add a device tree binding to specify the heap_type for Ion heaps.

Change-Id: I0a2b48299c829a828764d74a1d8e3c8f97de706d
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
gpu: ion: Add support for specifying a default prefetch size

Some heaps now support prefetching memory before allocation occurs.
This currently requires a size to be given to prefetch a given size.
Clients may not know what size they need to prefetch for a given
heap. Since the optimal size may change with the target, add an option
into devicetree to specify what size should be prefetched by default.
Clients may specify a size of 0 to prefetch a the default size.

Change-Id: If15e4051d53fe284129c309101c41ee423f890f9
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
ion: invalidate cache after zero'ing buffers even if uncached

Currently, we don't invalidate the cache if we're working with uncached
buffers. However, the memory for those mappings might actually be stale
in the cache since someone else might have touched it. Just invalidate
the cache for everyone, cached or uncached.

Without this change, corruption was observed on the display due to stale
data in graphics buffers from Ion.

CRs-Fixed: 585524
Change-Id: I0037beaadfde983af15d8f45918f7798264dd3ca
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
iommu: msm: Add call to set maximum mapped size

In some cases, the secure world needs a hint as to the maximum
amount of memory that will ever be mapped. This is necessary to
optimize data structures in the secure world. Add a call to the
secure world to indicate the maximum mapped size.

Change-Id: I8d07ec2288e37057ff96777c96ed0680f75185f3
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>