diff options
| author | Meizu OpenSource <patchwork@meizu.com> | 2016-08-15 10:19:42 +0800 |
|---|---|---|
| committer | Meizu OpenSource <patchwork@meizu.com> | 2016-08-15 10:19:42 +0800 |
| commit | d2e1446d81725c351dc73a03b397ce043fb18452 (patch) | |
| tree | 4dbc616b7f92aea39cd697a9084205ddb805e344 /drivers/misc/mediatek/gpu/hal | |
| download | android_kernel_m2note-d2e1446d81725c351dc73a03b397ce043fb18452.tar.gz | |
first commit
Diffstat (limited to 'drivers/misc/mediatek/gpu/hal')
| -rwxr-xr-x | drivers/misc/mediatek/gpu/hal/Makefile | 2 | ||||
| -rw-r--r-- | drivers/misc/mediatek/gpu/hal/mtk_gpu_utility.c | 302 |
2 files changed, 304 insertions, 0 deletions
diff --git a/drivers/misc/mediatek/gpu/hal/Makefile b/drivers/misc/mediatek/gpu/hal/Makefile new file mode 100755 index 000000000..3f33291f1 --- /dev/null +++ b/drivers/misc/mediatek/gpu/hal/Makefile @@ -0,0 +1,2 @@ +obj-y += hal.o +hal-y := mtk_gpu_utility.o diff --git a/drivers/misc/mediatek/gpu/hal/mtk_gpu_utility.c b/drivers/misc/mediatek/gpu/hal/mtk_gpu_utility.c new file mode 100644 index 000000000..9f9281e35 --- /dev/null +++ b/drivers/misc/mediatek/gpu/hal/mtk_gpu_utility.c @@ -0,0 +1,302 @@ +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/mtk_gpu_utility.h> + +unsigned int (*mtk_get_gpu_memory_usage_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_memory_usage_fp); + +bool mtk_get_gpu_memory_usage(unsigned int* pMemUsage) +{ + if (NULL != mtk_get_gpu_memory_usage_fp) + { + if (pMemUsage) + { + *pMemUsage = mtk_get_gpu_memory_usage_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_memory_usage); + +unsigned int (*mtk_get_gpu_page_cache_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_page_cache_fp); + +bool mtk_get_gpu_page_cache(unsigned int* pPageCache) +{ + if (NULL != mtk_get_gpu_page_cache_fp) + { + if (pPageCache) + { + *pPageCache = mtk_get_gpu_page_cache_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_page_cache); + +unsigned int (*mtk_get_gpu_loading_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_loading_fp); + +bool mtk_get_gpu_loading(unsigned int* pLoading) +{ + if (NULL != mtk_get_gpu_loading_fp) + { + if (pLoading) + { + *pLoading = mtk_get_gpu_loading_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_loading); + +unsigned int (*mtk_get_gpu_block_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_block_fp); + +bool mtk_get_gpu_block(unsigned int* pBlock) +{ + if (NULL != mtk_get_gpu_block_fp) + { + if (pBlock) + { + *pBlock = mtk_get_gpu_block_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_block); + +unsigned int (*mtk_get_gpu_idle_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_idle_fp); + +bool mtk_get_gpu_idle(unsigned int* pIdle) +{ + if (NULL != mtk_get_gpu_idle_fp) + { + if (pIdle) + { + *pIdle = mtk_get_gpu_idle_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_idle); + + +unsigned int (*mtk_get_gpu_GP_loading_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_GP_loading_fp); + +bool mtk_get_gpu_GP_loading(unsigned int* pLoading) +{ + if (NULL != mtk_get_gpu_GP_loading_fp) + { + if (pLoading) + { + *pLoading = mtk_get_gpu_GP_loading_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_GP_loading); + +unsigned int (*mtk_get_gpu_PP_loading_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_PP_loading_fp); + +bool mtk_get_gpu_PP_loading(unsigned int* pLoading) +{ + if (NULL != mtk_get_gpu_PP_loading_fp) + { + if (pLoading) + { + *pLoading = mtk_get_gpu_PP_loading_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_PP_loading); + +unsigned int (*mtk_get_gpu_power_loading_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_gpu_power_loading_fp); + +bool mtk_get_gpu_power_loading(unsigned int* pLoading) +{ + if (NULL != mtk_get_gpu_power_loading_fp) + { + if (pLoading) + { + *pLoading = mtk_get_gpu_power_loading_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_get_gpu_power_loading); + +void (*mtk_enable_gpu_dvfs_timer_fp)(bool bEnable) = NULL; +EXPORT_SYMBOL(mtk_enable_gpu_dvfs_timer_fp); + +bool mtk_enable_gpu_dvfs_timer(bool bEnable) +{ + if (NULL != mtk_enable_gpu_dvfs_timer_fp) + { + mtk_enable_gpu_dvfs_timer_fp(bEnable); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_enable_gpu_dvfs_timer); + + +void (*mtk_boost_gpu_freq_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_boost_gpu_freq_fp); + +bool mtk_boost_gpu_freq(void) +{ + if (NULL != mtk_boost_gpu_freq_fp) + { + mtk_boost_gpu_freq_fp(); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_boost_gpu_freq); + +void (*mtk_set_bottom_gpu_freq_fp)(unsigned int) = NULL; +EXPORT_SYMBOL(mtk_set_bottom_gpu_freq_fp); + +bool mtk_set_bottom_gpu_freq(unsigned int ui32FreqLevel) +{ + if (NULL != mtk_set_bottom_gpu_freq_fp) + { + mtk_set_bottom_gpu_freq_fp(ui32FreqLevel); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_set_bottom_gpu_freq); + +//----------------------------------------------------------------------------- +unsigned int (*mtk_custom_get_gpu_freq_level_count_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_custom_get_gpu_freq_level_count_fp); + +bool mtk_custom_get_gpu_freq_level_count(unsigned int* pui32FreqLevelCount) +{ + if (NULL != mtk_custom_get_gpu_freq_level_count_fp) + { + if (pui32FreqLevelCount) + { + *pui32FreqLevelCount = mtk_custom_get_gpu_freq_level_count_fp(); + return true; + } + } + return false; +} +EXPORT_SYMBOL(mtk_custom_get_gpu_freq_level_count); + +//----------------------------------------------------------------------------- + +void (*mtk_custom_boost_gpu_freq_fp)(unsigned int ui32FreqLevel) = NULL; +EXPORT_SYMBOL(mtk_custom_boost_gpu_freq_fp); + +bool mtk_custom_boost_gpu_freq(unsigned int ui32FreqLevel) +{ + if (NULL != mtk_custom_boost_gpu_freq_fp) + { + mtk_custom_boost_gpu_freq_fp(ui32FreqLevel); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_custom_boost_gpu_freq); + +//----------------------------------------------------------------------------- + +void (*mtk_custom_upbound_gpu_freq_fp)(unsigned int ui32FreqLevel) = NULL; +EXPORT_SYMBOL(mtk_custom_upbound_gpu_freq_fp); + +bool mtk_custom_upbound_gpu_freq(unsigned int ui32FreqLevel) +{ + if (NULL != mtk_custom_upbound_gpu_freq_fp) + { + mtk_custom_upbound_gpu_freq_fp(ui32FreqLevel); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_custom_upbound_gpu_freq); + +//----------------------------------------------------------------------------- + +unsigned int (*mtk_get_custom_boost_gpu_freq_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_custom_boost_gpu_freq_fp); + +bool mtk_get_custom_boost_gpu_freq(unsigned int *pui32FreqLevel) +{ + if ((NULL != mtk_get_custom_boost_gpu_freq_fp) && (NULL != pui32FreqLevel)) + { + *pui32FreqLevel = mtk_get_custom_boost_gpu_freq_fp(); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_get_custom_boost_gpu_freq); + +//----------------------------------------------------------------------------- + +unsigned int (*mtk_get_custom_upbound_gpu_freq_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_get_custom_upbound_gpu_freq_fp); + +bool mtk_get_custom_upbound_gpu_freq(unsigned int *pui32FreqLevel) +{ + if ((NULL != mtk_get_custom_upbound_gpu_freq_fp) && (NULL != pui32FreqLevel)) + { + *pui32FreqLevel = mtk_get_custom_upbound_gpu_freq_fp(); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_get_custom_upbound_gpu_freq); + + +//----------------------------------------------------------------------------- + +void (*mtk_gpu_sodi_entry_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_gpu_sodi_entry_fp); + +bool mtk_gpu_sodi_entry(void) +{ + if (NULL != mtk_gpu_sodi_entry_fp) + { + mtk_gpu_sodi_entry_fp(); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_gpu_sodi_entry); + + + +//----------------------------------------------------------------------------- + +void (*mtk_gpu_sodi_exit_fp)(void) = NULL; +EXPORT_SYMBOL(mtk_gpu_sodi_exit_fp); + +bool mtk_gpu_sodi_exit(void) +{ + if (NULL != mtk_gpu_sodi_exit_fp) + { + mtk_gpu_sodi_exit_fp(); + return true; + } + return false; +} +EXPORT_SYMBOL(mtk_gpu_sodi_exit); + + |
