From 61598093bbdd283a7edc367d900f223070ead8d2 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 10 May 2024 07:43:03 +0000 Subject: [PATCH] add ax88772C AX88772C_eeprom_tools --- kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c | 46 ++++++++++++++++++++++++++-------------------- 1 files changed, 26 insertions(+), 20 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 3e76c54..47979a2 100755 --- a/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c +++ b/kernel/drivers/gpu/arm/mali400/mali/common/mali_group.c @@ -65,23 +65,27 @@ group = _mali_osk_calloc(1, sizeof(struct mali_group)); if (NULL != group) { - _mali_osk_timer_init(&group->timeout_timer, mali_group_timeout); + 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); - 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; + return group; + } + _mali_osk_free(group); } return NULL; @@ -143,7 +147,10 @@ } } - _mali_osk_timer_del(&group->timeout_timer); + if (NULL != group->timeout_timer) { + _mali_osk_timer_del(group->timeout_timer); + _mali_osk_timer_term(group->timeout_timer); + } if (NULL != group->bottom_half_work_mmu) { _mali_osk_wq_delete_work(group->bottom_half_work_mmu); @@ -872,7 +879,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, @@ -1027,7 +1034,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, @@ -1117,7 +1124,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) { @@ -1230,7 +1237,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); @@ -1773,8 +1780,7 @@ static void mali_group_timeout(void *data) { - _mali_osk_timer_t *timer = (_mali_osk_timer_t *)data; - struct mali_group *group = container_of(timer, struct mali_group, timeout_timer); + struct mali_group *group = (struct mali_group *)data; MALI_DEBUG_ASSERT_POINTER(group); MALI_DEBUG_PRINT(2, ("Group: timeout handler for %s at %u\n", -- Gitblit v1.6.2