OMAP: TILER: Add bounds checking on format inputs

Added bounds checking to validate incoming tiler format.

Change-Id: Icd791cc294ecb1838afb3f91451626debd59c29e
Signed-off-by: Andy Gross <andy.gross@ti.com>
cpufreq interactive governor: event tracing

Change-Id: Ic13614a3da2faa2d4bd215ca3eb7191614f0cf66
Signed-off-by: Todd Poynor <toddpoynor@google.com>
omap: ion: Fix heap id for new ion handle in omap_tiler_alloc

ION allocations from the non-secure tiler heap could not be freed.
The ION heaps used from alloc and free were different causing a
mismatch at the genpool level and triggering a kernel BUG().

Change-Id: I76c43fd9d375b66d570d205c2c8ce00335b54cbb
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
OMAPDSS: DSSCOMP: move device to omap plat to configure tiler1d slot

Different devices will have varying requirements on tiler resources. This
change moves the platform device registration for dsscomp to the omap
platform level so at device initialization time we can set the appropriate
Tiler1D slot size.

Change-Id: I5edf5b7cfb056a45ab038b244d2efc758a840b00
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Lajos Molnar <lajos@ti.com>

Conflicts:
	arch/arm/plat-omap/Makefile
omap: Adding opp functions to gpu platform data.

This is required for providing opp framework access to SGX kernel module.

Change-Id: Ie968a6c51ac636b70909257be4c51430c4cc3d48
Signed-off-by: Rogelio Garcia <rgarcia@ti.com>
OMAPDSS: DSSCOMP: Remove PVR_SGX dependency.

In order to disable the in-kernel version of the DDK
and be able to use it as a module we need to remove
this dependency.
No harm to DSSCOMP, it will just wait until a DDK
is installed to execute.

Change-Id: Ie1436a45fb20044d0121eb196c6155b50baa7915
Signed-off-by: Rogelio Garcia <rgarcia@ti.com>
OMAP4: Android Kernel Names and Versions

Reference patch of the kernel naming and
README on the rules of the naming format
adn when the name need to change.

Change-Id: Ifac1ed946750666b9994f13d6a0d78d002bb01e0
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
omap-ion: Interface to export ION handles from PVR fd

PVRSRVExportFDToIONHandles was called directly by drivers.
Exporting this interface through ion. This also helps when PVR
is built as a module as the abstraction then uses an exported
function pointer.

Since this change also changes the interface between kernel and
a module, LOCALVERSION change is required.
Kernel version = 3.0.21-00001-OMAP-Android

Change-Id: Ic8b5c7efd50db008e8837ebc08f4a9e087de9274
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Tate Hornbeck <tate.hornbeck@ti.com>
rpmsg-omx: Use ion abstraction to get handle from PVR fd

PVRExportFDToIONHandles was being called directly by rpmsg-omx.
This is now abstracted by ion and drivers should use
omap_ion_fd_to_handles instead.

Change-Id: I2f750887a048eb3d9cd28cdc9c4b08eb3e83e31b
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>

Conflicts:
	drivers/rpmsg/rpmsg_omx.c
gpu: ion: export needed functions for PVR SGX

Make ion symbols visible to kernel modules. The SGX DDK
in modular form requires these symbols to be exported.

The reason for the code movement of ion structs is due to
EXPORT_SYMBOL’s requirement that the storage size of all
function parameters is known. This is so that the kernel can
sanity-check the size of data structures at module load time.

Change-Id: I2b9efe285557268da3baf258af09b56917add920
Signed-off-by: Rogelio Garcia <rgarcia@ti.com>
omap-ion: Fix build issue when CONFIG_PVR_SGX is defined

This was caused by wrong path to pvr header.

Change-Id: Id32ee97ecb6ac4dc0b3662781a28b9eb38208370
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
omap_ion: Revert ion_share and ion_import for PVR fds

This patch removes uneeded ion_share and ion_import for
PVR file descriptors. These changes were introduced during
the migration to PVR kernel modules. The call to ion_import
was also adding an extra ref count to ion buffers which
prevented them from being freed from tiler when SGX was
finished with them.

Change-Id: If3bdab42e31db3d7ddbb619a37aa4c8afef1aa74
Signed-off-by: Tate Hornbeck <tate.hornbeck@ti.com>
OMAP4: TILER: Add variable alignment allocation API

Added tiler_alloc_block_area_aligned API to allow
for variable alignment when allocating when using the kernel
APIs.

Change-Id: I2f3c44675a3fa1b2c6dfef21ccdd9bcac2f1d0e5
Signed-off-by: Andy Gross <andy.gross@ti.com>
Signed-off-by: Tony Zlatinski <x0146664@ti.com>
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
Revert "[moto] drivers/gpu/ion/omap/omap_tiler_heap.c: add DYNAMICC_PAGE_ALLOC handling"

This reverts commit 975e40b8d611b7237d6c81ee96f3911526233a75.
OMAP4: Tiler non-page-aligned support

Implements a way for the client drivers to use
non-page aligned and in case of 4430/4460
non-co-aligned YUV planes for buffers with
NV12 format.

Change-Id: Ie368980821311957c508a4d9c05d9087bc91d0dd
Signed-off-by: Tony Zlatinski <x0146664@ti.com>
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
OMAP4: Makes Y & UV tiler planes co-aligned

Change-Id: Iffde93b494cbe61882c4dc8674ca9f1e77a20888
Signed-off-by: Tony Zlatinski <x0146664@ti.com>
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
OMAP4: TILER: Add offset parameter for allocation

Add offset parameter for use in tiler_alloc_block_area_aligned.
This allows a user to get a tiler allocation with a specific
alignment and offset.

Change-Id: I8b1b9dd17bc9def124ea92cbbede2f3c56823387
Signed-off-by: Andy Gross <andy.gross@ti.com>
Signed-off-by: Tony Zlatinski <x0146664@ti.com>
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
OMAP4: TILER: Adds func to fill the virt. sizes

Adds public tiler_fill_virt_array() that deals with
non-page-aligned addresses correctly.

Change-Id: I31f4aa9a2e81cd84e393529b6534674811f99563
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
OMAP4: ION/TILER: Expose virtual stride and size

Added an interface to query the virtual stride and size
from the tiler buffer via an ION handle.

Change-Id: Iac756475236d3463b1aeaa6e29767ba03e758851
Signed-off-by: Andy Gross <andy.gross@ti.com>
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
OMAP4: ION: Use the correct virtual TILER size

Fixes the ION TILER HEAP allocation function
to correctly obtain the tiler virtual pages
and size when dealing with non-page aligned
tiler allocations.

Change-Id: I59e05aa26b572ed52b7f7d8c653bc6184f6c274d
Signed-off-by: Atanas (Tony) Zlatinski <zlatinski@gmail.com>