From 3634c706662dc2c4d76265f5fc51a8d8b00980fb Mon Sep 17 00:00:00 2001 From: chenzhen Date: Mon, 26 Jan 2015 16:10:22 +0800 Subject: [PATCH] mali_400_driver : use mod_timer in mali_control_timer_callback_chain. upgrade rk_ko_ver to 3. --- .../arm/mali400/mali/common/mali_control_timer.c | 16 +++++++++++----- .../arm/mali400/mali/common/mali_control_timer.h | 2 ++ .../gpu/arm/mali400/mali/platform/rk30/rk_ext.h | 2 +- drivers/gpu/arm/mali400/rk_ver_info.txt | 4 ++++ 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/arm/mali400/mali/common/mali_control_timer.c b/drivers/gpu/arm/mali400/mali/common/mali_control_timer.c index 3dadecaac2c3..c7a9aaa6ae3a 100755 --- a/drivers/gpu/arm/mali400/mali/common/mali_control_timer.c +++ b/drivers/gpu/arm/mali400/mali/common/mali_control_timer.c @@ -18,17 +18,22 @@ static u64 period_start_time = 0; -static _mali_osk_timer_t *mali_control_timer = NULL; +static _mali_osk_timer_t *mali_control_timer = NULL; // .KP : mali_control_timer static mali_bool timer_running = MALI_FALSE; static u32 mali_control_timeout = 50; -void mali_control_timer_add(u32 timeout) +void mali_control_timer_add(u32 timeout) // 'timeout' : 以 ms 为单位. { _mali_osk_timer_add(mali_control_timer, _mali_osk_time_mstoticks(timeout)); } -static void mali_control_timer_callback(void *arg) +void mali_control_timer_mod(u32 timeout_in_ms) +{ + _mali_osk_timer_mod(mali_control_timer, _mali_osk_time_mstoticks(timeout_in_ms)); +} + +static void mali_control_timer_callback(void *arg) // .KP : mali_control_timer_callback { if (mali_utilization_enabled()) { struct mali_gpu_utilization_data *util_data = NULL; @@ -45,8 +50,9 @@ static void mali_control_timer_callback(void *arg) #endif } - if (MALI_TRUE == timer_running) { - mali_control_timer_add(mali_control_timeout); + if (MALI_TRUE == timer_running) { // .CP : + // mali_control_timer_add(mali_control_timeout); + mali_control_timer_mod(mali_control_timeout); } } } diff --git a/drivers/gpu/arm/mali400/mali/common/mali_control_timer.h b/drivers/gpu/arm/mali400/mali/common/mali_control_timer.h index 536d1a241f1f..73cc77f75ce7 100755 --- a/drivers/gpu/arm/mali400/mali/common/mali_control_timer.h +++ b/drivers/gpu/arm/mali400/mali/common/mali_control_timer.h @@ -23,5 +23,7 @@ void mali_control_timer_suspend(mali_bool suspend); void mali_control_timer_add(u32 timeout); +void mali_control_timer_mod(u32 timeout_in_ms); + #endif /* __MALI_CONTROL_TIMER_H__ */ diff --git a/drivers/gpu/arm/mali400/mali/platform/rk30/rk_ext.h b/drivers/gpu/arm/mali400/mali/platform/rk30/rk_ext.h index 81a5fba8a0d8..343c6a634e50 100755 --- a/drivers/gpu/arm/mali400/mali/platform/rk30/rk_ext.h +++ b/drivers/gpu/arm/mali400/mali/platform/rk30/rk_ext.h @@ -34,7 +34,7 @@ extern "C" { */ /** version of rk_ext on mali_ko, aka. rk_ko_ver. */ -#define RK_KO_VER (2) +#define RK_KO_VER (3) /* --------------------------------------------------------------------------------------------------------- * Types and Structures Definition diff --git a/drivers/gpu/arm/mali400/rk_ver_info.txt b/drivers/gpu/arm/mali400/rk_ver_info.txt index f1c3df469535..2a6cbbbb5a97 100644 --- a/drivers/gpu/arm/mali400/rk_ver_info.txt +++ b/drivers/gpu/arm/mali400/rk_ver_info.txt @@ -5,3 +5,7 @@ r5p0-01rel0-1-x@0 r5p0-01rel0-2-x@0 支持 mali_so 来获取 rk_ko_ver. + +r5p0-01rel0-3-x@0 + 在 mali_control_timer_callback_chain 中使用 mod_timer, 而不再是 add_timer. + -- 2.34.1