msm: kgsl: Add A6XX preemption support

This patch adds the basic a6xx preemption code, which
includes:
1. New PM4 packets sequences which inform the CP of the
outgoing and the incoming contexts.
2. The preemption initialization sequence.
3. Definitions of preemption related registers.
4. The fast preemption code.

Change-Id: I37ae9d6cdd3d6c7fd5cb635502f5535713042732
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
diff --git a/drivers/gpu/msm/adreno.h b/drivers/gpu/msm/adreno.h
index 7a6581c..b3b4ccb 100644
--- a/drivers/gpu/msm/adreno.h
+++ b/drivers/gpu/msm/adreno.h
@@ -845,6 +845,7 @@
 				unsigned int *cmds,
 				struct kgsl_context *context);
 	int (*preemption_yield_enable)(unsigned int *);
+	unsigned int (*preemption_set_marker)(unsigned int *cmds, int start);
 	unsigned int (*preemption_post_ibsubmit)(
 				struct adreno_device *adreno_dev,
 				unsigned int *cmds);