kgsl: update to latest ics_chocolate revision

Latest as of commit: c19588a1dcc60eb10b661ea0edd1e5b26e797b18

Completely untouched - build fixes for 2.6.35 kernel will be in
separate commit.

Change-Id: I1b925e82b3124206d74e7589336db341b66be652
kgsl: build fixes for 2.6.35 kernel

Build fixes for ics_chocolate kgsl driver

Change-Id: I9083e685cc1a848540195681c833060e43bdc2ed
msm: kgsl: Optimize page_alloc allocations

User memory needs to be zeroed out before it is sent to the user.
To do this, the kernel maps the page, memsets it to zero and then
unmaps it.  By virtue of mapping it, this forces us to flush the
dcache to ensure cache coherency between kernel and user mappings.
Originally, the page_alloc loop was using GFP_ZERO (which does a
map, memset, and unmap for each individual page) and then we were
additionally calling flush_dcache_page() for each page killing us
on performance.  It is far more efficient, especially for large
allocations (> 1MB), to allocate the pages without GFP_ZERO and
then to vmap the entire allocation, memset it to zero, flush the
cache and then unmap. This process is slightly slower for very
small allocations, but only by a few microseconds, and is well
within the margin of acceptability. In all, the new scheme is
faster than the default for all sizes greater than 16k, and is
almost 4X faster for 2MB and 4MB allocations which are common for
textures and very large buffer objects.

The downside is that if there isn't enough vmalloc room for the
allocation that we are forced to fallback to a slow page by
page memset/flush, but this should happen rarely (if at all) and
is only included for completeness.

CRs-Fixed: 372638
Change-Id: Ia3984581a01fb888c45471d25aa622900edd839d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
backport lowmemorykiller from CAF msm-3.4

this improves low memory behaviour greatly due to accounting for
lowmem_reserve as well as shmem pages.

Change-Id: I351dda49be388a98edfe6cc31ae4f2667c77429c