forked from rubenslte/android_kernel_samsung_msm8226
Add dispatcher and server-side-sync support from the msm-3.10 branch featuring these commits: msm: kgsl: Add a command dispatcher to manage the ringbuffer msm: kgsl: Implement KGSL fault tolerance policy in the dispatcher msm: kgsl: Don't process events if the timestamp hasn't changed msm: kgsl: Add a new command submission API msm: kgsl: add kgsl_sync_fence_waiter for server side sync msm: kgsl: Add support for KGSL_CMD_SYNCPOINT_TYPE_FENCE msm: kgsl: Add the event callback symbol to GPU event tracepoints msm: kgsl: Add a ftrace event for adreno context switches msm: kgsl: Try to run soft reset on all targets that support it msm: kgsl: Check for idle in the fault detection timer msm: kgsl: Improve the dispatcher issuecmds loop kref: Implement kref_get_unless_zero v3 msm: kgsl: fix a race condition when calling kref_put msm: kgsl: Check the return value of _kgsl_context_get() msm: kgsl: Hold the plist spinlock to protect nodes msm: kgsl: Hold a reference to process private when creating context msm: kgsl: Do not delete command batch unless it's retired msm: kgsl: Check whether context is detached before updating timestamp msm: kgsl: Free the cmdbatch when it fails to be requeued msm: kgsl: Clear dispatcher fault bit if inflight commands are 0 msm: kgsl: Do not register additional IOMMU faults msm: kgsl: Do not overwrite dispatcher fault msm: kgsl: Define new fault type for IOMMU fault msm: kgsl: On IOMMU fault force a hard reset msm: kgsl: Max the expired timestamp of invalidated context msm: kgsl: Do not allow events with bogus timestamp msm: kgsl: Immediately set the fault bit on a pagefault msm: kgsl: Set FSR to 0 on IOMMU pagefault msm: kgsl: Do not call dispatcher fault handler if already called msm: kgsl: Only skip IB for faulting context msm: kgsl: Retry hard reset more than once on failure msm: kgsl: Wake up threads after context detach msm: kgsl: Don't pause the dispatcher in adreno_dispatcher_stop msm: kgsl: Fix draw context fair scheduling in the dispatcher msm: kgsl: Return -EPROTO in certain functions if the GPU has faulted msm: kgsl: GPU pagefault policy change to not stall on pagefault msm: kgsl: A few quick cleanups to improve stability msm: kgsl: Return -ENOTTY for legacy waittimestamp calls msm: kgsl Check NULL return from kgsl_get_device_from_dev msm: kgsl: use kgsl_context_detached() in adreno_dispatcher_queue_cmd() msm: kgsl: remove KGSL_STATE_DUMP_AND_FT msm: kgsl: Re-add the irq_last functionality msm: kgsl: Allow sync points to be created on the submitter's context msm: kgsl: Don't repeatedly call adreno_stop during reset msm: kgsl: Add an helper function to clear the GPU fault after reset Change-Id: Ic0dedbad5ae48dddad1e5f76875b0a8604017cc3 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>