| .. | .. |
|---|
| 65 | 65 | |
|---|
| 66 | 66 | group = _mali_osk_calloc(1, sizeof(struct mali_group)); |
|---|
| 67 | 67 | if (NULL != group) { |
|---|
| 68 | | - group->timeout_timer = _mali_osk_timer_init(mali_group_timeout); |
|---|
| 69 | | - if (NULL != group->timeout_timer) { |
|---|
| 70 | | - _mali_osk_timer_setcallback(group->timeout_timer, mali_group_timeout, (void *)group); |
|---|
| 68 | + _mali_osk_timer_init(&group->timeout_timer, mali_group_timeout); |
|---|
| 71 | 69 | |
|---|
| 72 | | - group->l2_cache_core[0] = core; |
|---|
| 73 | | - _mali_osk_list_init(&group->group_list); |
|---|
| 74 | | - _mali_osk_list_init(&group->executor_list); |
|---|
| 75 | | - _mali_osk_list_init(&group->pm_domain_list); |
|---|
| 76 | | - group->bcast_core = bcast; |
|---|
| 77 | | - group->dlbu_core = dlbu; |
|---|
| 70 | + group->l2_cache_core[0] = core; |
|---|
| 71 | + _mali_osk_list_init(&group->group_list); |
|---|
| 72 | + _mali_osk_list_init(&group->executor_list); |
|---|
| 73 | + _mali_osk_list_init(&group->pm_domain_list); |
|---|
| 74 | + group->bcast_core = bcast; |
|---|
| 75 | + group->dlbu_core = dlbu; |
|---|
| 78 | 76 | |
|---|
| 79 | | - /* register this object as a part of the correct power domain */ |
|---|
| 80 | | - if ((NULL != core) || (NULL != dlbu) || (NULL != bcast)) |
|---|
| 81 | | - group->pm_domain = mali_pm_register_group(domain_index, group); |
|---|
| 77 | + /* register this object as a part of the correct power domain */ |
|---|
| 78 | + if ((NULL != core) || (NULL != dlbu) || (NULL != bcast)) |
|---|
| 79 | + group->pm_domain = mali_pm_register_group(domain_index, group); |
|---|
| 82 | 80 | |
|---|
| 83 | | - mali_global_groups[mali_global_num_groups] = group; |
|---|
| 84 | | - mali_global_num_groups++; |
|---|
| 81 | + mali_global_groups[mali_global_num_groups] = group; |
|---|
| 82 | + mali_global_num_groups++; |
|---|
| 85 | 83 | |
|---|
| 86 | | - return group; |
|---|
| 87 | | - } |
|---|
| 88 | | - _mali_osk_free(group); |
|---|
| 84 | + return group; |
|---|
| 89 | 85 | } |
|---|
| 90 | 86 | |
|---|
| 91 | 87 | return NULL; |
|---|
| .. | .. |
|---|
| 147 | 143 | } |
|---|
| 148 | 144 | } |
|---|
| 149 | 145 | |
|---|
| 150 | | - if (NULL != group->timeout_timer) { |
|---|
| 151 | | - _mali_osk_timer_del(group->timeout_timer); |
|---|
| 152 | | - _mali_osk_timer_term(group->timeout_timer); |
|---|
| 153 | | - } |
|---|
| 146 | + _mali_osk_timer_del(&group->timeout_timer); |
|---|
| 154 | 147 | |
|---|
| 155 | 148 | if (NULL != group->bottom_half_work_mmu) { |
|---|
| 156 | 149 | _mali_osk_wq_delete_work(group->bottom_half_work_mmu); |
|---|
| .. | .. |
|---|
| 879 | 872 | |
|---|
| 880 | 873 | /* Setup SW timer and record start time */ |
|---|
| 881 | 874 | group->start_time = _mali_osk_time_tickcount(); |
|---|
| 882 | | - _mali_osk_timer_mod(group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime)); |
|---|
| 875 | + _mali_osk_timer_mod(&group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime)); |
|---|
| 883 | 876 | |
|---|
| 884 | 877 | MALI_DEBUG_PRINT(4, ("Group: Started GP job 0x%08X on group %s at %u\n", |
|---|
| 885 | 878 | job, |
|---|
| .. | .. |
|---|
| 1034 | 1027 | |
|---|
| 1035 | 1028 | /* Setup SW timer and record start time */ |
|---|
| 1036 | 1029 | group->start_time = _mali_osk_time_tickcount(); |
|---|
| 1037 | | - _mali_osk_timer_mod(group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime)); |
|---|
| 1030 | + _mali_osk_timer_mod(&group->timeout_timer, _mali_osk_time_mstoticks(mali_max_job_runtime)); |
|---|
| 1038 | 1031 | |
|---|
| 1039 | 1032 | MALI_DEBUG_PRINT(4, ("Group: Started PP job 0x%08X part %u/%u on group %s at %u\n", |
|---|
| 1040 | 1033 | job, sub_job + 1, |
|---|
| .. | .. |
|---|
| 1124 | 1117 | MALI_DEBUG_ASSERT(MALI_TRUE == group->is_working); |
|---|
| 1125 | 1118 | |
|---|
| 1126 | 1119 | /* Stop/clear the timeout timer. */ |
|---|
| 1127 | | - _mali_osk_timer_del_async(group->timeout_timer); |
|---|
| 1120 | + _mali_osk_timer_del_async(&group->timeout_timer); |
|---|
| 1128 | 1121 | |
|---|
| 1129 | 1122 | if (NULL != group->pp_running_job) { |
|---|
| 1130 | 1123 | |
|---|
| .. | .. |
|---|
| 1237 | 1230 | MALI_DEBUG_ASSERT(MALI_TRUE == group->is_working); |
|---|
| 1238 | 1231 | |
|---|
| 1239 | 1232 | /* Stop/clear the timeout timer. */ |
|---|
| 1240 | | - _mali_osk_timer_del_async(group->timeout_timer); |
|---|
| 1233 | + _mali_osk_timer_del_async(&group->timeout_timer); |
|---|
| 1241 | 1234 | |
|---|
| 1242 | 1235 | if (NULL != group->gp_running_job) { |
|---|
| 1243 | 1236 | mali_gp_update_performance_counters(group->gp_core, group->gp_running_job); |
|---|
| .. | .. |
|---|
| 1780 | 1773 | |
|---|
| 1781 | 1774 | static void mali_group_timeout(void *data) |
|---|
| 1782 | 1775 | { |
|---|
| 1783 | | - struct mali_group *group = (struct mali_group *)data; |
|---|
| 1776 | + _mali_osk_timer_t *timer = (_mali_osk_timer_t *)data; |
|---|
| 1777 | + struct mali_group *group = container_of(timer, struct mali_group, timeout_timer); |
|---|
| 1784 | 1778 | MALI_DEBUG_ASSERT_POINTER(group); |
|---|
| 1785 | 1779 | |
|---|
| 1786 | 1780 | MALI_DEBUG_PRINT(2, ("Group: timeout handler for %s at %u\n", |
|---|