diff options
Diffstat (limited to 'mali_kbase/context/backend/mali_kbase_context_jm.c')
-rw-r--r-- | mali_kbase/context/backend/mali_kbase_context_jm.c | 55 |
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 |