summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_jm.c
diff options
context:
space:
mode:
authorSidath Senanayake <sidaths@google.com>2020-04-14 14:55:25 +0200
committerSidath Senanayake <sidaths@google.com>2020-04-14 14:55:25 +0200
commitb64f568f943e567534694cc993270adca96dcd06 (patch)
treeff175812d02016e7e630217ecf8de53d6ac2d6a2 /mali_kbase/mali_kbase_jm.c
parentb2b1764ee0fe59773c1c8f621ad2955c35cd9d92 (diff)
downloadgpu-b64f568f943e567534694cc993270adca96dcd06.tar.gz
Mali Valhall DDK r24p0 KMD
Provenance: c5a37f014 (collaborate/EAC/v_r24p0) VX504X08X-BU-00000-r24p0-01rel0 - Android DDK VX504X08X-BU-60000-r24p0-01rel0 - Android Document Bundle Signed-off-by: Sidath Senanayake <sidaths@google.com> Change-Id: I1536474b6a18731cd377251c6dc947811ba0c787
Diffstat (limited to 'mali_kbase/mali_kbase_jm.c')
-rw-r--r--mali_kbase/mali_kbase_jm.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/mali_kbase/mali_kbase_jm.c b/mali_kbase/mali_kbase_jm.c
index b91a706..3f17dd7 100644
--- a/mali_kbase/mali_kbase_jm.c
+++ b/mali_kbase/mali_kbase_jm.c
@@ -1,6 +1,6 @@
/*
*
- * (C) COPYRIGHT 2014-2019 ARM Limited. All rights reserved.
+ * (C) COPYRIGHT 2014-2020 ARM Limited. All rights reserved.
*
* This program is free software and is provided to you under the terms of the
* GNU General Public License version 2 as published by the Free Software
@@ -45,6 +45,9 @@ static bool kbase_jm_next_job(struct kbase_device *kbdev, int js,
int i;
kctx = kbdev->hwaccess.active_kctx[js];
+ dev_dbg(kbdev->dev,
+ "Trying to run the next %d jobs in kctx %p (s:%d)\n",
+ nr_jobs_to_submit, (void *)kctx, js);
if (!kctx)
return true;
@@ -58,7 +61,8 @@ static bool kbase_jm_next_job(struct kbase_device *kbdev, int js,
kbase_backend_run_atom(kbdev, katom);
}
- return false; /* Slot ringbuffer should now be full */
+ dev_dbg(kbdev->dev, "Slot ringbuffer should now be full (s:%d)\n", js);
+ return false;
}
u32 kbase_jm_kick(struct kbase_device *kbdev, u32 js_mask)
@@ -66,6 +70,7 @@ u32 kbase_jm_kick(struct kbase_device *kbdev, u32 js_mask)
u32 ret_mask = 0;
lockdep_assert_held(&kbdev->hwaccess_lock);
+ dev_dbg(kbdev->dev, "JM kick slot mask 0x%x\n", js_mask);
while (js_mask) {
int js = ffs(js_mask) - 1;
@@ -77,6 +82,7 @@ u32 kbase_jm_kick(struct kbase_device *kbdev, u32 js_mask)
js_mask &= ~(1 << js);
}
+ dev_dbg(kbdev->dev, "Can still submit to mask 0x%x\n", ret_mask);
return ret_mask;
}
@@ -111,8 +117,11 @@ void kbase_jm_idle_ctx(struct kbase_device *kbdev, struct kbase_context *kctx)
lockdep_assert_held(&kbdev->hwaccess_lock);
for (js = 0; js < BASE_JM_MAX_NR_SLOTS; js++) {
- if (kbdev->hwaccess.active_kctx[js] == kctx)
+ if (kbdev->hwaccess.active_kctx[js] == kctx) {
+ dev_dbg(kbdev->dev, "Marking kctx %p as inactive (s:%d)\n",
+ (void *)kctx, js);
kbdev->hwaccess.active_kctx[js] = NULL;
+ }
}
}
@@ -121,6 +130,9 @@ struct kbase_jd_atom *kbase_jm_return_atom_to_js(struct kbase_device *kbdev,
{
lockdep_assert_held(&kbdev->hwaccess_lock);
+ dev_dbg(kbdev->dev, "Atom %p is returning with event code 0x%x\n",
+ (void *)katom, katom->event_code);
+
if (katom->event_code != BASE_JD_EVENT_STOPPED &&
katom->event_code != BASE_JD_EVENT_REMOVED_FROM_NEXT) {
return kbase_js_complete_atom(katom, NULL);