si_scale_power_for_smc
cpu_to_be32(si_scale_power_for_smc(tdp_limit, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc(near_tdp_limit, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc((near_tdp_limit * SISLANDS_DPM2_TDP_SAFE_LIMIT_PERCENT) / 100, scaling_factor) * 1000);
smc_leakage = si_scale_power_for_smc(leakage, scaling_factor) / 4;
smc_leakage = si_scale_power_for_smc(leakage, scaling_factor) / 4;
cpu_to_be32(si_scale_power_for_smc(tdp_limit, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc(near_tdp_limit, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc((near_tdp_limit * SISLANDS_DPM2_TDP_SAFE_LIMIT_PERCENT) / 100, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc(rdev->pm.dpm.near_tdp_limit_adjusted, scaling_factor) * 1000);
cpu_to_be32(si_scale_power_for_smc((rdev->pm.dpm.near_tdp_limit_adjusted * SISLANDS_DPM2_TDP_SAFE_LIMIT_PERCENT) / 100, scaling_factor) * 1000);
smc_leakage = si_scale_power_for_smc(leakage, scaling_factor) / 4;
smc_leakage = si_scale_power_for_smc(leakage, scaling_factor) / 4;