【转】 Android Suspend/resume 过程分析.

本文详细解析了Android系统中Suspend的过程,包括从用户层按下电源键开始,到内核层处理休眠状态的整个流程。文章还介绍了如何通过设置/sys/power/state来触发休眠,并探讨了early_suspend和late_resume机制。
【转】 Android Suspend/resume 过程分析.
2011年09月14日
  当系统未处于 Suspend 状态下用户按下Power键时会在 /dev/input/event0 节点中产生一个信号, 上层的 WindowManager 会收到这个上节点的变化而得知当前应该进入休眠状态, 通知PowerManagerService, 它会做如下调用, private int setScreenStateLocked(boolean on) {
  int err = Power.setScreenState(on);
  setScreenState 最终会调用到. int
  set_screen_state(int on)
  {
  enum {
  ACQUIRE_PARTIAL_WAKE_LOCK = 0,
  RELEASE_WAKE_LOCK,
  REQUEST_STATE,
  OUR_FD_COUNT
  };
  const char * const OLD_PATHS[] = {
  "/sys/android_power/acquire_partial_wake_lock",
  "/sys/android_power/release_wake_lock",
  "/sys/android_power/request_state"
  };
  const char * const NEW_PATHS[] = {
  "/sys/power/wake_lock",
  "/sys/power/wake_unlock",
  "/sys/power/state"
  };
  QEMU_FALLBACK(set_screen_state(on));
  LOGI("*** set_screen_state %d", on);
  initialize_fds();
  //LOGI("go_to_sleep eventTime=%lld now=%lld g_error=%s\n", eventTime,
  // systemTime(), strerror(g_error));
  if (g_error) return g_error;
  char buf[32];
  int len;
  if(on)
  len = sprintf(buf, on_state);
  else
  len = sprintf(buf, off_state);
  len = write(g_fds[REQUEST_STATE], buf, len);
  if(len /sys/power/state 时. 内核调用 state_store 函数在(具体过程未查) ./kernel/power/main.c 文件中. 在其中有如下代码 #ifdef CONFIG_EARLYSUSPEND
  if (state == PM_SUSPEND_ON || valid_state(state)) {
  error = 0;
  request_suspend_state(state);
  }
  #else
  error = enter_state(state);
  #endif
  可以看出.如果定义了 CONFIG_EARLYSUSPEND 的话. 会调用 request_suspend_state 函数在 ./kernel/power/earlysuspend.c 文件中. 其中有关键代码如下 void request_suspend_state(suspend_state_t new_state)
  {
  unsigned long irqflags;
  int old_sleep;
  spin_lock_irqsave(&state_lock, irqflags);
  old_sleep = state & SUSPEND_REQUESTED;
  ... ...
  if (!old_sleep && new_state != PM_SUSPEND_ON) {
  state |= SUSPEND_REQUESTED;
  queue_work(suspend_work_queue, &early_suspend_work);
  } else if (old_sleep && new_state == PM_SUSPEND_ON) {
  state &= ~SUSPEND_REQUESTED;
  wake_lock(&main_wake_lock);
  queue_work(suspend_work_queue, &late_resume_work);
  }
  requested_suspend_state = new_state;
  spin_unlock_irqrestore(&state_lock, irqflags);
  }
  这里根据不同的 new_state 的不同而将不同的任务添加到工作队列中. 现在分析 suspend 的情况 early_suspend 主要工作如下 suspend_state_t requested_suspend_state = PM_SUSPEND_MEM;
  static void early_suspend(struct work_struct *work)
  {
  struct early_suspend *pos;
  unsigned long irqflags;
  int abort = 0;
  mutex_lock(&early_suspend_lock);
  spin_lock_irqsave(&state_lock, irqflags);
  if (state == SUSPEND_REQUESTED)
  state |= SUSPENDED;
  else
  abort = 1;
  spin_unlock_irqrestore(&state_lock, irqflags);
  if (abort) {
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("early_suspend: abort, state %d\n", state);
  mutex_unlock(&early_suspend_lock);
  goto abort;
  }
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("early_suspend: call handlers\n");
  list_for_each_entry(pos, &early_suspend_handlers, link) {
  if (pos->suspend != NULL)
  pos->suspend(pos);
  }
  mutex_unlock(&early_suspend_lock);
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("early_suspend: sync\n");
  sys_sync();
  abort:
  spin_lock_irqsave(&state_lock, irqflags);
  if (state == SUSPEND_REQUESTED_AND_SUSPENDED)
  wake_unlock(&main_wake_lock);
  spin_unlock_irqrestore(&state_lock, irqflags);
  }
  在这里调用了事先注册的 early_syspend , 同步, 释放 main_wake_lock, 在释放 main_wake_lock 时.如下操作. static void suspend(struct work_struct *work)
  {
  int ret;
  int entry_event_num;
  if (has_wake_lock(WAKE_LOCK_SUSPEND)) {
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("suspend: abort suspend\n");
  return;
  }
  entry_event_num = current_event_num;
  sys_sync();
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("suspend: enter suspend\n");
  ret = pm_suspend(requested_suspend_state);
  if (debug_mask & DEBUG_EXIT_SUSPEND) {
  struct timespec ts;
  struct rtc_time tm;
  getnstimeofday(&ts);
  rtc_time_to_tm(ts.tv_sec, &tm);
  pr_info("suspend: exit suspend, ret = %d "
  "(%d-%02d-%02d %02d:%02d:%02d.%09lu UTC)\n", ret,
  tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
  tm.tm_hour, tm.tm_min, tm.tm_sec, ts.tv_nsec);
  }
  if (current_event_num == entry_event_num) {
  if (debug_mask & DEBUG_SUSPEND)
  pr_info("suspend: pm_suspend returned with no event\n");
  wake_lock_timeout(&unknown_wakeup, HZ / 2);
  }
  }
  static DECLARE_WORK(suspend_work, suspend);
  void wake_unlock(struct wake_lock *lock)
  {
  int type;
  unsigned long irqflags;
  spin_lock_irqsave(&list_lock, irqflags);
  type = lock->flags & WAKE_LOCK_TYPE_MASK;
  #ifdef CONFIG_WAKELOCK_STAT
  wake_unlock_stat_locked(lock, 0);
  #endif
  if (debug_mask & DEBUG_WAKE_LOCK)
  pr_info("wake_unlock: %s\n", lock->name);
  lock->flags &= ~(WAKE_LOCK_ACTIVE | WAKE_LOCK_AUTO_EXPIRE);
  list_del(&lock->link);
  list_add(&lock->link, &inactive_locks);
  if (type == WAKE_LOCK_SUSPEND) {
  long has_lock = has_wake_lock_locked(type);
  if (has_lock > 0) {
  if (debug_mask & DEBUG_EXPIRE)
  pr_info("wake_unlock: %s, start expire timer, "
  "%ld\n", lock->name, has_lock);
  mod_timer(&expire_timer, jiffies + has_lock);
  } else {
  if (del_timer(&expire_timer))
  if (debug_mask & DEBUG_EXPIRE)
  pr_info("wake_unlock: %s, stop expire "
  "timer\n", lock->name);
  if (has_lock == 0){
  queue_work(suspend_work_queue, &suspend_work);
  }
  }
  if (lock == &main_wake_lock) {
  if (debug_mask & DEBUG_SUSPEND)
  print_active_locks(WAKE_LOCK_SUSPEND);
  #ifdef CONFIG_WAKELOCK_STAT
  update_sleep_wait_stats_locked(0);
  #endif
  }
  }
  spin_unlock_irqrestore(&list_lock, irqflags);
  }
  在释放 main_wake_lock 时, 要判断 当没有 这个类型 锁的时候 要将 suspend_work 放到工作队列中.在 supsend 函数中 调用 了正常 suspend 的入口函数.ret = pm_suspend(requested_suspend_state);
  在 pm_suspend 函数中 /**
  * suspend_enter - enter the desired system sleep state.
  * @state: state to enter
  *
  * This function should be called after devices have been suspended.
  */
  static int suspend_enter(suspend_state_t state)
  {
  int error;
  if (suspend_ops->prepare) {
  error = suspend_ops->prepare();
  if (error)
  return error;
  }
  error = dpm_suspend_noirq(PMSG_SUSPEND);
  if (error) {
  printk(KERN_ERR "PM: Some devices failed to power down\n");
  goto Platfrom_finish;
  }
  if (suspend_ops->prepare_late) {
  error = suspend_ops->prepare_late();
  if (error)
  goto Power_up_devices;
  }
  if (suspend_test(TEST_PLATFORM))
  goto Platform_wake;
  error = disable_nonboot_cpus();
  if (error || suspend_test(TEST_CPUS))
  goto Enable_cpus;
  arch_suspend_disable_irqs();
  BUG_ON(!irqs_disabled());
  error = sysdev_suspend(PMSG_SUSPEND);
  if (!error) {
  if (!suspend_test(TEST_CORE))
  error = suspend_ops->enter(state);
  sysdev_resume();
  }
  arch_suspend_enable_irqs();
  BUG_ON(irqs_disabled());
  Enable_cpus:
  enable_nonboot_cpus();
  Platform_wake:
  if (suspend_ops->wake)
  suspend_ops->wake();
  Power_up_devices:
  dpm_resume_noirq(PMSG_RESUME);
  Platfrom_finish:
  if (suspend_ops->finish)
  suspend_ops->finish();
  return error;
  }
  /**
  * suspend_prepare - Do prep work before entering low-power state.
  *
  * This is common code that is called for each state that we're entering.
  * Run suspend notifiers, allocate a console and stop all processes.
  */
  static int suspend_prepare(void)
  {
  ... ....
  if (!suspend_ops || !suspend_ops->enter)
  return -EPERM;
  ... ....
  error = pm_notifier_call_chain(PM_SUSPEND_PREPARE);
  if (error)
  goto Finish;
  error = usermodehelper_disable();
  if (error)
  goto Finish;
  error = suspend_freeze_processes();
  if (!error)
  return 0;
  suspend_thaw_processes();
  usermodehelper_enable();
  Finish:
  pm_notifier_call_chain(PM_POST_SUSPEND);
  pm_restore_console();
  return error;
  }
  /**
  * suspend_devices_and_enter - suspend devices and enter the desired system
  * sleep state.
  * @state: state to enter
  */
  int suspend_devices_and_enter(suspend_state_t state)
  {
  int error;
  if (!suspend_ops)
  return -ENOSYS;
  if (suspend_ops->begin) {
  error = suspend_ops->begin(state);
  if (error)
  goto Close;
  }
  //suspend_console();
  suspend_test_start();
  error = dpm_suspend_start(PMSG_SUSPEND);
  if (error) {
  printk(KERN_ERR "PM: Some devices failed to suspend\n");
  goto Recover_platform;
  }
  suspend_test_finish("suspend devices");
  if (suspend_test(TEST_DEVICES)){
  goto Recover_platform;
  }
  suspend_enter(state);
  Resume_devices:
  suspend_test_start();
  dpm_resume_end(PMSG_RESUME);
  suspend_test_finish("resume devices");
  resume_console();
  Close:
  if (suspend_ops->end){
  suspend_ops->end();
  }
  return error;
  Recover_platform:
  if (suspend_ops->recover){
  suspend_ops->recover();
  }
  goto Resume_devices;
  }
  /**
  * suspend_finish - Do final work before exiting suspend sequence.
  *
  * Call platform code to clean up, restart processes, and free the
  * console that we've allocated. This is not called for suspend-to-disk.
  */
  static void suspend_finish(void)
  {
  suspend_thaw_processes();
  usermodehelper_enable();
  pm_notifier_call_chain(PM_POST_SUSPEND);
  pm_restore_console();
  }
  /**
  * enter_state - Do common work of entering low-power state.
  * @state: pm_state structure for state we're entering.
  *
  * Make sure we're the only ones trying to enter a sleep state. Fail
  * if someone has beat us to it, since we don't want anything weird to
  * happen when we wake up.
  * Then, do the setup for suspend, enter the state, and cleaup (after
  * we've woken up).
  */
  int enter_state(suspend_state_t state)
  {
  int error;
  if (!valid_state(state))
  return -ENODEV;
  if (!mutex_trylock(&pm_mutex))
  return -EBUSY;
  printk(KERN_INFO "PM: Syncing filesystems ... 1");
  sys_sync();
  printk("done.\n");
  pr_debug("PM: Preparing system for %s sleep\n", pm_states[state]);
  error = suspend_prepare();
  if (error)
  goto Unlock;
  if (suspend_test(TEST_FREEZER))
  goto Finish;
  pr_debug("PM: Entering %s sleep\n", pm_states[state]);
  error = suspend_devices_and_enter(state);
  Finish:
  pr_debug("PM: Finishing wakeup.\n");
  suspend_finish();
  Unlock:
  mutex_unlock(&pm_mutex);
  return error;
  }
  /**
  * pm_suspend - Externally visible function for suspending system.
  * @state: Enumerated value of state to enter.
  *
  * Determine whether or not value is within range, get state
  * structure, and enter (above).
  */
  int pm_suspend(suspend_state_t state)
  {
  if (state > PM_SUSPEND_ON && state enter_state(之后和标准 Linux 过程一致) -> suspend_prepare/suspend_devices_and_enter/suspend_ finish
  在 suspend_prepare 函数中 分别通知上层已经进入 "PM_SUSPEND_PREPARE" 过程让上层做一些处理. 之后冻结用户层所有应用程序及服务进程.
  suspend_devices_and_enter 函数中 进程休眠, 设备(驱动)休眠. cpu进入休眠. 应该是停止在 arch_suspend_disable_irqs 里.
  来电 cpu上电后, 使能中断.使能非活动的Cpu. 复位驱动, 激活进程.
  suspend_finish 函数中 同样通知上层 PM_POST_SUSPEND 这个消息. 上层收到这个消息后.会调用 NvddkAudioFxSuspend(NV_FALSE); 然后再干什么就没跟住了...
  这里同进入suspend 一致, 会把一个按键事件写入到 /dev/input/event0 中, 上层应用程序被激活后会检测这个事件源, 发现有按下, 会使能屏幕, 这时同 suspend 过程一样, 在用户层的最下端写一个 "on" 到 /sys/power/state 中, 内核层中调用 state_store -> request_suspend_state 这里会把一个 resume 的工作加入到 工作队列中. 调用了 已经注册的 late_resume 函数. 这里 eraly_suspend 及 late_resume 都是 android 加的补丁!
[12853.192924][T30941] [INFO]: OPLUS_CHG[MSG]([oplus_msg_queue_update][227]): battery: update, gp=5000 ms [12853.193027][T31402] [ERROR]: OPLUS_CHG[CHG_COMM]([oplus_comm_update_ui_soc][7156]): data->intval, gauge_dbg_soc[86] [12853.193211][T31402] mt6375-chg 11280000.i2c:mt6375@34:chg: mt6375_chg_field_get F_CHRDET_EXT, reg=0x00, val=0 [12853.193217][T31402] mt6375-chg 11280000.i2c:mt6375@34:chg: mt6375_int_chrdet_attach int chrdet dettach, val = 0 [12853.194576][T31402] [INFO]: OPLUS_CHG[STRATEGY_BS]([bs_update_data][946]): online=0 full=0 rm=7747 fcc=9422 soc=83 8222 8222(7962~8272) smooth_soc=86 8583 [12853.194625][T31402] [INFO]: OPLUS_CHG[MSG]([oplus_msg_queue_update_work][106]): battery: update delay: 0 ms, update interval: 10244 ms [12853.197783][ T1119] [sensor_devinfo] ssc_interactive_release 180 : ssc_interactive_release [12853.218025][T30941] OPLUS_CHG[oplus_charge_info]: BATTERY[306 306 4267 4267 569 83 86 86 7747 9422 1 0x4000 2726], CHARGE[0 0 1 1], WIRED[0 0 0 500 0 0x0 0 0 0 1 0], WIRELESS[0 0 0 0 0 0x0 0 0 0], VOOC[0 0 0 0 0x0], UFCS[0 0 0 0x0], COMMON[5 0 0 0x0 1 1 1 7025 100 0] [12853.218051][T30941] soc_handler:274 soc and temperature are all the same [12853.226240][T32025] [MDP]CMDQ driver release fd=00000000ee7a7510 begin [12853.226348][T32025] [MDP]mdp_ioctl_free_readback_slots_by_node free 32 slot group by node 00000000ee7a7510 [12853.226363][T32025] [MDP]CMDQ driver release end [12853.227211][T30831] [DISP]lyeblob lost ID:0 [12853.227242][T30831] [DISP]mtk_crtc_update_ddp_state frame:0 correct invalid hrt to:456,mode:2->2,bpp:4,w:456 [12853.231035][T29954] binder: release 1111:1111 transaction 2898462 in, still active [12853.308489][T32048] [VCP] vcp_A_log_enable_set: turn off logger or default off [12854.214114][T30831] timesync boot 177814607198975 sched 12854214108343 android 10-19 03:06:04.217201 [12855.077665][ T1485] [conap_scp_is_drv_ready] timeout [12855.078047][ T917] [opfunc_is_drv_ready] drv=[2] [12855.462263][T31349] [name:spm&][SPM] system_vcore wake up by R12_SYSTIMER_EVENT_B, timer_out = 1849, r13 = 0x80001ec0, debug_flag = 0x10000000 0x3, r12 = 0x40000, r12_ext = 0x0, raw_sta = 0x0 0x0 0x0, idle_sta = 0x0, req_sta = 0x0 0x0 0x0 0x0 | 0x27ff007c 0x0 0x80000 0x70000000 | 0xa0a0a 0x0 0x1c00 0xda000 | 0x0, spm_src_req = 0x18f60000, cg_check_sta = 0xf8, isr = 0x0, sw_rsv = 0x0 0x0 0x0 0x0 | 0x0 0xffffffff 0x0 0x0 | 0x0, raw_ext_sta = 0x848a955, wake_misc = 0x180030, sw_flag = 0x80060 0x400000, b_sw_flag = 0xfc000060 0x400000, clk_settle = 0x60fe, [12855.462328][T31349] [name:spm&] Pending Wakeup Sources: disp_crtc0_wakelock [12856.230464][T30831] timesync boot 177816623549360 sched 12856230458425 android 10-19 03:06:06.233551 [12857.093891][ T1485] [conap_scp_is_drv_ready] timeout [12857.093919][ T1485] [gps_scp]conap unregisetr success! conap_status = -5 [12857.093992][ T1485] [gps_scp]gps2scp_close: gps2scp close major 448 minor 0 (pid 1485) [12857.104611][ T1248] [ccci1/chr]port ccci_rpc close by ccci_rpcd rx_len=0 empty=1, clear_cnt=0, drop=0 usagecnt=0 [12857.104694][ T1248] [ccci1/pot]critical user check: 0x0 [12857.107277][ T1782] [IPI][DMA] hal_dma_get_queue_msg(), -ERESTARTSYS [12857.107310][ T1782] [IPI][DMA] audio_ipi_dma_msg_read(), hal_dma_get_queue_msg retval -4 [12857.108016][ T1299] VowDrv_read(), search ID fail, not keyword event, eint=1, exit [12857.108041][ T1299] +VowDrv_read()-, recog id: 0, confidence_lv=0, eint=1 [12857.135678][ T1819] VowDrv_flush(), enter [12857.135725][ T1819] VowDrv_flush(), enter [12857.135936][ T1819] VowDrv_release(), enter [12857.135950][ T1819] VowDrv_release() inode:00000000ca914892, file:000000006cd4bd29 [12857.135984][ T1819] [ccci1/chr]port ccci_raw_audio close by ervice.mediatek rx_len=0 empty=1, clear_cnt=0, drop=0 usagecnt=0 [12857.136014][ T1819] [ccci1/pot]critical user check: 0x0 [12857.136037][ T1819] [ccci1/chr]port ccci_aud close by ervice.mediatek rx_len=0 empty=1, clear_cnt=0, drop=0 usagecnt=0 [12857.136058][ T1819] [ccci1/pot]critical user check: 0x0 [12857.136219][ T1819] VowDrv_release(), enter [12857.136227][ T1819] VowDrv_release() inode:00000000ca914892, file:00000000d2d377df [12857.176326][T32050] vdc: vdc()++ volume abort_fuse [12857.177291][T32050] vdc: Thread Pool max thread count is 0. Cannot cache binder as linkToDeath cannot be implemented. serviceName: vold [12857.177593][T32050] vdc: vdc()-- volume abort_fuse [12857.198650][T32051] vdc: vdc()++ volume shutdown [12857.199345][T32051] vdc: Thread Pool max thread count is 0. Cannot cache binder as linkToDeath cannot be implemented. serviceName: vold [12857.199586][T32051] vdc: vdc()-- volume shutdown [12857.212168][T32049] printk: binder:565_5: 202 output lines suppressed due to ratelimiting [12857.213376][ T544] oplus_bsp_midas binder_del_ref_hook: BDS_DEL_BUG tgid:544 not found ref_desc:1 [12857.213547][ T544] oplus_bsp_midas binder_del_ref_hook: BDS_DEL_BUG tgid:544 not found ref_desc:2 [12857.296427][T27777] mtu3 11201000.usb0: mtu3_resume_common event 1026 [12857.297568][T31250] android_work: did not send uevent (0 0 0000000000000000) [12857.322441][ T554] printk: logd.writer: 86 output lines suppressed due to ratelimiting [12857.482262][ T1] zram0: detected capacity change from 15728640 to 0 [12857.507897][T30753] [ccci1/cif]total cnt=18549;rxq0 isr_cnt=175;rxq1 isr_cnt=310;rxq2 isr_cnt=0;rxq3 isr_cnt=5;rxq4 isr_cnt=2764;rxq5 isr_cnt=12029;rxq6 isr_cnt=1;rxq7 isr_cnt=3350;rxq8 isr_cnt=0;rxq9 isr_cnt=0;rxq10 isr_cnt=0;rxq11 isr_cnt=0;rxq12 isr_cnt=0;rxq13 isr_cnt=0;rxq14 isr_cnt=0;rxq15 isr_cnt=1;rxq16 isr_cnt=0;rxq17 isr_cnt=0;rxq18 isr_cnt=0;rxq19 isr_cnt=0;rxq20 isr_cnt=0;rxq21 isr_cnt=0;rxq22 isr_cnt=0;rxq23 isr_cnt=0; [12857.510044][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_get_temp_volt][7518]): e_ntc_type = 2,ntc_temp_volt = 800 [12857.510057][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_res_to_temp][7440]): tres :76923, chg_tmp :306 [12857.510059][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_get_subboard_temp][7742]): temp:306, volt:800 [12857.510062][T32039] [INFO]: OPLUS_CHG[MMS_GAUGE]([oplus_mms_gauge_update_temp][3669]): is factory mode, use subboard temp directly! temp = 306 [12857.512230][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_get_temp_volt][7518]): e_ntc_type = 2,ntc_temp_volt = 800 [12857.512233][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_res_to_temp][7440]): tres :76923, chg_tmp :306 [12857.512235][T32039] [INFO]: OPLUS_CHG[MTK6895]([oplus_get_subboard_temp][7742]): temp:306, volt:800 [12857.512237][T32039] [INFO]: OPLUS_CHG[MMS_GAUGE]([oplus_mms_gauge_update_temp][3669]): is factory mode, use subboard temp directly! temp = 306 [12857.708200][T32052] apexd: Started. subcommand = --unmount-all [12857.708530][T32052] apexd-unmount-all: Populating APEX database from mounts... [12857.711728][T32052] apexd-unmount-all: Found "/apex/com.android.virt@3" backed by file /system/apex/com.android.virt.apex [12857.712372][T32052] apexd-unmount-all: Found "/apex/com.android.i18n@1" backed by file /system/apex/com.android.i18n.apex [12857.712894][T32052] apexd-unmount-all: Found "/apex/com.android.crashrecovery@360499999" backed by file /system/apex/com.android.crashrecovery.apex [12857.713385][T32052] apexd-unmount-all: Found "/apex/vendor.oplus.hardware.engineer.aidl@1" backed by file /vendor/apex/vendor.oplus.hardware.engineer.aidl.apex [12857.713877][T32052] apexd-unmount-all: Found "/apex/com.android.compos@3" backed by file /system_ext/apex/com.android.compos.apex [12857.714363][T32052] apexd-unmount-all: Found "/apex/vendor.oplus.hardware.stability.aidl@1" backed by file /vendor/apex/vendor.oplus.hardware.stability.aidl.apex [12857.715897][T32052] apexd-unmount-all: Found "/apex/com.android.rkpd@360671160" backed by file /data/apex/decompressed/com.android.rkpd@360671160.decompressed.apex [12857.717973][T32052] apexd-unmount-all: Found "/apex/com.android.tzdata@360527580" backed by file /system/apex/com.google.android.tzdata6.apex [12857.718368][T32052] apexd-unmount-all: Found "/apex/com.android.vndk.v34@1" backed by file /system_ext/apex/com.android.vndk.v34.apex [12857.719250][T32052] apexd-unmount-all: Found "/apex/com.android.configinfrastructure@360527560" backed by file /data/apex/decompressed/com.android.configinfrastructure@360527560.decompressed.apex [12857.719611][T32052] apexd-unmount-all: Found "/apex/com.android.runtime@1" backed by file /system/apex/com.android.runtime.apex [12857.720092][T32052] apexd-unmount-all: Found "/apex/com.android.uprobestats@360499999" backed by file /system/apex/com.android.uprobestats.apex [12857.720416][T32052] apexd-unmount-all: Found "/apex/com.android.devicelock@1" backed by file /system/apex/com.android.devicelock.apex [12857.720736][T32052] apexd-unmount-all: Found "/apex/com.android.profiling@360499999" backed by file /system/apex/com.android.profiling.apex [12857.721021][T32052] apexd-unmount-all: Found "/apex/com.android.apex.cts.shim@1" backed by file /system/apex/com.android.apex.cts.shim.apex [12857.721624][T32052] apexd-unmount-all: Found "/apex/com.android.healthfitness@360745040" backed by file /data/apex/decompressed/com.android.healthfitness@360745040.decompressed.apex [12857.723484][T32052] apexd-unmount-all: Found "/apex/com.android.permission@360743460" backed by file /data/apex/decompressed/com.android.permission@360743460.decompressed.apex [12857.724182][T32052] apexd-unmount-all: Found "/apex/com.android.sdkext@360655020" backed by file /data/apex/decompressed/com.android.sdkext@360655020.decompressed.apex [12857.724715][T32052] apexd-unmount-all: Found "/apex/com.android.media@360737060" backed by file /data/apex/decompressed/com.android.media@360737060.decompressed.apex [12857.725212][T32052] apexd-unmount-all: Found "/apex/com.android.uwb@360527560" backed by file /data/apex/decompressed/com.android.uwb@360527560.decompressed.apex [12857.725711][T32052] apexd-unmount-all: Found "/apex/com.android.ipsec@360527560" backed by file /data/apex/decompressed/com.android.ipsec@360527560.decompressed.apex [12857.726193][T32052] apexd-unmount-all: Found "/apex/com.android.neuralnetworks@360527560" backed by file /data/apex/decompressed/com.android.neuralnetworks@360527560.decompressed.apex [12857.726683][T32052] apexd-unmount-all: Found "/apex/com.android.appsearch@360743400" backed by file /data/apex/decompressed/com.android.appsearch@360743400.decompressed.apex [12857.727158][T32052] apexd-unmount-all: Found "/apex/com.android.tethering@360743340" backed by file /data/apex/decompressed/com.android.tethering@360743340.decompressed.apex [12857.727716][T32052] apexd-unmount-all: Found "/apex/com.android.extservices@360737103" backed by file /data/apex/decompressed/com.android.extservices@360737103.decompressed.apex [12857.729075][T32052] apexd-unmount-all: Found "/apex/com.android.cellbroadcast@360735060" backed by file /data/apex/decompressed/com.android.cellbroadcast@360735060.decompressed.apex [12857.729500][T32052] apexd-unmount-all: Found "/apex/com.android.art@360729140" backed by file /data/apex/decompressed/com.android.art@360729140.decompressed.apex [12857.729886][T32052] apexd-unmount-all: Found "/apex/com.android.media.swcodec@360737020" backed by file /data/apex/decompressed/com.android.media.swcodec@360737020.decompressed.apex [12857.730263][T32052] apexd-unmount-all: Found "/apex/com.android.adservices@360738140" backed by file /data/apex/decompressed/com.android.adservices@360738140.decompressed.apex [12857.730653][T32052] apexd-unmount-all: Found "/apex/com.android.mediaprovider@360738280" backed by file /data/apex/decompressed/com.android.mediaprovider@360738280.decompressed.apex [12857.730819][T32052] apexd-unmount-all: Found "/apex/com.google.android.widevine@341910000" backed by file /vendor/apex/com.google.android.widevine.nonupdatable.apex [12857.731203][T32052] apexd-unmount-all: Found "/apex/com.android.ondevicepersonalization@360738140" backed by file /data/apex/decompressed/com.android.ondevicepersonalization@360738140.decompressed.apex [12857.731579][T32052] apexd-unmount-all: Found "/apex/com.android.conscrypt@360527560" backed by file /data/apex/decompressed/com.android.conscrypt@360527560.decompressed.apex [12857.732005][T32052] apexd-unmount-all: Found "/apex/com.android.wifi@360735060" backed by file /data/apex/decompressed/com.android.wifi@360735060.decompressed.apex [12857.732986][T32052] apexd-unmount-all: Found "/apex/com.android.adbd@360527560" backed by file /data/apex/decompressed/com.android.adbd@360527560.decompressed.apex [12857.733314][T32052] apexd-unmount-all: Found "/apex/com.android.resolv@360735100" backed by file /data/apex/decompressed/com.android.resolv@360735100.decompressed.apex [12857.733626][T32052] apexd-unmount-all: Found "/apex/com.android.os.statsd@360737020" backed by file /data/apex/decompressed/com.android.os.statsd@360737020.decompressed.apex [12857.733953][T32052] apexd-unmount-all: Found "/apex/com.android.scheduling@360527560" backed by file /data/apex/decompressed/com.android.scheduling@360527560.decompressed.apex [12857.734023][T32052] apexd-unmount-all: 38 packages restored. [12857.734048][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.adbd@360527560.decompressed.apex mounted on /apex/com.android.adbd@360527560 [12857.735142][T32052] EXT4-fs (dm-53): unmounting filesystem. [12857.741188][ T413] ueventd: got dm device! speed up! [12857.753537][ T413] ueventd: got dm device! speed up! [12857.765435][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.adservices@360738140.decompressed.apex mounted on /apex/com.android.adservices@360738140 [12857.782898][T32052] EXT4-fs (dm-50): unmounting filesystem. [12857.784443][ T413] ueventd: got dm device! speed up! [12857.791012][ T413] ueventd: got dm device! speed up! [12857.813494][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.apex.cts.shim.apex mounted on /apex/com.android.apex.cts.shim@1 [12857.822068][T32052] EXT4-fs (loop11): unmounting filesystem. [12857.823550][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.appsearch@360743400.decompressed.apex mounted on /apex/com.android.appsearch@360743400 [12857.826997][T32052] EXT4-fs (dm-68): unmounting filesystem. [12857.832061][ T413] ueventd: got dm device! speed up! [12857.838641][ T413] ueventd: got dm device! speed up! [12857.864018][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.art@360729140.decompressed.apex mounted on /apex/com.android.art@360729140 [12857.882801][T32052] EXT4-fs (dm-60): unmounting filesystem. [12857.884048][ T413] ueventd: got dm device! speed up! [12857.887005][ T413] ueventd: got dm device! speed up! [12857.913082][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.cellbroadcast@360735060.decompressed.apex mounted on /apex/com.android.cellbroadcast@360735060 [12857.928039][T32052] EXT4-fs (dm-48): unmounting filesystem. [12857.928920][ T413] ueventd: got dm device! speed up! [12857.937161][ T413] ueventd: got dm device! speed up! [12857.965152][T32052] apexd-unmount-all: Unmounting /system_ext/apex/com.android.compos.apex mounted on /apex/com.android.compos@3 [12857.976899][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.configinfrastructure@360527560.decompressed.apex mounted on /apex/com.android.configinfrastructure@360527560 [12857.988310][T32052] EXT4-fs (dm-46): unmounting filesystem. [12858.020238][ C5] swpm_sp_routine regular update(131), total_suspend(164959939317) [12858.020983][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.conscrypt@360527560.decompressed.apex mounted on /apex/com.android.conscrypt@360527560 [12858.023833][T29954] [ERROR]: OPLUS_CHG[CHG_COMM]([oplus_comm_update_ui_soc][7156]): data->intval, gauge_dbg_soc[86] [12858.026658][T32052] EXT4-fs (dm-55): unmounting filesystem. [12858.069347][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.crashrecovery.apex mounted on /apex/com.android.crashrecovery@360499999 [12858.078938][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.devicelock.apex mounted on /apex/com.android.devicelock@1 [12858.083777][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.extservices@360737103.decompressed.apex mounted on /apex/com.android.extservices@360737103 [12858.085455][T32052] EXT4-fs (dm-59): unmounting filesystem. [12858.125510][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.healthfitness@360745040.decompressed.apex mounted on /apex/com.android.healthfitness@360745040 [12858.133495][T32052] EXT4-fs (dm-72): unmounting filesystem. [12858.171062][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.i18n.apex mounted on /apex/com.android.i18n@1 [12858.194106][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.ipsec@360527560.decompressed.apex mounted on /apex/com.android.ipsec@360527560 [12858.196222][T32052] EXT4-fs (dm-45): unmounting filesystem. [12858.233453][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.media@360737060.decompressed.apex mounted on /apex/com.android.media@360737060 [12858.239596][T32052] EXT4-fs (dm-63): unmounting filesystem. [12858.243815][T30831] timesync boot 177818636900744 sched 12858243810122 android 10-19 03:06:08.246902 [12858.281509][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.media.swcodec@360737020.decompressed.apex mounted on /apex/com.android.media.swcodec@360737020 [12858.297761][T32052] EXT4-fs (dm-51): unmounting filesystem. [12858.321931][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.mediaprovider@360738280.decompressed.apex mounted on /apex/com.android.mediaprovider@360738280 [12858.335409][T32052] EXT4-fs (dm-44): unmounting filesystem. [12858.361334][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.neuralnetworks@360527560.decompressed.apex mounted on /apex/com.android.neuralnetworks@360527560 [12858.364861][T32052] EXT4-fs (dm-47): unmounting filesystem. [12858.388882][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.ondevicepersonalization@360738140.decompressed.apex mounted on /apex/com.android.ondevicepersonalization@360738140 [12858.392552][T32052] EXT4-fs (dm-43): unmounting filesystem. [12858.437367][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.os.statsd@360737020.decompressed.apex mounted on /apex/com.android.os.statsd@360737020 [12858.442510][T32052] EXT4-fs (dm-62): unmounting filesystem. [12858.485047][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.permission@360743460.decompressed.apex mounted on /apex/com.android.permission@360743460 [12858.505718][T32052] EXT4-fs (dm-65): unmounting filesystem. [12858.543252][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.profiling.apex mounted on /apex/com.android.profiling@360499999 [12858.554288][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.resolv@360735100.decompressed.apex mounted on /apex/com.android.resolv@360735100 [12858.558860][T32052] EXT4-fs (dm-42): unmounting filesystem. [12858.580724][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.rkpd@360671160.decompressed.apex mounted on /apex/com.android.rkpd@360671160 [12858.582819][T32052] EXT4-fs (dm-61): unmounting filesystem. [12858.617069][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.runtime.apex mounted on /apex/com.android.runtime@1 [12858.625733][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.scheduling@360527560.decompressed.apex mounted on /apex/com.android.scheduling@360527560 [12858.629086][T32052] EXT4-fs (dm-41): unmounting filesystem. [12858.649367][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.sdkext@360655020.decompressed.apex mounted on /apex/com.android.sdkext@360655020 [12858.653540][T32052] EXT4-fs (dm-40): unmounting filesystem. [12858.697289][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.tethering@360743340.decompressed.apex mounted on /apex/com.android.tethering@360743340 [12858.711092][T32052] EXT4-fs (dm-39): unmounting filesystem. [12858.741163][T32052] apexd-unmount-all: Unmounting /system/apex/com.google.android.tzdata6.apex mounted on /apex/com.android.tzdata@360527580 [12858.750855][T32052] EXT4-fs (loop21): unmounting filesystem. [12858.752838][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.uprobestats.apex mounted on /apex/com.android.uprobestats@360499999 [12858.762573][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.uwb@360527560.decompressed.apex mounted on /apex/com.android.uwb@360527560 [12858.765687][T32052] EXT4-fs (dm-58): unmounting filesystem. [12858.797495][T32052] apexd-unmount-all: Unmounting /system/apex/com.android.virt.apex mounted on /apex/com.android.virt@3 [12858.808260][T32052] apexd-unmount-all: Unmounting /system_ext/apex/com.android.vndk.v34.apex mounted on /apex/com.android.vndk.v34@1 [12858.814545][T32052] apexd-unmount-all: Unmounting /data/apex/decompressed/com.android.wifi@360735060.decompressed.apex mounted on /apex/com.android.wifi@360735060 [12858.826836][T32052] EXT4-fs (dm-38): unmounting filesystem. [12858.852021][T32052] apexd-unmount-all: Unmounting /vendor/apex/com.google.android.widevine.nonupdatable.apex mounted on /apex/com.google.android.widevine@341910000 [12858.866613][T32052] EXT4-fs (loop43): unmounting filesystem. [12858.868239][T32052] apexd-unmount-all: Unmounting /vendor/apex/vendor.oplus.hardware.engineer.aidl.apex mounted on /apex/vendor.oplus.hardware.engineer.aidl@1 [12858.875099][T32052] EXT4-fs (loop12): unmounting filesystem. [12858.876857][T32052] apexd-unmount-all: Unmounting /vendor/apex/vendor.oplus.hardware.stability.aidl.apex mounted on /apex/vendor.oplus.hardware.stability.aidl@1 [12858.883334][T32052] EXT4-fs (loop10): unmounting filesystem. [12858.902320][ T1] init: [SHUTDOWN_SPEED]:UnmountAllApexes end [12858.907857][ T1] init: Shutdown service: ueventd [12858.907878][ T1] init: Sending signal 15 to service 'ueventd' (pid 413) process group... [12858.908050][ T1] libprocessgroup: Still waiting on process(es) to exit for cgroup /sys/fs/cgroup/system/uid_0/pid_413 after 0 ms [12858.908074][ T1] libprocessgroup: Unable to remove cgroup /sys/fs/cgroup/system/uid_0/pid_413: Device or resource busy [12858.908956][ T1] init: Shutdown service: console [12858.908988][ T1] init: Shutdown service: blank_screen [12858.909002][ T1] init: Shutdown service: bootanim [12858.909010][ T1] init: Shutdown service: rbootanim [12858.909017][ T1] init: Shutdown service: logd [12858.911958][ T413] printk: ueventd: 471 output lines suppressed due to ratelimiting [12858.912252][ T548] printk: TracingMuxer: 695 output lines suppressed due to ratelimiting [12859.428090][T31250] mtu3 11201000.usb0: mtu3_suspend_common event 1026 [12859.829698][ T153] [wdk-c] cpu=1 o_k=1 lbit=0x2 cbit=0xff,fd,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859829672280,15000000] 21 ffffffff s_cpu 1 - 0 0 0 0 0 0 0 0 [12859.829698][ T153] [12859.829740][ T153] wdt_dump_cntcv CPU:1 CNTCV_CTL:1 CNTCV_TVAL:6463 CNTVCT:21a3ea170fb SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea170ec [12859.857860][ T156] [wdk-c] cpu=4 o_k=4 lbit=0x12 cbit=0xff,ed,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859857845203,14971771] 21 ffffffff [12859.857888][ T156] wdt_dump_cntcv CPU:4 CNTCV_CTL:1 CNTCV_TVAL:592b6 CNTVCT:21a3ea17273 SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea1727b [12859.857903][ T158] [wdk-c] cpu=6 o_k=6 lbit=0x52 cbit=0xff,ad,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859857881588,14971732] 21 ffffffff [12859.857932][ T158] wdt_dump_cntcv CPU:6 CNTCV_CTL:1 CNTCV_TVAL:5929a CNTVCT:21a3ea17293 SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea17297 [12859.857936][ T159] [wdk-c] cpu=7 o_k=7 lbit=0xd2 cbit=0xff,2d,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859857922203,14971690] 21 ffffffff [12859.857947][ T159] wdt_dump_cntcv CPU:7 CNTCV_CTL:1 CNTCV_TVAL:59281 CNTVCT:21a3ea172d4 SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea172dc [12859.857975][ T157] [wdk-c] cpu=5 o_k=5 lbit=0xf2 cbit=0xff,d,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859857954126,14971656] 21 ffffffff [12859.858003][ T157] wdt_dump_cntcv CPU:5 CNTCV_CTL:1 CNTCV_TVAL:59335 CNTVCT:21a3ea1727c SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea1727c [12859.858020][ T155] [wdk-c] cpu=3 o_k=3 lbit=0xfa cbit=0xff,5,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859857993588,14971618] 21 ffffffff [12859.858056][ T155] wdt_dump_cntcv CPU:3 CNTCV_CTL:1 CNTCV_TVAL:1f910 CNTVCT:21a3ea1728b SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea17280 [12859.858064][ T154] [wdk-c] cpu=2 o_k=2 lbit=0xfe cbit=0xff,1,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859858038203,14971572] 21 ffffffff [12859.858100][ T154] wdt_dump_cntcv CPU:2 CNTCV_CTL:1 CNTCV_TVAL:5934e CNTVCT:21a3ea172bb SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea172b0 [12859.859211][ T152] [thread:152] 2025-10-19 03:06:09.862299 UTC;android time 2025-10-19 03:06:09.862299 [12859.864514][ T152] [wdk-k] cpu=0 o_k=0 lbit=0xff cbit=0xff,0,7,1,285889154,ff,12837278,2308911,12837483,2311452,[12859859184049,14970427] 21 ffffffff [12859.864549][ T152] wdt_dump_cntcv CPU:0 CNTCV_CTL:1 CNTCV_TVAL:5d3b3 CNTVCT:21a3ea1714f SYST_CNTCR:4490d SYST_DISTL:0 SYST_CNTCV:21a3ea17147 [12860.196337][ T1] EXT4-fs (sdc13): unmounting filesystem. [12860.206816][ T1] EXT4-fs (sdc10): unmounting filesystem. [12860.234265][ T1] EXT4-fs (sdc11): unmounting filesystem. [12860.259792][T30831] timesync boot 177820652880129 sched 12860259789281 android 10-19 03:06:10.262881 [12860.265266][ T1] EXT4-fs (sdc22): unmounting filesystem. [12860.278323][ T1] EXT4-fs (sdc21): unmounting filesystem. [12860.335419][ T1] EXT4-fs (sdc5): unmounting filesystem. [12860.394865][ T1] sysrq: Kill All Tasks [12860.508119][ T1] oplus_bsp_dfr_shutdown_detect: shutdown_kernel_start_time 12860 [12860.508153][ T1] oplus_bsp_dfr_shutdown_detect: shutdown_detect_phase: shutdown current phase systemcall [12860.508959][ T1] feedback: normal reboot [12860.508970][ T1] reboot set flag, old value 0x6c002800, 0. [12860.508974][ T1] reboot set flag new value 0x6c002000. [12860.509969][ T1] oplus_bsp_dfr_shutdown_detect: success to get dev block [12860.514193][ T1] mtk-extcon-usb extcon-usb: shutdown [12860.514263][ T1] camera-pda [PDA_shutdown] PDA shutdown g_u4EnableClockCount: -1 [12860.514281][ T1] mtk-aie-5.3 15310000.aie: mtk_aie_shutdown: aie shutdown ready(1) [12860.514343][ T1] imgisp7sp 15000000.imgsys-fw: mtk_imgsys_shutdown shutdown + [12860.514350][ T1] imgisp7sp 15000000.imgsys-fw: mtk_imgsys_shutdown shutdown - [12860.514372][ T1] transceiver mtk_sensorhub_shutdown [12860.515054][ T1] imgsensor 8-001a: [sensor0][casiommain_mipi_raw][imgsensor_shutdown] E! [12860.515064][ T1] imgsensor 8-001a: [sensor0][casiommain_mipi_raw][imgsensor_shutdown] X! [12860.515078][ T1] imgsensor 2-001a: [sensor2][casiomuwide_mipi_raw][imgsensor_shutdown] E! [12860.515085][ T1] imgsensor 2-001a: [sensor2][casiomuwide_mipi_raw][imgsensor_shutdown] X! [12860.515096][ T1] imgsensor 2-0010: [sensor1][casiomfront_mipi_raw][imgsensor_shutdown] E! [12860.515103][ T1] imgsensor 2-0010: [sensor1][casiomfront_mipi_raw][imgsensor_shutdown] X! [12860.515398][ T1] fsa4480_shutdown: recover all register while shutdown [12860.515851][ T1] [TP]synaptics-s3910: syna_tcm_tp_shutdown is called [12860.515859][ T1] [TP0]touchpanel: mtk gki2.0 need to unregister notifier [12860.515864][ T1] [TP]touchpanel: Esd protector stoped! [12860.515886][ T1] [TP]touchpanel: disable the vddi_gpio [12860.515894][ T1] [TP]touchpanel: disable the enable_vddi_gpio [12860.516123][ T1] sd 0:0:0:2: [sdc] Synchronizing SCSI cache [12860.525316][ T1] [DISP]mtk_drm_shutdown status(2) [12860.525368][ T1] [DISP]mtk_drm_crtc_mode_check++ from 2 to 2 [12860.525387][ T1] [DISP]mtk_atomic_commit g_shutdown = 1 [12860.525416][ T1] [DISP][E]mtk_atomic_doze_preparation connector has no crtc [12860.525667][ T1] [DISP] EARLY MTK_DISP_BLANK_POWERDOWN,data=1 [12860.525674][ T1] [INFO]: OPLUS_CHG[CHG_COMM]([chg_mtk_drm_notifier_callback][10082]): mtk gki notifier event:0, blank:1 [12860.525690][ T1] [INFO]: OPLUS_CHG[CHG_COMM]([oplus_comm_set_led_on][10002]): set led_on=0 wait result [12860.525696][ T1] oplus_bsp_uff_fp_driver: [oplus_fb_notifier_call] val = 0 [12860.525701][ T1] [wlan][1]kalGetMtkDispEvent:(SW4 INFO) wlan_fb_notifier_callback: event[0], blank[1] eEvent[1] [12860.525722][ T1] [wlan][1]wlan_fb_notifier_callback:(SW4 INFO) wlan_fb_notifier_callback: end [12860.525727][ T1] [sensor_devinfo] mtk_lcdinfo_callback 259 : event:0 [12860.525733][ T1] [btmtk_info] btmtk_disp_notify_cb: value[0], data[1] [12860.525738][ T1] [btmtk_info] btmtk_disp_notify_cb: blank state [1]->[0] [12860.525741][ T1] [btmtk_info] btmtk_disp_notify_cb: end [12860.525746][ T1] [bright_screen_check]: bright_fb_notifier_callback: del_timer g_recovery_data del in mtk [12860.525750][ T1] [bright_screen_check]: bright_fb_notifier_callback: del timer, status:4 blank:1 [12860.526675][T32004] [INFO]: OPLUS_CHG[CHG_COMM]([oplus_led_on_off_handler_work][9983]): set led_on=0 [12860.526706][T29745] [wlan][29745]kalPerMonUpdate:(SW4 INFO) <7676ms> Tput: 0(0.000mbps) [0:0:0:0][0:0:0:0][0:0:0:0][0:0:0:0] Pending:0/4096 [0:0:0:0][0:0:0:0][0:0:0:0][0:0:0:0] LQ[0:0:0] idle:1 lv:0 th:5 fg:0x7 TxCpu[0,0,0,0,0,0,0,0] RxCpu[0,0,0,0,0,0,0,0] TxDp[ST:BS:FO:QM:DP]:0:0:0:0:0 Tx[SQ:TI:TM:TDD:TDM:TIC:TFP]:0:0:0:0:0:0:0 MgmtSub[0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0] [12860.526819][T31318] [INFO]: OPLUS_CHG[HPR]([oplus_hpr_comm_subs_callback][1030]): led_on =0 [12860.526806][T29745] [wlan][29745]kalPerMonUpdate:(SW4 INFO) ndevdrp:[0:0:0:41][0:0:0:0] NAPI[188,0,0x110,0,0,0,0,0,0,0,0,0,0,0] RxReorder[0:0:0:0] RxPending[0:0:0:0] RfbTrack[0:60:10:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0] drv[RM,IL,RI,RIE,PA,PF,DU,DA,RT,RM,RW,RA,RB,DT,NS,IB,HS,LS,DD,ME,BD,NI,DR,TE,PE,CE,DN,FE,DE,IE,TME,CM,FB,ID,FD,NL]:62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 [12860.530861][ T1] lcm_unprepare:prepared=1 [12860.692930][ T1] lcm_unprepare:success [12860.692937][ T1] [OFP][INFO][oplus_ofp_set_aod_state:492]oplus_ofp_aod_state: 0 [12860.693134][ T1] [DISP]doze powerdown,data =1 [12860.693166][ T1] [INFO]: OPLUS_CHG[CHG_COMM]([chg_mtk_drm_notifier_callback][10082]): mtk gki notifier event:1, blank:1 [12860.693183][ T1] oplus_bsp_uff_fp_driver: [oplus_fb_notifier_call] val = 1 [12860.693205][ T1] conn_adaptor_dev_fb_notifier_callback+ [12860.693232][ T1] @@@@@@@@@@ Conninfra enter early POWERDOWN @@@@@@@@@@@@@@ [12860.693296][ T1] conn_adaptor_dev_fb_notifier_callback- [12860.693329][ T1] [btmtk_info] btmtk_disp_notify_cb: value[1], data[1] [12860.694072][T29954] [connv2_power_on_off_notify] on_off=[0] [12860.694169][T29954] [sensor_devinfo] send_lcdinfo_to_hub 66 : type:116, brightness:0, dc_mode:0, pwm_turbo:0 [12860.694261][ T921] conninfra@(opfunc_pre_cal_check:1203) [opfunc_pre_cal_check] [pre_cal] bt=[1] wf=[2] status=[4] [12860.695988][ T1] [DISP]DDDDDR mtk_dsi_poweroff+ [12860.696085][ T1] lcm_panel_poweroff: boe_nt37706a lcm ctx->prepared 0 [12860.701444][ T1] [lcd_info]lcm_enable_ldo_vci3p0 + [12860.701518][ T1] [lcd_info]lcm_enable_ldo_vci3p0 vddio disable [12860.701539][ T1] [lcd_info]lcm_enable_ldo_vci3p0 - [12860.715808][T31349] [name:spm&][SPM] system_vcore wake up by R12_SYSTIMER_EVENT_B, timer_out = 351, r13 = 0x80001ec0, debug_flag = 0x10000000 0x3, r12 = 0x40000, r12_ext = 0x0, raw_sta = 0x0 0x0 0x0, idle_sta = 0x0, req_sta = 0x0 0x0 0x0 0x0 | 0x2687007c 0x0 0xf0000 0x70000000 | 0xa0a0a 0x0 0x1c00 0xc00da000 | 0x3, spm_src_req = 0x18f60016, cg_check_sta = 0xf8, isr = 0x0, sw_rsv = 0x0 0x0 0x0 0x0 | 0x0 0xffffffff 0x0 0x0 | 0x0, raw_ext_sta = 0x848a955, wake_misc = 0x180030, sw_flag = 0x80060 0x400000, b_sw_flag = 0xfc000060 0x400000, clk_settle = 0x60fe, [12860.715838][T31349] [name:spm&] Pending Wakeup Sources: disp_crtc0_wakelock [12860.792970][ T1] lcm_panel_poweroff:Successful [12860.793209][ T1] [DISP]DDDDDR mtk_drm_top_clk_disable_unprepare+ [12860.793240][ T1] [mml][drm]mml_drm_put_context [12860.794666][ T1] [DISP]CRTC0 release input fence [12860.795028][ T1] [DISP]CRTC0 release wakelock(ref 0) mtk_drm_crtc_suspend 13049 [12860.795166][ T1] [DISP][E]mtk_atomic_doze_finish connector has no crtc [12860.795469][ T1] gauge_get_property disable GM30 [12860.795485][ T1] gauge_get_property disable GM30 [12860.795507][ T1] ******** mtk_battery_shutdown!! car=[o:0,new:0,diff:0 v:0]******** [12860.796464][T30831] <12860.796>mt6375_set_cc 3 [12860.797831][ T315] ------------[ cut here ]------------ [12860.797859][ T315] unregistered wakeup source [12860.797972][ T315] WARNING: CPU: 2 PID: 315 at source/drivers/base/power/wakeup.c:571 __pm_stay_awake+0x198/0x1a4 分析下这段log有问题吗?
最新发布
10-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值