forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/gpu/arm/mali400/mali/common/mali_control_timer.c
....@@ -19,7 +19,7 @@
1919 static u64 period_start_time = 0;
2020
2121 /** .KP : mali_control_timer */
22
-static _mali_osk_timer_t mali_control_timer;
22
+static _mali_osk_timer_t *mali_control_timer = NULL;
2323 static mali_bool timer_running = MALI_FALSE;
2424
2525 /**
....@@ -30,12 +30,12 @@
3030
3131 void mali_control_timer_add(u32 timeout)/* 'timeout' : 以 ms 为单位. */
3232 {
33
- _mali_osk_timer_add(&mali_control_timer, _mali_osk_time_mstoticks(timeout));
33
+ _mali_osk_timer_add(mali_control_timer, _mali_osk_time_mstoticks(timeout));
3434 }
3535
3636 void mali_control_timer_mod(u32 timeout_in_ms)
3737 {
38
- _mali_osk_timer_mod(&mali_control_timer, _mali_osk_time_mstoticks(timeout_in_ms));
38
+ _mali_osk_timer_mod(mali_control_timer, _mali_osk_time_mstoticks(timeout_in_ms));
3939 }
4040
4141 static void mali_control_timer_callback(void *arg)
....@@ -76,15 +76,23 @@
7676 }
7777 }
7878
79
- _mali_osk_timer_init(&mali_control_timer, mali_control_timer_callback);
79
+ mali_control_timer = _mali_osk_timer_init(mali_control_timer_callback);
80
+ if (NULL == mali_control_timer) {
81
+ return _MALI_OSK_ERR_FAULT;
82
+ }
83
+ _mali_osk_timer_setcallback(mali_control_timer, mali_control_timer_callback, NULL);
8084
8185 return _MALI_OSK_ERR_OK;
8286 }
8387
8488 void mali_control_timer_term(void)
8589 {
86
- _mali_osk_timer_del(&mali_control_timer);
87
- timer_running = MALI_FALSE;
90
+ if (NULL != mali_control_timer) {
91
+ _mali_osk_timer_del(mali_control_timer);
92
+ timer_running = MALI_FALSE;
93
+ _mali_osk_timer_term(mali_control_timer);
94
+ mali_control_timer = NULL;
95
+ }
8896 }
8997
9098 mali_bool mali_control_timer_resume(u64 time_now)
....@@ -122,7 +130,7 @@
122130 mali_utilization_data_unlock();
123131
124132 if (suspend == MALI_TRUE) {
125
- _mali_osk_timer_del(&mali_control_timer);
133
+ _mali_osk_timer_del(mali_control_timer);
126134 mali_utilization_reset();
127135 }
128136 } else {