enable module support to load new pvr shit
Add initial gc-core driver files.

Initial driver files to enable Vivante Corp 2/3D gcxxx hardware.
Only basic 2D operations have been tested so far.

Change-Id: I656e6752f576c4e70a127060a29b965624e15ae8
Signed-off-by: Alexei Shlychkov <ashlychkov@vivantecorp.com>
Signed-off-by: David Sin <davidsin@ti.com>
Add gc-core build files

Change-Id: I56a8e036dc0fa404b566d72cc7653c1acd2ffcf5
Signed-off-by: David Sin <davidsin@ti.com>
gccore: new core driver enhancements

new drop from vivante corp, which allows batching and four
source blending in one pass. this drop also contains some
code refactoring and other minor bug fixes and improvements.

reference:
https://github.com/hemanthariyani/omap-kernel/commits/4470

    gccore: fix mem allocation bug.
    1) use page_adress for grabbing virt addr
    2) add in logic to enable bb2d clock

    gccore: wakeup fixes.

    gccore: create generic flush functions
    create generic flush functions for user surfaces
    and pages.

    gccore: disable gccore driver by default.
    Relocate where bb2d clocks get enabled/disabled.

    gccore: disable logging by default.
    also, add additional debugging points.

    gccore: fix to address 2d mmu issues.
    testing of multiple large resolutions exposed some
    issues with the 2d mmu logic.

    gccore: fix some performance related issues.
    1) replaced polling logic with semaphore
    2) increased command buffer size
    3) fix bug in free pages logic

    gccore: added pipe select function to gccommit.
    gccore: increase command buffer size
    gccore: change registers from AQ to GC
    gccore: changes to surface logic
    gccore: replace semaphore with completion.
    Also, add timeout detection

    gccore: perform 2d cache ops during map/unmapping
    gccore: only init driver for omap4470

Change-Id: I06a05cc07eab7f76b05fb34d0a795686135d2805
Signed-off-by: David Sin <davidsin@ti.com>
gccore: disable core driver by default

at this point, we are not ready to have the driver on by default.
this will prevent incorrect system power measurement readings because
the gc320 clocks are always on when the driver is initialized.

Change-Id: Ic453fa21e72a87c64875d29afd66da1f76c838cf
Signed-off-by: David Sin <davidsin@ti.com>
GC: Initial Bltsville kernel implementation

Initial working Bltsville kernel implementation for the GC 2D core.

Note: This patch breaks the GC 2D bltsville library in user side.
Additional changes are needed to make it coexist with the kernel
bltsville implementation.

Change-Id: I68394b5fe05799a663b680c830d7ac83c8af1b26
Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
Include gc-core into omap build system.

Change-Id: I815cb837e9b45c3077a2e7c10347dc551efce1a1
Signed-off-by: David Sin <davidsin@ti.com>

Conflicts:
	drivers/misc/Kconfig
	drivers/misc/Makefile

Conflicts:
	drivers/misc/Makefile
Fix merge conflict
gcx: gccore: move gccore directory into new parent dir

Change-Id: I021b270ed405be06936bc3b40f71dd1406affdc6
Signed-off-by: David Sin <davidsin@ti.com>
gcx: gccore: adjust make/build files to support new dir struct

Change-Id: Ibb888040350dc8e61e1540b3c2ff3b08370d8ff2
Signed-off-by: David Sin <davidsin@ti.com>

Conflicts:
	drivers/misc/Kconfig

Conflicts:
	drivers/misc/Makefile
gccore: rename main directory

Change-Id: I996ade2202b62e4252628792eca7bdaf84d51cf6
Signed-off-by: David Sin <davidsin@ti.com>