From 95d88d6199c5d1ea9896b5320a7ec8bcc0681720 Mon Sep 17 00:00:00 2001
From: Oleg Perelet <operelet@codeaurora.org>
Date: Wed, 25 Jun 2014 12:58:50 -0700
Subject: [PATCH] msm: kgsl: remove power constraint on context destroy

Remove power constraint if parent context is
deleted before constraint expires.

Change-Id: I6a28fec842132733b2e9015333cc4d14c77daa8e
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
---
 drivers/gpu/msm/kgsl.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c
index bb78e9ce8bb3..af13a48c3f7b 100644
--- a/drivers/gpu/msm/kgsl.c
+++ b/drivers/gpu/msm/kgsl.c
@@ -562,6 +562,15 @@ kgsl_context_destroy(struct kref *kref)
 		kgsl_sharedmem_writel(device, &device->memstore,
 			KGSL_MEMSTORE_OFFSET(context->id, eoptimestamp), 0);
 
+		/* clear device power constraint */
+		if (context->id == device->pwrctrl.constraint.owner_id) {
+			trace_kgsl_constraint(device,
+				device->pwrctrl.constraint.type,
+				device->pwrctrl.active_pwrlevel,
+				0);
+			device->pwrctrl.constraint.type = KGSL_CONSTRAINT_NONE;
+		}
+
 		idr_remove(&device->context_idr, context->id);
 		context->id = KGSL_CONTEXT_INVALID;
 	}
-- 
GitLab