int mali_dev_resume()
{
	int err = 0;
	_mali_osk_lock_wait(lock, _MALI_OSK_LOCKMODE_RW);
	if ((mali_dvfs_device_state == _MALI_DEVICE_RESUME) 
	     || (mali_device_state == _MALI_DEVICE_SUSPEND) )
	{
		err = -EPERM;
	}
	if (!err)
	{
		mali_device_resume(MALI_PMM_EVENT_DVFS_RESUME, &dvfs_pm_thread);
		mali_dvfs_device_state = _MALI_DEVICE_RESUME;
	}
	_mali_osk_lock_signal(lock, _MALI_OSK_LOCKMODE_RW);
	return err;
}
Example #2
0
/** This function is called when mali GPU device is to be resumed
 */
static int mali_pm_resume(struct device *dev)
{
	int err = 0;

	_mali_osk_lock_wait(lock, _MALI_OSK_LOCKMODE_RW);

#ifdef CONFIG_REGULATOR
	mali_regulator_enable();
#endif

	if (mali_device_state == _MALI_DEVICE_RESUME)
	{
		_mali_osk_lock_signal(lock, _MALI_OSK_LOCKMODE_RW);
		return err;
	}
	err = mali_device_resume(MALI_PMM_EVENT_OS_POWER_UP, &pm_thread);
	mali_device_state = _MALI_DEVICE_RESUME;
	mali_dvfs_device_state = _MALI_DEVICE_RESUME;
	_mali_osk_lock_signal(lock, _MALI_OSK_LOCKMODE_RW);
	return err;
}