int mali_deep_suspend(struct device *device)
{
int ret = 0;
+
+ mali_pm_statue = 1;
enable_clock();
flush_scaling_job();
/* clock scaling up. Kasin.. */
enable_clock();
ret = mali_clock_critical(mali_cri_deep_resume, (size_t)device);
+ mali_pm_statue = 0;
return ret;
}
int mali_deep_suspend(struct device *device)
{
int ret = 0;
+
+ mali_pm_statue = 1;
enable_clock();
flush_scaling_job();
/* clock scaling up. Kasin.. */
enable_clock();
ret = mali_clock_critical(mali_cri_deep_resume, (size_t)device);
+ mali_pm_statue = 0;
return ret;
}
int ret = 0;
struct mali_pmu_core *pmu;
+ mali_pm_statue = 1;
pmu = mali_pmu_get_global_pmu_core();
enable_clock();
flush_scaling_job();
/* clock scaling up. Kasin.. */
enable_clock();
ret = mali_clock_critical(mali_cri_deep_resume, (size_t)device);
+ mali_pm_statue = 0;
return ret;
}
void mali_gpu_utilization_callback(struct mali_gpu_utilization_data *data)
{
+ if (mali_pm_statue)
+ return;
+
switch (scaling_mode) {
case MALI_PP_FS_SCALING:
mali_pp_fs_scaling_update(data);
#include "common/mali_pmu.h"
#include "common/mali_osk_profiling.h"
-int mali_pm_statue = 1;
+int mali_pm_statue = 0;
static struct mali_gpu_device_data mali_gpu_data =
{
#include "mali_clock.h"
extern struct device_type mali_pm_device;
+extern int mali_pm_statue;
u32 set_max_mali_freq(u32 idx);
u32 get_max_mali_freq(void);