summaryrefslogtreecommitdiff
path: root/mali_kbase/context/backend/mali_kbase_context_csf.c
diff options
context:
space:
mode:
Diffstat (limited to 'mali_kbase/context/backend/mali_kbase_context_csf.c')
-rw-r--r--mali_kbase/context/backend/mali_kbase_context_csf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mali_kbase/context/backend/mali_kbase_context_csf.c b/mali_kbase/context/backend/mali_kbase_context_csf.c
index 8b14108..1bf5f9b 100644
--- a/mali_kbase/context/backend/mali_kbase_context_csf.c
+++ b/mali_kbase/context/backend/mali_kbase_context_csf.c
@@ -187,11 +187,17 @@ void kbase_destroy_context(struct kbase_context *kctx)
* Customer side that a hang could occur if context termination is
* not blocked until the resume of GPU device.
*/
+#ifdef CONFIG_MALI_ARBITER_SUPPORT
+ atomic_inc(&kbdev->pm.gpu_users_waiting);
+#endif /* CONFIG_MALI_ARBITER_SUPPORT */
while (kbase_pm_context_active_handle_suspend(kbdev,
KBASE_PM_SUSPEND_HANDLER_DONT_INCREASE)) {
dev_info(kbdev->dev, "Suspend in progress when destroying context");
wait_event(kbdev->pm.resume_wait, !kbase_pm_is_suspending(kbdev));
}
+#ifdef CONFIG_MALI_ARBITER_SUPPORT
+ atomic_dec(&kbdev->pm.gpu_users_waiting);
+#endif /* CONFIG_MALI_ARBITER_SUPPORT */
/* Have synchronized against the System suspend and incremented the
* pm.active_count. So any subsequent invocation of System suspend