Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 583a0b14 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Check user generated timestamp before queuing drawobjs"

parents b318a6e0 11a600bc
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1380,6 +1380,22 @@ int adreno_dispatcher_queue_cmds(struct kgsl_device_private *dev_priv,

	user_ts = *timestamp;

	/*
	 * If there is only one drawobj in the array and it is of
	 * type SYNCOBJ_TYPE, skip comparing user_ts as it can be 0
	 */
	if (!(count == 1 && drawobj[0]->type == SYNCOBJ_TYPE) &&
		(drawctxt->base.flags & KGSL_CONTEXT_USER_GENERATED_TS)) {
		/*
		 * User specified timestamps need to be greater than the last
		 * issued timestamp in the context
		 */
		if (timestamp_cmp(drawctxt->timestamp, user_ts) >= 0) {
			spin_unlock(&drawctxt->lock);
			return -ERANGE;
		}
	}

	for (i = 0; i < count; i++) {

		switch (drawobj[i]->type) {