perf_level
static void (*_omap2_sram_reprogram_sdrc)(u32 perf_level, u32 dll_val,
void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, u32 mem_type)
_omap2_sram_reprogram_sdrc(perf_level, dll_val, mem_type);
extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
extern void omap242x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val,
const __be32 *perf_level;
perf_level = of_get_property(root,
if (perf_level && (be32_to_cpup(perf_level) >= 1)) {
boot_params.ist_info.perf_level = oreg.edx;
__u32 perf_level;
ist_info.event, ist_info.perf_level);
struct perf_level gx_votes[16];
struct perf_level cx_votes[4];
struct perf_level cx_votes[4];
struct isst_perf_level_data_info perf_level;
if (copy_from_user(&perf_level, argp, sizeof(perf_level)))
power_domain_info = get_instance(perf_level.socket_id, perf_level.power_domain_id);
if (perf_level.level > power_domain_info->max_level)
if (!(power_domain_info->pp_header.level_en_mask & BIT(perf_level.level)))
_read_pp_level_info("tdp_ratio", perf_level.tdp_ratio, perf_level.level,
_read_pp_level_info("base_freq_mhz", perf_level.base_freq_mhz, perf_level.level,
_read_pp_level_info("base_freq_avx2_mhz", perf_level.base_freq_avx2_mhz, perf_level.level,
_read_pp_level_info("base_freq_avx512_mhz", perf_level.base_freq_avx512_mhz,
perf_level.level, SST_PP_INFO_0_OFFSET, SST_PP_P1_AVX512_START,
_read_pp_level_info("base_freq_amx_mhz", perf_level.base_freq_amx_mhz, perf_level.level,
_read_pp_level_info("thermal_design_power_w", perf_level.thermal_design_power_w,
perf_level.level, SST_PP_INFO_1_OFFSET, SST_PP_TDP_START,
perf_level.thermal_design_power_w /= 8; /* units are in 1/8th watt */
_read_pp_level_info("tjunction_max_c", perf_level.tjunction_max_c, perf_level.level,
_read_pp_level_info("max_memory_freq_mhz", perf_level.max_memory_freq_mhz,
perf_level.level, SST_PP_INFO_1_OFFSET, SST_PP_MAX_MEMORY_FREQ_START,
_read_pp_level_info("cooling_type", perf_level.cooling_type, perf_level.level,
perf_level.trl_freq_mhz[i][j], perf_level.level,
_read_pp_level_info("bucket*_core_count", perf_level.bucket_core_counts[i],
perf_level.level, SST_PP_INFO_10_OFFSET,
perf_level.max_buckets = TRL_MAX_BUCKETS;
perf_level.max_trl_levels = TRL_MAX_LEVELS;
_read_pp_level_info("p0_freq_mhz", perf_level.p0_freq_mhz, perf_level.level,
_read_pp_level_info("p1_freq_mhz", perf_level.p1_freq_mhz, perf_level.level,
_read_pp_level_info("pn_freq_mhz", perf_level.pn_freq_mhz, perf_level.level,
_read_pp_level_info("pm_freq_mhz", perf_level.pm_freq_mhz, perf_level.level,
_read_pp_level_info("p0_fabric_freq_mhz", perf_level.p0_fabric_freq_mhz,
perf_level.level, SST_PP_INFO_11_OFFSET,
_read_pp_level_info("p1_fabric_freq_mhz", perf_level.p1_fabric_freq_mhz,
perf_level.level, SST_PP_INFO_11_OFFSET,
_read_pp_level_info("pm_fabric_freq_mhz", perf_level.pm_fabric_freq_mhz,
perf_level.level, SST_PP_INFO_11_OFFSET,
if (copy_to_user(argp, &perf_level, sizeof(perf_level)))
u64 perf_level :3;
struct perf_level *perf_levels;
pd_info->perf_levels = devm_kcalloc(dev, levels, sizeof(struct perf_level), GFP_KERNEL);
struct isst_perf_level_info perf_level;
if (copy_from_user(&perf_level, argp, sizeof(perf_level)))
power_domain_info = get_instance(perf_level.socket_id, perf_level.power_domain_id);
perf_level.max_level = power_domain_info->max_level;
perf_level.level_mask = power_domain_info->pp_header.level_en_mask;
perf_level.feature_rev = power_domain_info->pp_header.feature_rev;
_read_pp_info("current_level", perf_level.current_level, SST_PP_STATUS_OFFSET,
_read_pp_info("locked", perf_level.locked, SST_PP_STATUS_OFFSET,
_read_pp_info("feature_state", perf_level.feature_state, SST_PP_STATUS_OFFSET,
perf_level.enabled = !!(power_domain_info->sst_header.cap_mask & BIT(1));
level_mask = perf_level.level_mask;
perf_level.sst_bf_support = 0;
perf_level.sst_bf_support |= BIT(level);
perf_level.sst_tf_support = 0;
perf_level.sst_tf_support |= BIT(level);
if (copy_to_user(argp, &perf_level, sizeof(perf_level)))
struct isst_perf_level_control perf_level;
if (copy_from_user(&perf_level, argp, sizeof(perf_level)))
power_domain_info = get_instance(perf_level.socket_id, perf_level.power_domain_id);
if (!(power_domain_info->pp_header.allowed_level_mask & BIT(perf_level.level)))
if (perf_level.level == level)
_write_pp_info("perf_level", perf_level.level, SST_PP_CONTROL_OFFSET,
if (perf_level.level == level)
if (perf_level.level != level)