int mali_meson_init_finish(struct platform_device* ptr_plt_dev) { #ifdef CONFIG_GPU_THERMAL int err; struct gpufreq_cooling_device *gcdev = NULL; #endif if (mali_core_scaling_init(&mali_plat_data) < 0) return -1; #ifdef CONFIG_GPU_THERMAL gcdev = gpufreq_cooling_alloc(); if(IS_ERR(gcdev)) printk("malloc gpu cooling buffer error!!\n"); else if(!gcdev) printk("system does not enable thermal driver\n"); else { gcdev->get_gpu_freq_level = get_mali_freq_level; gcdev->get_gpu_max_level = get_mali_max_level; gcdev->set_gpu_freq_idx = set_limit_mali_freq; gcdev->get_gpu_current_max_level = get_limit_mali_freq; err = gpufreq_cooling_register(gcdev); if(err < 0) printk("register GPU cooling error\n"); printk("gpu cooling register okay with err=%d\n",err); } #endif return 0; }
int mali_meson_init_finish(struct platform_device* ptr_plt_dev) { #ifdef CONFIG_GPU_THERMAL int err; struct gpufreq_cooling_device *gcdev = NULL; struct gpucore_cooling_device *gccdev = NULL; #endif if (mali_core_scaling_init(&mali_plat_data) < 0) return -1; #ifdef CONFIG_GPU_THERMAL gcdev = gpufreq_cooling_alloc(); register_gpu_freq_info(get_current_frequency); if(IS_ERR(gcdev)) printk("malloc gpu cooling buffer error!!\n"); else if(!gcdev) printk("system does not enable thermal driver\n"); else { gcdev->get_gpu_freq_level = get_mali_freq_level; gcdev->get_gpu_max_level = get_mali_max_level; gcdev->set_gpu_freq_idx = set_limit_mali_freq; gcdev->get_gpu_current_max_level = get_limit_mali_freq; err = gpufreq_cooling_register(gcdev); if(err < 0) printk("register GPU cooling error\n"); printk("gpu cooling register okay with err=%d\n",err); } gccdev=gpucore_cooling_alloc(); if(IS_ERR(gccdev)) printk("malloc gpu core cooling buffer error!!\n"); else if(!gccdev) printk("system does not enable thermal driver\n"); else { gccdev->max_gpu_core_num=mali_plat_data.cfg_pp; gccdev->set_max_pp_num=set_limit_pp_num; err = (int)gpucore_cooling_register(gccdev); if(err < 0) printk("register GPU cooling error\n"); printk("gpu core cooling register okay with err=%d\n",err); } #endif #ifdef CONFIG_AM_VDEC_H264_4K2K vh264_4k2k_register_module_callback(mali_4k2k_enter, mali_4k2k_exit); #endif /* CONFIG_AM_VDEC_H264_4K2K */ return 0; }
void mali_post_init(void) { #ifdef CONFIG_GPU_THERMAL int err; struct gpufreq_cooling_device *gcdev = NULL; struct gpucore_cooling_device *gccdev = NULL; gcdev = gpufreq_cooling_alloc(); register_gpu_freq_info(get_current_frequency); if (IS_ERR(gcdev)) printk("malloc gpu cooling buffer error!!\n"); else if (!gcdev) printk("system does not enable thermal driver\n"); else { gcdev->get_gpu_freq_level = get_mali_freq_level; gcdev->get_gpu_max_level = get_mali_max_level; gcdev->set_gpu_freq_idx = set_limit_mali_freq; gcdev->get_gpu_current_max_level = get_limit_mali_freq; err = gpufreq_cooling_register(gcdev); if (err < 0) printk("register GPU cooling error\n"); printk("gpu cooling register okay with err=%d\n",err); } gccdev = gpucore_cooling_alloc(); if (IS_ERR(gccdev)) printk("malloc gpu core cooling buffer error!!\n"); else if (!gccdev) printk("system does not enable thermal driver\n"); else { gccdev->max_gpu_core_num=mali_plat_data.cfg_pp; gccdev->set_max_pp_num=set_limit_pp_num; err = (int)gpucore_cooling_register(gccdev); if (err < 0) printk("register GPU cooling error\n"); printk("gpu core cooling register okay with err=%d\n",err); } #endif }