msm: kgsl: Add dispatcher and server-side-sync support
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>
32 files changed