static int ppm_lcmoff_fb_notifier_callback(struct notifier_block *self, unsigned long event, void *data) { struct fb_event *evdata = data; int blank; FUNC_ENTER(FUNC_LV_POLICY); blank = *(int *)evdata->data; ppm_ver("@%s: blank = %d, event = %lu\n", __func__, blank, event); /* skip if it's not a blank event */ if (event != FB_EVENT_BLANK) return 0; switch (blank) { /* LCM ON */ case FB_BLANK_UNBLANK: ppm_lcmoff_switch(1); break; /* LCM OFF */ case FB_BLANK_POWERDOWN: ppm_lcmoff_switch(0); break; default: break; } FUNC_EXIT(FUNC_LV_POLICY); return 0; }
static void ppm_ptpod_status_change_cb(bool enable) { FUNC_ENTER(FUNC_LV_POLICY); ppm_ver("@%s: ptpod policy status changed to %d\n", __func__, enable); FUNC_EXIT(FUNC_LV_POLICY); }
static void ppm_ptpod_mode_change_cb(enum ppm_mode mode) { FUNC_ENTER(FUNC_LV_POLICY); ppm_ver("@%s: ppm mode changed to %d\n", __func__, mode); FUNC_EXIT(FUNC_LV_POLICY); }
static void ppm_ptpod_update_limit_cb(enum ppm_power_state new_state) { FUNC_ENTER(FUNC_LV_POLICY); ppm_ver("@%s: ptpod policy update limit for new state = %s\n", __func__, ppm_get_power_state_name(new_state)); FUNC_EXIT(FUNC_LV_POLICY); }
static void ppm_thermal_update_limit_cb(enum ppm_power_state new_state) { FUNC_ENTER(FUNC_LV_POLICY); ppm_ver("@%s: thermal policy update limit for new state = %s\n", __func__, ppm_get_power_state_name(new_state)); ppm_hica_set_default_limit_by_state(new_state, &thermal_policy); /* update limit according to power budget */ ppm_main_update_req_by_pwr(new_state, &thermal_policy.req); FUNC_EXIT(FUNC_LV_POLICY); }
/* main: application entry point. */ int main (int argc, char **argv) { /* declare required variables. */ int ver, rev; /* initialize the version values. */ ver = rev = 0; /* read the version information. */ if (!ppm_ver (NULL, &ver, &rev)) { /* output an error message. */ fprintf (stderr, "error: ver failed\n"); /* return an error. */ return 1; } /* return success. */ return 0; }
static void ppm_lcmoff_update_limit_cb(enum ppm_power_state new_state) { unsigned int i; FUNC_ENTER(FUNC_LV_POLICY); ppm_ver("@%s: lcmoff policy update limit for new state = %s\n", __func__, ppm_get_power_state_name(new_state)); ppm_hica_set_default_limit_by_state(new_state, &lcmoff_policy); for (i = 0; i < lcmoff_policy.req.cluster_num; i++) { if (lcmoff_policy.req.limit[i].min_cpufreq_idx != -1) { int idx = ppm_main_freq_to_idx(i, get_cluster_lcmoff_min_freq(i), CPUFREQ_RELATION_L); lcmoff_policy.req.limit[i].min_cpufreq_idx = MIN(lcmoff_policy.req.limit[i].min_cpufreq_idx, idx); } } FUNC_EXIT(FUNC_LV_POLICY); }