static mali_bool mali_dvfs_table_update(void) { unsigned int i; unsigned int step_num = MALI_DVFS_STEPS; if(samsung_rev() < EXYNOS4412_REV_2_0) step_num = MALI_DVFS_STEPS - 1; if(soc_is_exynos4412()) { if (exynos_armclk_max == 1000000) { MALI_PRINT(("::C::exynos_result_of_asv : %d\n", exynos_result_of_asv)); for (i = 0; i < step_num; i++) { mali_dvfs[i].vol = asv_3d_volt_9_table_1ghz_type[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d \n", i, mali_dvfs[i].vol)); } } else if(((is_special_flag() >> G3D_LOCK_FLAG) & 0x1) && (samsung_rev() >= EXYNOS4412_REV_2_0)) { MALI_PRINT(("::L::exynos_result_of_asv : %d\n", exynos_result_of_asv)); for (i = 0; i < step_num; i++) { mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv] + 25000; MALI_PRINT(("mali_dvfs[%d].vol = %d \n ", i, mali_dvfs[i].vol)); } } else if (samsung_rev() >= EXYNOS4412_REV_2_0) { MALI_PRINT(("::P::exynos_result_of_asv : %d\n", exynos_result_of_asv)); for (i = 0; i < step_num; i++) { mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d \n", i, mali_dvfs[i].vol)); } } else { MALI_PRINT(("::Q::exynos_result_of_asv : %d\n", exynos_result_of_asv)); for (i = 0; i < step_num; i++) { mali_dvfs[i].vol = asv_3d_volt_9_table[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d \n", i, mali_dvfs[i].vol)); } } }
static mali_bool mali_pegasus_dvfs_table_update(void) { unsigned int i; unsigned int step_num = MALI_DVFS_STEPS; if(samsung_rev() < EXYNOS4412_REV_2_0) step_num = MALI_DVFS_STEPS-1; if(soc_is_exynos4412()) { /*check it's pega-prime or pega-Q*/ if(samsung_rev() < EXYNOS4412_REV_2_0) { step_num = MALI_DVFS_STEPS-1; for (i = 0; i < step_num; i++) { MALI_PRINT((":::result_of_asv : %d\n", exynos_result_of_asv)); mali_dvfs[i].vol = asv_3d_volt_4412_9_table[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d\n", i, mali_dvfs[i].vol)); } } /* For Pega-Prime e-fuse, add 25mV from default ASV table*/ else if((is_special_flag() >> G3D_LOCK_FLAG) & 0x1) { for (i = 0; i < step_num; i++) { MALI_PRINT(("Pega-Prime e-fuse(add 25mV):::result_of_asv : %d\n", exynos_result_of_asv)); mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv] + 25000; MALI_PRINT(("mali_dvfs[%d].vol = %d\n", i, mali_dvfs[i].vol)); } } /* pega-prime default ASV table */ else { for (i = 0; i < step_num; i++) { MALI_PRINT(("pega-prime default ASV table:::result_of_asv : %d\n", exynos_result_of_asv)); mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d\n", i, mali_dvfs[i].vol)); } } }
static mali_bool mali_dvfs_table_update(void) { unsigned int i; unsigned int step_num = MALI_DVFS_STEPS; if(soc_is_exynos4412()) { /*check it's pega-prime or pega-Q*/ if((is_special_flag() >> G3D_LOCK_FLAG) & 0x1) { for (i = 0; i < step_num; i++) { MALI_PRINT((":::exynos_result_of_asv : %d\n", exynos_result_of_asv)); mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv] + 25000; MALI_PRINT(("mali_dvfs[%d].vol = %d\n", i, mali_dvfs[i].vol)); } } /* pega-prime default ASV table */ else { for (i = 0; i < step_num; i++) { MALI_PRINT((":::exynos_result_of_asv : %d\n", exynos_result_of_asv)); mali_dvfs[i].vol = asv_3d_volt_9_table_for_prime[i][exynos_result_of_asv]; MALI_PRINT(("mali_dvfs[%d].vol = %d\n", i, mali_dvfs[i].vol)); } } }