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.c39
1 files changed, 16 insertions, 23 deletions
diff --git a/mali_kbase/context/backend/mali_kbase_context_csf.c b/mali_kbase/context/backend/mali_kbase_context_csf.c
index 8b74de0..8b14108 100644
--- a/mali_kbase/context/backend/mali_kbase_context_csf.c
+++ b/mali_kbase/context/backend/mali_kbase_context_csf.c
@@ -24,12 +24,13 @@
*/
#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_mem_linux.h>
#include <mali_kbase_mem_pool_group.h>
#include <mmu/mali_kbase_mmu.h>
#include <tl/mali_kbase_timeline.h>
+#include <mali_kbase_ctx_sched.h>
#if IS_ENABLED(CONFIG_DEBUG_FS)
#include <csf/mali_kbase_csf_csg_debugfs.h>
@@ -92,24 +93,20 @@ 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_csf_ctx_init, kbase_csf_ctx_term,
- "CSF context initialization failed" },
+ { kbase_csf_ctx_init, kbase_csf_ctx_term, "CSF context initialization failed" },
{ kbase_context_add_to_dev_list, kbase_context_remove_from_dev_list,
"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)
@@ -117,11 +114,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;
@@ -159,8 +155,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.
@@ -192,12 +187,10 @@ 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.
*/
- 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));
+ 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));
}
/* Have synchronized against the System suspend and incremented the