android sw_wdt流程

本文深入剖析 Android 系统中的 Watchdog 机制,详细介绍了其启动流程、运行原理及死锁处理机制。通过分析 Watchdog 的核心代码,揭示它是如何通过 Java 的 synchronized 锁机制监控 ActivityManagerService、WindowManagerService 和 PowerManagerService 的状态,进而保障系统的稳定运行。

1. android framework层中的watchdog,它属于一种软件Watchdog实现。
    a.接收系统内部reboot请求,重启系统。
    b.监护SystemServer进程,防止系统死锁, 确保ActivityManagerService、WindowManagerService和 PowerManageService发生死锁后,退出SystemServer进程,让init进程重启它,让系统回到可用状态。
2. 分析framework/base/services/java/com/android/server/watchdog.java, watchdog实际上是一个thread
3. WatchDog如何启动, run@Frameworks/base/services/java/com/android/server/SystemServer.java
    WatchDog是在SystemServer进程中被初始化和启动的。在SystemServer 被Start时,各种Android服务被注册和启动,其中也包括了WatchDog的初始化和启动。代码如下:
        Watchdog.getInstance().init(context, battery, power, alarm,ActivityManagerService.self());
    在SystemServer Run函数的后半段,将检查系统是否已经准备好运行第三方代码,并通过SystemReady接口通知系统已经就绪。在ActivityManagerService的SystemReady接口的CallBack函数中实现WatchDog的启动,代码如下
        Watchdog.getInstance().start();

 


