msm: kgsl: Ensure the GMU does not go to sleep in ISR

Poke the GMU keep alive register inside the ISR to ensure the
GMU does not power down. There might be additional GMU status
register reads in the ISR. Unpoke the GMU keep alive register
before exiting the ISR (unless snapshot is to occur). If snapshot
should occur, let the snapshot unpoke the keep alive register
after it is done snapshotting.

Change-Id: Ib722f3fcbe027e0b561a4e4fdbda03d38c1faeb4
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
diff --git a/drivers/gpu/msm/adreno.h b/drivers/gpu/msm/adreno.h
index 0d83b29..1827ae5 100644
--- a/drivers/gpu/msm/adreno.h
+++ b/drivers/gpu/msm/adreno.h
@@ -855,6 +855,8 @@
 				unsigned int clear_mask);
 	void (*oob_clear)(struct adreno_device *adreno_dev,
 				unsigned int clear_mask);
+	void (*gpu_keepalive)(struct adreno_device *adreno_dev,
+			bool state);
 	int (*rpmh_gpu_pwrctrl)(struct adreno_device *, unsigned int ops,
 				unsigned int arg1, unsigned int arg2);
 	bool (*hw_isidle)(struct adreno_device *);