diff options
author | Sidath Senanayake <sidaths@google.com> | 2020-04-14 14:55:25 +0200 |
---|---|---|
committer | Sidath Senanayake <sidaths@google.com> | 2020-04-14 14:55:25 +0200 |
commit | b64f568f943e567534694cc993270adca96dcd06 (patch) | |
tree | ff175812d02016e7e630217ecf8de53d6ac2d6a2 /mali_kbase/mali_kbase_jm.c | |
parent | b2b1764ee0fe59773c1c8f621ad2955c35cd9d92 (diff) | |
download | gpu-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.c | 18 |
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); |