static inline void wakelock_dump_log_record(enum lock_enum type,struct wake_lock *lock){ record->stamp= bsp_get_slice_value(); record->lock_id = lock->lockid - PWRCTRL_SLEEP_BEGIN; record->lock_type = (u32)type; record->cur_task_id= osl_task_self(); record->lock_state = has_wakelock; (void)bsp_pm_log_type(PM_OM_WAKE,0,sizeof(struct wakelock_om_s),(void*)record); }
static inline void cpufreq_pm_om_log(struct cpufreq_msg *msg) { struct cpufreq_debug_msg debug_msg_log = {msg->msg_type, msg->source, msg->content, msg->profile, 0, 0, 0}; debug_msg_log.taskid = taskIdSelf(); debug_msg_log.cur_profile = (unsigned int)pwrctrl_dfs_get_profile(); debug_msg_log.cur_load = g_ulCCpuload; bsp_pm_log_type(PM_OM_CPUF, CPUFREQ_ICC_LOG, sizeof(struct cpufreq_debug_msg), &debug_msg_log); }
void m3_mdm_pm_dpm_log(void) { if( m3_mdm_last_sr_stamp == *(u32*)(SHM_MEM_M3PM_LOG_ADDR+M3PM_LOG_MODEM_SUSPEND_OFFSET) ) { bsp_pm_log_type(PM_OM_PMM, m3_mdm_pm_log_a9, M3PM_LOG_MDM_A9_SIZE, \ (void*)(SHM_MEM_M3PM_LOG_ADDR+M3PM_LOG_MODEM_DOWN_OFFSET)); } else { bsp_pm_log_type(PM_OM_PMM, m3_mdm_pm_log_a9_sr, M3PM_LOG_MDM_A9_SR_SIZE, \ (void*)(SHM_MEM_M3PM_LOG_ADDR+M3PM_LOG_MODEM_DOWN_OFFSET)); } if( m3_mdm_last_dpm_stamp == *(u32*)(SHM_MEM_M3PM_LOG_ADDR+M3PM_LOG_MODEM_DPM_OFFSET) ) { return; } else { bsp_pm_log_type(PM_OM_PMM, m3_mdm_dpm_log_fail, M3PM_LOG_MODEM_DPM_SIZE, \ (void*)(SHM_MEM_M3PM_LOG_ADDR+M3PM_LOG_MODEM_DPM_OFFSET)); } }
void pmom_log_test_func(u32 magic) { static u8 write = 0; static u8 log[PM_OM_TEST_LOG_SIZE]; u32 i = 0; for (i = 0; i < PM_OM_TEST_LOG_SIZE; i++) { log[write&(PM_OM_TEST_LOG_SIZE-1)] = write; write++; } if (PM_OM_OK != bsp_pm_log_type(magic, 0, PM_OM_TEST_LOG_SIZE, (void *)log)) { pmom_pr_err("pm_log_type err\n"); } }
static inline void regulator_pm_om_log(struct regulator *regulator, int opsid) { struct regulator_pm_om_log regu_log = {(unsigned int)opsid, (unsigned int)regulator->id, (unsigned int)regulator->use_count, 0}; regu_log.task_id = (unsigned int)taskIdSelf(); bsp_pm_log_type(PM_OM_REGU, REGULATOR_TYPE, sizeof(struct regulator_pm_om_log), ®u_log); }