summaryrefslogtreecommitdiff
path: root/mali_kbase/context/backend/mali_kbase_context_jm.c
diff options
context:
space:
mode:
Diffstat (limited to 'mali_kbase/context/backend/mali_kbase_context_jm.c')
-rw-r--r--mali_kbase/context/backend/mali_kbase_context_jm.c55
1 files changed, 21 insertions, 34 deletions
diff --git a/mali_kbase/context/backend/mali_kbase_context_jm.c b/mali_kbase/context/backend/mali_kbase_context_jm.c
index 39595d9..c4f6856 100644
--- a/mali_kbase/context/backend/mali_kbase_context_jm.c
+++ b/mali_kbase/context/backend/mali_kbase_context_jm.c
@@ -24,7 +24,7 @@
*/
#include <context/mali_kbase_context_internal.h>
-#include <gpu/mali_kbase_gpu_regmap.h>
+#include <hw_access/mali_kbase_hw_access_regmap.h>
#include <mali_kbase.h>
#include <mali_kbase_ctx_sched.h>
#include <mali_kbase_kinstr_jm.h>
@@ -81,8 +81,7 @@ static void kbase_context_kbase_kinstr_jm_term(struct kbase_context *kctx)
static int kbase_context_kbase_timer_setup(struct kbase_context *kctx)
{
- kbase_timer_setup(&kctx->soft_job_timeout,
- kbasep_soft_job_timeout_worker);
+ kbase_timer_setup(&kctx->soft_job_timeout, kbasep_soft_job_timeout_worker);
return 0;
}
@@ -133,29 +132,23 @@ static const struct kbase_context_init context_init[] = {
"Memory pool group initialization failed" },
{ kbase_mem_evictable_init, kbase_mem_evictable_deinit,
"Memory evictable initialization failed" },
- { kbase_context_mmu_init, kbase_context_mmu_term,
- "MMU initialization failed" },
- { kbase_context_mem_alloc_page, kbase_context_mem_pool_free,
- "Memory alloc page failed" },
+ { kbase_ctx_sched_init_ctx, NULL, NULL },
+ { kbase_context_mmu_init, kbase_context_mmu_term, "MMU initialization failed" },
+ { kbase_context_mem_alloc_page, kbase_context_mem_pool_free, "Memory alloc page failed" },
{ kbase_region_tracker_init, kbase_region_tracker_term,
"Region tracker initialization failed" },
{ kbase_sticky_resource_init, kbase_context_sticky_resource_term,
"Sticky resource initialization failed" },
{ kbase_jit_init, kbase_jit_term, "JIT initialization failed" },
- { kbase_context_kbase_kinstr_jm_init,
- kbase_context_kbase_kinstr_jm_term,
+ { kbase_context_kbase_kinstr_jm_init, kbase_context_kbase_kinstr_jm_term,
"JM instrumentation initialization failed" },
- { kbase_context_kbase_timer_setup, NULL,
- "Timers initialization failed" },
- { kbase_event_init, kbase_event_cleanup,
- "Event initialization failed" },
- { kbasep_js_kctx_init, kbasep_js_kctx_term,
- "JS kctx initialization failed" },
+ { kbase_context_kbase_timer_setup, NULL, "Timers initialization failed" },
+ { kbase_event_init, kbase_event_cleanup, "Event initialization failed" },
+ { kbasep_js_kctx_init, kbasep_js_kctx_term, "JS kctx initialization failed" },
{ kbase_jd_init, kbase_jd_exit, "JD initialization failed" },
{ kbase_context_submit_check, NULL, "Enabling job submission failed" },
#if IS_ENABLED(CONFIG_DEBUG_FS)
- { kbase_debug_job_fault_context_init,
- kbase_debug_job_fault_context_term,
+ { kbase_debug_job_fault_context_init, kbase_debug_job_fault_context_term,
"Job fault context initialization failed" },
#endif
{ kbasep_platform_context_init, kbasep_platform_context_term,
@@ -165,9 +158,7 @@ static const struct kbase_context_init context_init[] = {
"Adding kctx to device failed" },
};
-static void kbase_context_term_partial(
- struct kbase_context *kctx,
- unsigned int i)
+static void kbase_context_term_partial(struct kbase_context *kctx, unsigned int i)
{
while (i-- > 0) {
if (context_init[i].term)
@@ -175,11 +166,10 @@ static void kbase_context_term_partial(
}
}
-struct kbase_context *kbase_create_context(struct kbase_device *kbdev,
- bool is_compat,
- base_context_create_flags const flags,
- unsigned long const api_version,
- struct kbase_file *const kfile)
+struct kbase_context *kbase_create_context(struct kbase_device *kbdev, bool is_compat,
+ base_context_create_flags const flags,
+ unsigned long const api_version,
+ struct kbase_file *const kfile)
{
struct kbase_context *kctx;
unsigned int i = 0;
@@ -215,8 +205,7 @@ struct kbase_context *kbase_create_context(struct kbase_device *kbdev,
err = context_init[i].init(kctx);
if (err) {
- dev_err(kbdev->dev, "%s error = %d\n",
- context_init[i].err_mes, err);
+ dev_err(kbdev->dev, "%s error = %d\n", context_init[i].err_mes, err);
/* kctx should be freed by kbase_context_free().
* Otherwise it will result in memory leak.
@@ -243,7 +232,7 @@ void kbase_destroy_context(struct kbase_context *kctx)
if (WARN_ON(!kbdev))
return;
- /* Context termination could happen whilst the system suspend of
+ /* Context termination could happen whilst the system suspend of
* the GPU device is ongoing or has completed. It has been seen on
* Customer side that a hang could occur if context termination is
* not blocked until the resume of GPU device.
@@ -251,12 +240,10 @@ void kbase_destroy_context(struct kbase_context *kctx)
#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_dbg(kbdev->dev,
- "Suspend in progress when destroying context");
- wait_event(kbdev->pm.resume_wait,
- !kbase_pm_is_suspending(kbdev));
+ while (kbase_pm_context_active_handle_suspend(kbdev,
+ KBASE_PM_SUSPEND_HANDLER_DONT_INCREASE)) {
+ dev_dbg(kbdev->dev, "Suspend in progress when destroying context");
+ wait_event(kbdev->pm.resume_wait, !kbase_pm_is_suspending(kbdev));
}
/* Have synchronized against the System suspend and incremented the