static int pm_callback_power_on(kbase_device *kbdev) { int result; int ret_val; struct kbase_os_device *osdev = &kbdev->osdev; struct exynos_context *platform; platform = (struct exynos_context *) kbdev->platform_context; if (pm_runtime_status_suspended(osdev->dev)) ret_val = 1; else ret_val = 0; if(osdev->dev->power.disable_depth > 0) { if(platform->cmu_pmu_status == 0) kbase_platform_cmu_pmu_control(kbdev, 1); return ret_val; } result = pm_runtime_resume(osdev->dev); if(result < 0 && result == -EAGAIN) kbase_platform_cmu_pmu_control(kbdev, 1); else if(result < 0) OSK_PRINT_ERROR(OSK_BASE_PM, "pm_runtime_get_sync failed (%d)\n", result); return ret_val; }
uintptr_t kbasep_get_config_value(const kbase_attribute *attributes, int attribute_id) { const kbase_attribute *attr; OSK_ASSERT(attributes != NULL); attr = kbasep_get_next_attribute(attributes, attribute_id); if (attr != NULL) { return attr->data; } /* default values */ switch (attribute_id) { case KBASE_CONFIG_ATTR_MEMORY_PER_PROCESS_LIMIT: return (uintptr_t)-1; case KBASE_CONFIG_ATTR_UMP_DEVICE: return UMP_DEVICE_W_SHIFT; case KBASE_CONFIG_ATTR_MEMORY_OS_SHARED_MAX: return (uintptr_t)-1; case KBASE_CONFIG_ATTR_MEMORY_OS_SHARED_PERF_GPU: return KBASE_MEM_PERF_NORMAL; case KBASE_CONFIG_ATTR_GPU_IRQ_THROTTLE_TIME_US: return DEFAULT_IRQ_THROTTLE_TIME_US; /* Begin scheduling defaults */ case KBASE_CONFIG_ATTR_JS_SCHEDULING_TICK_NS: return DEFAULT_JS_SCHEDULING_TICK_NS; case KBASE_CONFIG_ATTR_JS_SOFT_STOP_TICKS: return DEFAULT_JS_SOFT_STOP_TICKS; case KBASE_CONFIG_ATTR_JS_HARD_STOP_TICKS_SS: return DEFAULT_JS_HARD_STOP_TICKS_SS; case KBASE_CONFIG_ATTR_JS_HARD_STOP_TICKS_NSS: return DEFAULT_JS_HARD_STOP_TICKS_NSS; case KBASE_CONFIG_ATTR_JS_CTX_TIMESLICE_NS: return DEFAULT_JS_CTX_TIMESLICE_NS; case KBASE_CONFIG_ATTR_JS_CFS_CTX_RUNTIME_INIT_SLICES: return DEFAULT_JS_CFS_CTX_RUNTIME_INIT_SLICES; case KBASE_CONFIG_ATTR_JS_CFS_CTX_RUNTIME_MIN_SLICES: return DEFAULT_JS_CFS_CTX_RUNTIME_MIN_SLICES; case KBASE_CONFIG_ATTR_JS_RESET_TICKS_SS: return DEFAULT_JS_RESET_TICKS_SS; case KBASE_CONFIG_ATTR_JS_RESET_TICKS_NSS: return DEFAULT_JS_RESET_TICKS_NSS; case KBASE_CONFIG_ATTR_JS_RESET_TIMEOUT_MS: return DEFAULT_JS_RESET_TIMEOUT_MS; /* End scheduling defaults */ default: OSK_PRINT_ERROR(OSK_BASE_CORE, "kbasep_get_config_value. Cannot get value of attribute with id=%i and no default value defined", attribute_id); return 0; } }