4. 在WatchDog启动之后,开始跑run函数。该函数内部为一个无限循环。
    public void run() {
            boolean waitedHalf = false;
            while (true) {
                mCompleted = false;
                mHandler.sendEmptyMessage(MONITOR);
                ...
                while (timeout > 0 && !mForceKillSystem) {
                        try {
                            wait(timeout); 
                           } catch (InterruptedException e) {
                        }
                        timeout = TIME_TO_WAIT - (SystemClock.uptimeMillis() - start);
                        //TIME_TO_WAIT的默认时间为30s。此为第一次等待时间,WatchDog判断对象是否死锁的最长处理时间为1Min。
                    }
                ...
            }
    }

    一开始就会发送一个MONITOR的Message,由HeartbeatHandler负责接收并处理。同时会等待30秒,等待HeartbeatHandler的处理结果。然后才会进行下一步动作。
    在HeartbeatHandler中将会作如下处理:
    public void handleMessage(Message msg) {
                switch (msg.what) {
                    case MONITOR: {
                    ...
                    final int size = mMonitors.size();
                        for (int i = 0 ; i < size ; i++) {
                            mCurrentMonitor = mMonitors.get(i);
                            mCurrentMonitor.monitor();
                        }//依次去调用监护对象的monitor接口,实现对其的监护。如果monitor中的synchronized(..)不能及时返回,则表明该监护对象被lock了
                     synchronized (Watchdog.this) {
                            mCompleted = true;
                            mCurrentMonitor = null;
                        }//如果监护的对象都正常,则会很快运行到这里,并对mCompleted赋值为true,表示对象正常返回。mCompleted值初始为false。

    同时在run函数中:if (mCompleted && !mForceKillSystem) {
                        // The monitors have returned.
                        waitedHalf = false;
                        continue;
                       }//如果所有对象在30s内能够返回,则会得到mCompleted = true;则本次监护就结束,返回继续下一轮监护。
    如果在30s内,monitor对象未能返回,mCompleted 值即为false,则会运行到该语句:
                     if (!waitedHalf) {
                        // We've waited half the deadlock-detection interval.  Pull a stack
                        // trace and wait another half.
                        ArrayList<Integer> pids = new ArrayList<Integer>();
                        pids.add(Process.myPid());
                        ActivityManagerService.dumpStackTraces(true, pids, null, null);
                        waitedHalf = true;
                        continue;
                    }//会调用ActivityManagerService.java中的dumpStackTraces接口函数。

     该动作发生在第一次等待的30s时间内,monitor对象未返回,由于在调用完ActivityManagerService.java的dumpStackTraces接口函数后,将waitedHalf赋值为true。并返回继续下一轮监护。若紧接着的下一轮监护,在30s内 monitor对象依旧未及时返回,此时
    if (mCompleted && !mForceKillSystem){
        ...
    }
    if (!waitedHalf){
    ...
    }//此时这两个语句都不会运行,则会直接运行到下面部分。这表示系统的监护对象有死锁现象发生,SystemServer进程需要kill并重启。
     // If we got here, that means that the system is most likely hung.
    ...
    // Pull our own kernel thread stacks as well if we're configured for that
    if (RECORD_KERNEL_THREADS) {
        dumpKernelStackTraces();//-->dumpKernelStacks@frameworks/base/core/jni/android_server_watchdog.cpp,后面会分析
    }    

    // Only kill/crash if the debugger is not attached.
    if (!Debug.isDebuggerConnected()) {
      if (Build.TYPE.equals("eng") || Build.TYPE.equals("userdebug")) {
        Slog.w(TAG, "*** WATCHDOG KILLING THE SYSTEM: " + name);
        // Give some extra time to make sure CrashMonitorService reacts to
        // the dropbox entry before the crash
        SystemClock.sleep(2000);
        forceCrashDump();//通过写入"c"到"/proc/sysrq-trigger"产生kernel crash,启动kernel crash dump
    } else {
        Slog.w(TAG, "*** WATCHDOG KILLING SYSTEM PROCESS: " + name);
        Process.killProcess(Process.myPid());
        System.exit(10);//在剩下的30s内,做一些收尾工作,如重新初始化trace file。最后直接将SystemServer进程kill,并且退出系统。Init进程会重新启动SystemServer进程,让其回到可用状态。System.exit(?)应该是退出进程???会终止该java程序的JVM
    }
    } else {
        Slog.w(TAG, "Debugger connected: Watchdog is *not* killing the system process");
    }


5. 由以上分析可知,如果监控的所有service没有被lock, watchdog thread会30秒心跳一次[HeartbeatHandler.sendEmptyMessage(MONITOR);];如果30秒后所监控的service有被lock的,则进入half lock状态,并做一些前期工作,应对完全死锁full lock; 如果在接下来的30秒,service都被解除lock,则表示又活过来了,重新开始30秒一次的心跳;如果没有在接下来的30秒中解除lock,则认为系统死锁了,开始处理死锁过程。
6. 如何使用watchdog monitor service,在 ActivityManagerService.java,PowerManagerService.java,WindowManagerService.java中有
    a. Watchdog.getInstance().addMonitor(this);//增加该service 到wathdog中的monitor list中
    b. @PowerManagerService.java 中有
            public void monitor() {
                synchronized (mLocks) { }
            }
    c. @WindowManagerService.java 中有
            public void monitor() {
            synchronized (mWindowMap) { }
            synchronized (mKeyguardTokenWatcher) { }
            }    
    d. @ActivityManagerService.java 中有
            public void monitor() {
            synchronized (this) { }
            }    
    e. 从代码中可以看到,用于monitor中的synchronized对象,也是被service 其他关键处理函数用到的synchronized对象;
    f. 简而言之,android的watchdog 机制,是基于java 的synchronized 锁对象机制,很巧妙的应用!!!!
7. 如果被监控的service 中关键处理过程或函数,超过1分钟没有完成,则触发android watchdog.
8. 分析dumpKernelStackTraces@frameworks/base/services/java/com/android/server/watchdog.java --> native_dumpKernelStacks-->dumpKernelStacks@frameworks/base/core/jni/android_server_watchdog.cpp
    a. 主要从 proc/<process id>/task 下获取当前process所有的thread 的ID
    b. dumpOneStack函数获取 proc/<thread id>/stack 的dump 信息
9. 分析如果发生死锁后,非userdebug和eng版本,init 如何重启watchdog thread和 SystemServer thread???
    a. init.rc中有
        service servicemanager /system/bin/servicemanager //该源代码位于 frameworks/base/cmds/servicemanager/目录下
        user system
        critical
        onrestart restart zygote
        onrestart restart media
    b. main@system/core/init/init.c中有一死循环会不断执行restart_processes-->service_for_each_flags-->restart_service_if_needed-->service_start, 检查是否*.rc申明的所有 非ONESHOT的service,是否已经停止,如果停止则需要重新启动该service. 好像和死锁重启无关???
    b. init.rc中还有
        service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-s    erver
        socket zygote stream 660 root system
        onrestart write /proc/sysrq-trigger c
       在后面的分析中如何 关键的三个service发生dead lock, zygote将会exit,然后init process会重启zygote --> system_server        
    c. startSystemServer@frameworks/base/core/java/com/android/internal/os/ZygoteInit.java中有
             "--nice-name=system_server",
             "com.android.server.SystemServer",
        指明了线程system_server 就是com.android.server.SystemServer, 也就是zygote会启动运行com.android.server.SystemServer
    d. $adb shell ps 可以看到
        root      1483  1     97632  28912 c011e7ec afd0b944 S zygote
        system    1756  1483  196400 41324 ffffffff afd0b7fc S system_server
    e. #ls /proc/1756/task 可以看到process system_server 启动的所有thread ID,比如 1756,1757,...; 进入1757目录,#cat status可以看到该thread的具体信息。
    f. 执行sh脚本
          adb shell ls proc/1756/task > dirlist
          while read one; do
                   temp=`expr substr $one 1 4`
                   adb shell cat proc/1756/task/${temp}/status | grep -E "Name:|Tgid:|Pid:|PPid:"
                   echo "----------------------------------------------------------"
          done <dirlist
        有很多关键线程都是被system_server即com.android.server.SystemServer创建,如HeapWorker,GC,Binder,ProcessStats,PowerManagerService,WindowManager,ActivityManager,wathdog等等,具体信息如下
            Name:    watchdog
            Tgid:    1756        //线程组号=system_server PID
            Pid:    1856         //线程ID
            PPid:    1483        //父进程ID = zygote PID
            TracerPid:    0    //接收跟踪该进程信息的进程ID = 没有?
10. 如果kill -9 1856, 会导致svcinfo_death@frameworks/base/cmds/servicemanager/service_manager.c,也就是所有注册到svclist的service都将died. kill掉任何一个system_server启动的thread 会导致system_server也被kill? 并会最终有如下log,
     I/Zygote  ( 1483): Exit zygote because system server (1756) has terminated 是从哪来的???????? sigchldHandler@dalvik/vm/native/dalvik_system_zygote.c
另外需要分析 zygote是如何exit的?????System.exit(?)。 需要提前说明的一点是Zygote 与 SystemServer 关系非常紧密!!
首先要分析zygote如何启动?和如何重启? zygote是运行在JVM空间的
    a. init.rc 中有
        service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
        socket zygote stream 666
        onrestart write /proc/sysrq-trigger c
    b. service zygote在frameworks/base/cmds/app_process/app_main.cpp--> main启动; runtime.start("com.android.internal.os.ZygoteInit",startSystemServer)@frameworks/base/core/jni/androidruntime.cpp 启动起来
    c. androidruntime 会启动main@@frameworks/base/core/java/com/android/internal/os/zygoteinit.java, -->startSystemServer();-->  pid = Zygote.forkSystemServer,其中forkSystemServer对应的jni函数是Dalvik_dalvik_system_Zygote_forkSystemServer@dalvik/vm/native/dalvik_system_zygote.c
    d. forkAndSpecializeCommon@dalvik/vm/native/dalvik_system_zygote.c 很关键,fork一个子进程用于systemserver,并且还通过setSignalHandler();监控子进程的状态,
        sa.sa_handler = sigchldHandler; //处理子进程终止的callback函数
        err = sigaction (SIGCHLD, &sa, NULL); //注册 监听该子进程,如果子进程终止,将报告该信息给其父进程
    e. 当子进程终止时,sigchldHandler会被触发 pid = waitpid(-1, &status, WNOHANG) 会读取当前终止的子进程的信息,并把其彻底销毁,然乎返回其PID;另外提一句,如果还发现其他的僵尸进程还一并把它给处理了。
    f. 在sigchldHandler还有如下内容
           if (pid == gDvm.systemServerPid) { //判断被终止的Process ID 是否是system server ID(即system_server 进程)
           LOG(LOG_INFO, ZYGOTE_LOG_TAG,
               "Exit zygote because system server (%d) has terminated\n",
               (int) pid);
           kill(getpid(), SIGKILL); //如果是,则把其父进程(即,zygote)也kill掉,如此可见system_server和zygote关系之紧密,誓死共存亡!!!
           }
    g. zygote 被kill掉后,会被init demon进程马上发现,并重启zygote进程,由此android系统就通过重启,解除了死锁。


13. 所有在init.rc中的service process的父进程ID=1 (init process), 并且这些process都只是运行在native世界中,还不是JVM.
14. 小结:SW watchdog实现机制很有意思,首先是通过java的synchronized 机制,来监控关键的三个service; system_server进程会启动所有的java services,当然包含那三个关键服务,还有watchdog thread 等线程;一旦watchdog发现死锁,会通过System.exit(10) kill掉自己的父进程(system_server);而一旦system_server被kill,它的的父进程zygote会监控到,马上把自己也干掉了,system_server不活zygote活着也就没有意义了;最后zygote把自己干掉了,会被init demon进程发现,重新启动android的所有java process,到此为止android系统又活过来了;但是init.rc中 在重启servie zygote 时还会执行onrestart write /proc/sysrq-trigger c, 郁闷!难道又手动让kernel也crash? 启动ramdump机制?最后整个手机都重启了!!!SW watchdog的意义何在? 上网查了下,增加onrestart write /proc/sysrq-trigger c, 为本公司特色!!这样处理真是一了百了。

[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
[ 38.684899][ T1] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000010008 [ 38.703167][ T1] Mem abort info: [ 38.710240][ T1] ESR = 0x96000005 [ 38.716537][ T1] EC = 0x25: DABT (current EL), IL = 32 bits [ 38.723425][ T1] SET = 0, FnV = 0 [ 38.723613][ T1411] [LX_CHG][FG]:fg_show_ui_soh:fg_show_ui_soh: latest_ui_soh = 100 [ 38.727315][ T1] EA = 0, S1PTW = 0 [ 38.739311][ T1] FSC = 0x05: level 1 translation fault [ 38.745029][ T1] Data abort info: [ 38.748735][ T1] ISV = 0, ISS = 0x00000005 [ 38.753315][ T1] CM = 0, WnR = 0 [ 38.757058][ T1] user pgtable: 4k pages, 39-bit VAs, pgdp=000000004a3b8000 [ 38.764267][ T1] [0000000000010008] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [ 38.765581][ T802] servicemanager: Notifying apexservice they do (previously: don't) have clients when service is guaranteed to be in use [ 38.770231][ T1537] QSEECOM: __qseecom_unload_app: App (18) is unloaded [ 38.770254][ T1537] QSEECOM: qseecom_vaddr_unmap: Trying to unmap vaddr [ 38.773834][ T1] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 38.773948][ T1133] AidlLazyServiceRegistrar: Process has 1 (of 1 available) client(s) in use after notification apexservice has clients: 1 [ 38.774865][ T1135] apexd: markBootCompleted() received by ApexService [ 38.780514][ T1] Skip md ftrace buffer dump for: 0x1609e0 [ 38.780521][ T1] Modules linked in: camera(OE) bq25960_charger(E) sc853x_charger(E) leds_subpmic_flash(E) wlan(OE) machine_dlkm(OE) ipa_clientsm(OE) tx_macro_dlkm(OE) rx_macro_dlkm(OE) wcd937x_dlkm(OE) va_macro_dlkm(OE) [ 38.787737][ T1133] AidlLazyServiceRegistrar: Shutdown prevented by forcePersist override flag. [ 38.800035][ T1] rouleur_dlkm(OE) wcd9xxx_dlkm(OE) adsp_loader_dlkm(OE) swr_ctrl_dlkm(OE) bt_fm_slim(OE) audio_pkt_dlkm(OE) bolero_cdc_dlkm(OE) ipanetm(OE) pinctrl_lpi_dlkm(OE) rndisipam(OE) audio_prm_dlkm(OE) millet_binder(E) nxp_nci(OE) rt_pd_manager(E) coresight_hwevent(E) qcrypto_msm_dlkm(OE) coresight_tmc(E) spf_core_dlkm(OE) rmnet_wlan(OE) qcom_spmi_adc5(E) ofpart(E) ft3683g_spi(OE) ipam(OE) gt9916k_spi(OE) icnss2(OE) gpr_dlkm(OE) subpmic_nu(E) q6_notifier_dlkm(OE) msm_video(OE) usb_f_qdss(E) wlan_firmware_service(OE) rmnet_core(OE) mbhc_dlkm(OE) millet_hs(E) rouleur_slave_dlkm(OE) fg_bq28z610(E) usb_f_gsi(E) btpower(OE) cnss_nl(OE) msm_kgsl(OE) cfg80211(E) coresight_tgu(E) hdcp_qseecom_dlkm(OE) coresight_funnel(E) radio_i2c_rtc6226_qca(OE) wsa881x_analog_dlkm(OE) coresight_replicator(E) qrtr_smd(E) pm2250_spmi_dlkm(OE) coresight_csr(E) msm_drm(OE) stm_p_basic(E) coresight_remote_etm(E) qcedev_mod_dlkm(OE) stm_p_ost(E) rmnet_ctl(OE) stm_ftrace(E) millet_pkg(E) [ 38.840740][ T1] xiaomi_tp(OE) audpkt_ion_dlkm(OE) wcd937x_slave_dlkm(OE) qcom_q6v5_pas(E) msm_mmrm(OE) binder_gki(E) cnss_prealloc(OE) hardwareinfo(OE) millet_sig(E) millet_oem_cgroup(E) qcom_spmi_adc_tm5(E) qcom_lpm(E) thermal_pause(E) lct_tp(OE) smcinvoke_dlkm(OE) regulator_cdev(E) byp_charger(E) qti_qmi_sensor(E) qti_userspace_cdev(E) msm_tsens_driver(E) cpufreq_userspace(E) cpufreq_ondemand(E) msm_qmp(E) qti_devfreq_cdev(E) bcl_soc(E) qcom_spmi_temp_alarm(E) stm_console(E) tz_log_dlkm(OE) subpmic_cid(E) gsim(OE) qcom_pon(E) phy_msm_qusb(E) qti_qmi_cdev(E) class_dual_role(E) qti_cpufreq_cdev(E) tcpci_late_sync(E) mi_memory(E) xiaomi_fp(E) millet_core(E) frpc_adsprpc(E) lx_led_class(E) cx_ipeak_cdev(E) coresight_dummy(E) usb_f_ccid(E) mtdblock(E) leds_qpnp_vibrator_ldo(E) block2mtd(E) qcom_pil_info(E) ir_pwm(E) bq25960h_charger(E) spi_msm_geni(E) qcom_i2c_pmic(E) cpu_hotplug(E) tcpc_sc660x(E) usb_f_diag(E) snd_usb_audio_qmi(E) refgen(E) nt36xxx_i2c(OE) q6_dlkm(OE) [ 38.926692][ T1] rpm_smd_debug(E) wcd_core_dlkm(OE) qcom_vadc_common(E) leds_aw2016(E) synaptics_tcm_ts(OE) snd_event_dlkm(OE) cx_ipeak(E) usb_f_cdev(E) msm_sharedmem(E) fs181x_dlkm(OE) reboot_mode(E) coresight_cti(E) slate_events_bridge(E) lmh_cpu_vdd_cdev(E) coresight_tpda(E) hung_task_enh(E) cnss_utils(OE) coresight_tpdm(E) qce50_dlkm(OE) ipa_fmwk(E) oca72xxx_dlkm(OE) boot_stats(E) phy_qcom_ufs_qmp_v4_lahaina(E) qpnp_lcdb_regulator(E) rdbg(E) stub_dlkm(OE) main_chg(E) swr_dlkm(OE) coresight_stm(E) bcl_pmic5(E) fsa4480_i2c(E) mtdoops(E) q6_pdr_dlkm(OE) mtd_blkdevs(E) qcom_tsens(E) coresight(E) subpmic_sc6601(E) qcom_q6v5(E) qcom_spss(E) icc_test(E) dwc3_msm(E) stm_core(E) chipreg(E) phy_msm_qusb_v2(E) qcom_cpufreq_hw_debug(E) qcom_va_minidump(E) lx_notify(E) msm_lmh_dcvs(E) tms_device_modules(E) leds_pwm(E) phy_msm_ssusb_qmp(E) mtd(E) leds_qti_tri_led(E) cpumaxfreq(E) qcom_sysmon(E) guestvm_loader(E) lx_cp_policy(E) rpm_smd_cooling_device(E) lx_qc_policy(E) rtc_pm8xxx(E) [ 39.012730][ T1] soft_bc12(E) bwmon(E) phy_msm_snps_hs(E) xm_pd_adapter(E) lx_voter(E) lx_pd_adapter(E) xm_adapter_class(E) tcpc_nu6601(E) lx_fg_class(E) qti_battery_charger(E) i2c_msm_geni(E) xm_subpmic(E) tcpc_class(E) charger_partition(E) pm8941_pwrkey(E) lx_cp_class(E) lx_charger_class(E) sg(E) ehset(E) usb_bam(E) phy_generic(E) lx_adapter_class(E) pd_dbg_info(E) phy_qcom_ufs_qmp_v4_crow(E) msm_geni_serial(E) pinctrl_spmi_gpio(E) phy_qcom_emu(E) ucsi_glink(E) f_fs_ipc_log(E) simtray(E) qcom_iommu_debug(E) qcom_ramdump(E) msm_performance(E) debugcc_sm6115(E) rpm_master_stat(E) cdsprm(E) qfprom_sys(E) cdsp_loader(E) gpucc_sm6115(E) sps_drv(E) charger_ulog_glink(E) pinctrl_spmi_mpp(E) memlat(E) rq_stats(E) soc_sleep_stats(E) core_hang_detect(E) dispcc_sm6115(E) altmode_glink(E) phy_qcom_ufs_qmp_v4_kona(E) phy_qcom_ufs_qmp_v4(E) qti_battery_debug(E) phy_xgene(E) debugcc_scuba(E) pwm_qti_lpg(E) msm_gpi(E) slate_events_bridge_rpmsg(E) pmic_glink_debug(E) debugcc_khaje(E) [ 39.099295][ T1] dispcc_khaje(E) [ 39.103708][ T88] [LX_CHG][SMART]:xm_charge_work:check xm_charge_work [ 39.185444][ T1] glink_pkt(E) eud(E) gpucc_khaje(E) dispcc_scuba(E) mdt_loader(E) lpassaudiocc_sm6115(E) gpucc_scuba(E) lpassaoncc_sm6115(E) msm_memshare(E) pmic_glink(E) heap_mem_ext_v01(E) smp2p_sleepstate(E) phy_qcom_ufs_qmp_v4_waipio(E) phy_qcom_ufs_qmp_v4_kalama(E) msm_sysstats(E) slim_qcom_ngd_ctrl(E) ufs_qcom(E) pdr_interface(E) sdhci_msm(E) glink_probe(E) arm_smmu(E) rproc_qcom_common(E) qcom_dma_heaps(E) cqhci(E) ufshcd_crypto_qti(E) qseecom_dlkm(OE) mem_buf(E) gcc_khaje(E) clk_dummy(E) gcc_scuba(E) qnoc_scuba(E) gcc_sm6115(E) clk_smd_rpm(E) qnoc_bengal(E) clk_qcom(E) qcom_glink_smem(E) qcom_glink_spss(E) mem_offline(E) qcom_iommu_util(E) mem_buf_dev(E) phy_qcom_ufs_qmp_v3_660(E) pinctrl_scuba(E) pinctrl_khaje(E) crypto_qti_common(E) rpm_smd_regulator(E) phy_qcom_ufs_qrbtc_sdm845(E) icc_rpm(E) pinctrl_bengal(E) phy_qcom_ufs_qmp_v4_khaje(E) qcom_soc_wdt(E) qcom_glink_rpm(E) qcom_glink(E) gdsc_regulator(E) rpm_smd(E) phy_qcom_ufs(E) socinfo(E) mi_thermal_interface(E) [ 39.185503][ T1] sched_walt(E) secure_buffer(E) stub_regulator(E) swinfo(OE) msm_poweroff(E) pinctrl_msm(E) crypto_qti_tz(E) memory_dump_v2(E) qcom_smd(E) dcc_v2(E) zram(E) usbpd(E) qcom_wdt_core(E) qcom_logbuf_vh(E) bam_dma(E) qcom_spmi_pmic(E) smp2p(E) qmi_helpers(E) qrtr(E) qcom_ipc_logging(E) minidump(E) mi_sw_sync(E) perf_helper(E) slimbus(E) smem(E) radio_cable_det(E) qcom_mpm(E) qcom_scm(E) miev(CE) panel_event_notifier(E) debug_regulator(E) qcom_cpufreq_hw(E) spmi_pmic_arb(E) regmap_spmi(E) qti_regmap_debugfs(E) qcom_dcvs(E) proxy_consumer(E) nvmem_qfprom(E) zsmalloc(E) qcom_pmu_lib(E) qnoc_qos_rpm(E) qcom_hwspinlock(E) sdhci_msm_scaling(E) icc_debug(E) hardware_info(E) qpnp_power_on(E) nvmem_qcom_spmi_sdam(E) qcom_cpu_vendor_hooks(E) msm_dma_iommu_mapping(E) iommu_logger(E) qrng_dlkm(OE) bootinfo(OE) qcom_apcs_ipc_mailbox(E) binder_prio(CE) [ 39.185556][ T1] CPU: 4 PID: 1 Comm: init Tainted: G WC OE 5.15.185-android13-8-00043-gd00fb6bce7ed-ab13792018 #1 [ 39.185561][ T1] Hardware name: Qualcomm Technologies, Inc. KHAJE QRD nopmi overlay (DT) [ 39.185563][ T1] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 39.185567][ T1] pc : mls_compute_context_len+0x90/0x3f4 [ 39.185578][ T1] lr : mls_compute_context_len+0x84/0x3f4 [ 39.185581][ T1] sp : ffffffc00805b9f0 [ 39.185583][ T1] x29: ffffffc00805ba00 x28: 0000000000000004 x27: 0000000000010000 [ 39.185588][ T1] x26: 0000000000000000 x25: 0000000000000001 x24: 0000000000000001 [ 39.185592][ T1] x23: 0000000000000018 x22: ffffff80467d4e00 x21: 0000000000000006 [ 39.185595][ T1] x20: ffffff8050fc6960 x19: ffffff8050fc6978 x18: ffffffc00805d060 [ 39.185599][ T1] x17: 0000000020000000 x16: 0000000040000000 x15: ffffff8050fc6000 [ 39.185603][ T1] x14: 0000000000000015 x13: 0000000000000000 x12: ffffff804613a0a8 [ 39.185606][ T1] x11: 0000000000000001 x10: 0000000000000000 x9 : 0000000000000000 [ 39.185610][ T1] x8 : 0101010101010101 x7 : 7f7f7f7f7f7f7f7f x6 : fefefefefefefeff [ 39.185613][ T1] x5 : 8080808080808080 x4 : 0000000000000010 x3 : 0000000000000000 [ 39.185617][ T1] x2 : 0000000000003073 x1 : ffffff8050fc6960 x0 : 0000000000000002 [ 39.185621][ T1] Call trace: [ 39.185623][ T1] mls_compute_context_len+0x90/0x3f4 [ 39.185627][ T1] context_struct_to_string+0x14c/0x218 [ 39.185631][ T1] security_sid_to_context_core+0x15c/0x22c [ 39.185633][ T1] selinux_inode_getsecurity+0x208/0x2b0 [ 39.185636][ T1] vfs_getxattr+0x1b4/0x2bc [ 39.185641][ T1] getxattr+0x15c/0x2bc
最新发布
12-06
process(tx_clk(i)) begin if(tx_clk(i)'event and tx_clk(i) = '1')then s_tx_wdt_signal_d1(i) <= s_tx_wdt_signal_s(i); s_tx_wdt_signal_d2(i) <= s_tx_wdt_signal_d1(i); s_tx_wdt_signal_d3(i) <= s_tx_wdt_signal_d2(i); s_tx_wdt_signal_d4(i) <= s_tx_wdt_signal_d3(i); s_tx_wdt_signal_d5(i) <= s_tx_wdt_signal_d4(i); s_tx_wdt_signal(i) <= s_tx_wdt_signal_d2(i) or s_tx_wdt_signal_d3(i) or s_tx_wdt_signal_d4(i) or s_tx_wdt_signal_d5(i); end if; end process; s_tx_wdt_reset_ack(i) <= not s_tx_rst_ack_n(i); tx_wdt_reset(i) <= s_tx_wdt_reset(i); tx_wdt_reset_fail(i) <= s_tx_wdt_reset_ack_fail(i); tx_wdt_reset_cnt(i) <= s_tx_wdt_reset_cnt(i); tx_wdt_state(i) <= s_tx_wdt_state(i); end generate; gen_ftile_rx_wdt : for i in 0 to CHANNEL_NUM-1 generate u_ftile_rx_wdt : wdt_core port map ( RESET => AVMA_RESET ,--: in std_logic; CLK => AVMA_CLK ,--: in std_logic; WDT_WAIT_CNT1 => rx_wdt_wait_cnt1 ,--: std_logic_vector(31 downto 0); WDT_WAIT_CNT2 => rx_wdt_wait_cnt2 ,--: std_logic_vector(31 downto 0); WDT_WAIT_CNT3 => rx_wdt_wait_cnt3 ,--: std_logic_vector(31 downto 0); WDT_WAIT_CNT4 => rx_wdt_wait_cnt4 ,--: std_logic_vector(31 downto 0); WDT_ENABLE => rx_wdt_enable(i) ,--: in std_logic; WDT_SIGSEL => rx_wdt_sigsel ,--: in std_logic; WDT_SIGNAL => s_rx_wdt_signal(i) ,--: in std_logic_vector(7 downto 0); WDT_RESET => s_rx_wdt_reset(i) ,--: out std_logic; WDT_RESET_ACK => s_rx_wdt_reset_ack(i) ,--: in std_logic WDT_RESET_ACK_FAIL => s_rx_wdt_reset_ack_fail(i) ,--: out std_logic; WDT_RESET_CNT => s_rx_wdt_reset_cnt(i) ,--: out std_logic_vector(31 downto 0); WDT_STATAE => s_rx_wdt_state(i) --: out std_logic; ); g_64b66b : if OPT8_CPRI(i) = '0' generate s_rx_wdt_signal_s(i)(0) <= not rxresetdone (i); s_rx_wdt_signal_s(i)(1) <= not s_rx_pcs_ready (i); s_rx_wdt_signal_s(i)(2) <= '0'; s_rx_wdt_signal_s(i)(3) <= '0'; s_rx_wdt_signal_s(i)(4) <= CPRI_LOF (i); s_rx_wdt_signal_s(i)(5) <= not s_rx_cdr_lock (i); s_rx_wdt_signal_s(i)(6) <= not s_rx_block_lock(i); s_rx_wdt_signal_s(i)(7) <= '0'; end generate; g_8b10b : if OPT8_CPRI(i) = '1' generate s_rx_wdt_signal_s(i)(0) <= not rxresetdone (i); s_rx_wdt_signal_s(i)(1) <= '0'; s_rx_wdt_signal_s(i)(2) <= '0'; s_rx_wdt_signal_s(i)(3) <= '0'; s_rx_wdt_signal_s(i)(4) <= CPRI_LOF (i); s_rx_wdt_signal_s(i)(5) <= not s_rx_cdr_lock (i); s_rx_wdt_signal_s(i)(6) <= '0'; s_rx_wdt_signal_s(i)(7) <= '0'; end generate; process(rx_clk(i)) begin if(rx_clk(i)'event and rx_clk(i) = '1')then s_rx_wdt_signal_d1(i) <= s_rx_wdt_signal_s(i); s_rx_wdt_signal_d2(i) <= s_rx_wdt_signal_d1(i); s_rx_wdt_signal_d3(i) <= s_rx_wdt_signal_d2(i); s_rx_wdt_signal_d4(i) <= s_rx_wdt_signal_d3(i); s_rx_wdt_signal_d5(i) <= s_rx_wdt_signal_d4(i); s_rx_wdt_signal(i) <= s_rx_wdt_signal_d2(i) or s_rx_wdt_signal_d3(i) or s_rx_wdt_signal_d4(i) or s_rx_wdt_signal_d5(i); end if; end process; s_rx_wdt_reset_ack(i) <= not s_rx_rst_ack_n(i); rx_wdt_reset(i) <= s_rx_wdt_reset(i); rx_wdt_reset_fail(i) <= s_rx_wdt_reset_ack_fail(i); rx_wdt_reset_cnt(i) <= s_rx_wdt_reset_cnt(i); rx_wdt_state(i) <= s_rx_wdt_state(i); end generate;
11-07
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值