gpu: msm2: Sync to upstream
* Sync with changes done in Google MSM kernel
Change-Id: I38b3d4b41a986dc16097b838afc770e372ddfc7d
diff --git a/drivers/gpu/msm2/adreno_ringbuffer.c b/drivers/gpu/msm2/adreno_ringbuffer.c
index 2fe2c4c..9e69a49 100644
--- a/drivers/gpu/msm2/adreno_ringbuffer.c
+++ b/drivers/gpu/msm2/adreno_ringbuffer.c
@@ -1006,6 +1006,9 @@
/* For now everybody has the same priority */
cmdbatch->priority = ADRENO_CONTEXT_DEFAULT_PRIORITY;
+ /* wait for the suspend gate */
+ wait_for_completion(&device->cmdbatch_gate);
+
/* Queue the command in the ringbuffer */
ret = adreno_dispatcher_queue_cmd(adreno_dev, drawctxt, cmdbatch,
timestamp);
@@ -1147,12 +1150,14 @@
cmdbatch->timestamp);
#ifdef CONFIG_MSM_KGSL_CFF_DUMP
+ if (ret)
+ goto done;
/*
* insert wait for idle after every IB1
* this is conservative but works reliably and is ok
* even for performance simulations
*/
- adreno_idle(device);
+ ret = adreno_idle(device);
#endif
done: