From 2b26ab132d1b33b91c84c6d732456200e8c5ee77 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 24 Nov 2023 08:39:05 +0000
Subject: [PATCH] add support 4g -- >ppp
---
kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c | 46 ++++++++++++++++++++--------------------------
1 files changed, 20 insertions(+), 26 deletions(-)
diff --git a/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c b/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c
index 47979a2..3e76c54 100755
--- a/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c
+++ b/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c
@@ -65,27 +65,23 @@
group = _mali_osk_calloc(1, sizeof(struct mali_group));
if (NULL != group) {
- group->timeout_timer = _mali_osk_timer_init(mali_group_timeout);
- if (NULL != group->timeout_timer) {
- _mali_osk_timer_setcallback(group->timeout_timer, mali_group_timeout, (void *)group);
+ _mali_osk_timer_init(&group->timeout_timer, mali_group_timeout);
- group->l2_cache_core[0] = core;
- _mali_osk_list_init(&group->group_list);
- _mali_osk_list_init(&group->executor_list);
- _mali_osk_list_init(&group->pm_domain_list);
- group->bcast_core = bcast;
- group->dlbu_core = dlbu;
+ group->l2_cache_core[0] = core;
+ _mali_osk_list_init(&group->group_list);
+ _mali_osk_list_init(&group->executor_list);
+ _mali_osk_list_init(&group->pm_domain_list);
+ group->bcast_core = bcast;
+ group->dlbu_core = dlbu;
- /* register this object as a part of the correct power domain */
- if ((NULL != core) || (NULL != dlbu) || (NULL != bcast))
- group->pm_domain = mali_pm_register_group(domain_index, group);
+ /* register this object as a part of the correct power domain */
+ if ((NULL != core) || (NULL != dlbu) || (NULL != bcast))
+ group->pm_domain = mali_pm_register_group(domain_index, group);
- mali_global_groups[mali_global_num_groups] = group;
- mali_global_num_groups++;
+ mali_global_groups[mali_global_num_groups] = group;
+ mali_global_num_groups++;
- return group;
- }
- _mali_osk_free(group);
+ return group;
}
return NULL;
@@ -147,10 +143,7 @@
}
}
- if (NULL != group->timeout_timer) {
- _mali_osk_timer_del(group->timeout_timer);
- _mali_osk_timer_term(group->timeout_timer);
- }
+ _mali_osk_timer_del(&group->timeout_timer);
if (NULL != group->bottom_half_work_mmu) {
_mali_osk_wq_delete_work(group->bottom_half_work_mmu);
@@ -879,7 +872,7 @@
/* Setup SW timer and record start time */
group->start_time = _mali_osk_time_tickcount();
- _mali_osk_timer_mod(group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime));
+ _mali_osk_timer_mod(&group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime));
MALI_DEBUG_PRINT(4, ("Group: Started GP job 0x%08X on group %s at %u\n",
job,
@@ -1034,7 +1027,7 @@
/* Setup SW timer and record start time */
group->start_time = _mali_osk_time_tickcount();
- _mali_osk_timer_mod(group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime));
+ _mali_osk_timer_mod(&group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime));
MALI_DEBUG_PRINT(4, ("Group: Started PP job 0x%08X part %u/%u on group %s at %u\n",
job, sub_job + 1,
@@ -1124,7 +1117,7 @@
MALI_DEBUG_ASSERT(MALI_TRUE == group->is_working);
/* Stop/clear the timeout timer. */
- _mali_osk_timer_del_async(group->timeout_timer);
+ _mali_osk_timer_del_async(&group->timeout_timer);
if (NULL != group->pp_running_job) {
@@ -1237,7 +1230,7 @@
MALI_DEBUG_ASSERT(MALI_TRUE == group->is_working);
/* Stop/clear the timeout timer. */
- _mali_osk_timer_del_async(group->timeout_timer);
+ _mali_osk_timer_del_async(&group->timeout_timer);
if (NULL != group->gp_running_job) {
mali_gp_update_performance_counters(group->gp_core, group->gp_running_job);
@@ -1780,7 +1773,8 @@
static void mali_group_timeout(void *data)
{
- struct mali_group *group = (struct mali_group *)data;
+ _mali_osk_timer_t *timer = (_mali_osk_timer_t *)data;
+ struct mali_group *group = container_of(timer, struct mali_group, timeout_timer);
MALI_DEBUG_ASSERT_POINTER(group);
MALI_DEBUG_PRINT(2, ("Group: timeout handler for %s at %u\n",
--
Gitblit v1.6.2