安卓/MTK平台日志关键词详解
MDP (Media Data Path)
全称 :多媒体数据通路
作用:
- 负责图像/视频数据的处理流水线
- 包括缩放、旋转、格式转换等操作
- 连接显示、摄像头、视频编解码等模块
日志含义 :cmdq_core_resume_notifier ref:0表示MDP恢复通知,引用计数为0
CMDQ (Command Queue)
全称 :命令队列引擎
作用:
- MTK独有的硬件加速架构
- 将CPU任务卸载到专用硬件执行
- 主要用于显示、视频、图像处理
特点: - 并行处理多个命令流
- 减少CPU负载和功耗
cmdq_suspend ignore表示忽略挂起(可能没有活动任务)
SCP_DVFS (System Control Processor - Dynamic Voltage Frequency Scaling)
全称 :系统控制处理器动态电压频率调节
作用:
- 管理协处理器(SCP)的电源状态
- 根据负载动态调整SCP的电压和频率
- SCP通常处理传感器、音频等低功耗任务
日志含义 :scp_sleep_cnt_0 = 30007694记录SCP进入睡眠的次数
VCP (Video Co-Processor)
全称 :视频协处理器
作用:
- 专门处理视频编解码的硬件模块
- 支持H.264/H.265/VP9等格式
- 功耗低于CPU/GPU处理
日志含义 :PM_POST_SUSPEND entered 0 1表示视频协处理器进入休眠后状态
DIP (Digital Image Processor)
全称 :数字图像处理器
作用:
- 专门处理摄像头图像数据的硬件
- 包括降噪、HDR、色彩校正等
- 位于摄像头流水线中
日志含义 :G_u4DipEnClkCnt: 0, g_u4DipCnt: 0表示DIP时钟启用计数和实例计数都为0
MTK-BT (MediaTek Bluetooth)
全称 :联发科蓝牙子系统
组成:
- 蓝牙协议栈
- 蓝牙硬件控制器
- 电源管理模块
日志内容: BR_INQURY_SCAN:蓝牙查询扫描状态BR_SCAN_MODE:蓝牙扫描模式BLE_ADV:蓝牙低功耗广播状态
WLAN (Wireless LAN)
全称 :无线局域网子系统
关键日志:
FW OWN:1:固件拥有控制权DRIVER OWN:驱动拥有控制权qmFlushTimeoutReorderBubble:WiFi队列管理中的重新排序超时
PM (Power Management)
全称 :电源管理
状态机:
PM_SUSPEND_PREPARE(3):准备进入休眠PM_SUSPEND_PREPARE(4):休眠后恢复PM_SUSPEND_PREPARE(2):恢复准备
工作流程:
Freezing user space processes:冻结用户空间进程Freezing remaining freezable tasks:冻结剩余可冻结任务OOM killer disabled:禁用内存不足杀手
WMT-CONSYS-HW (Wireless Module Technology - Connectivity SOC Hardware)
全称 :无线模块技术-连接SOC硬件
作用:
- 管理WiFi/蓝牙/GPS的共存
- 硬件资源共享和仲裁
- 电源状态同步
日志内容: consys_dump_osc_state:振荡器状态consys_dump_gating_state:时钟门控状态
MTK-MSDC (MediaTek MultiMedia Card/SD Card Controller)
全称 :联发科多媒体卡/SD卡控制器
关键操作:
-
HS400调校:
[msdc_execute_hs400_tuning_cmd]:执行HS400调校 phase: [map:ffffffff]:相位图 final_rise_delay.start=0,maxlen=32,final_phase=10:最终延迟设置 -
电源管理:
msdc_runtime_resume: success to fix vcore:恢复时固定核心电压msdc_runtime_suspend: success to release vcore:挂起时释放核心电压
DISP (Display)
全称 :显示子系统
组成:
- 显示驱动
- 合成器(Composer)
- 显示接口(MIPI/HDMI)
日志含义 :Disabling CRTC wakelock:禁用CRTC唤醒锁(CRTC:阴极射线管控制器,泛指显示控制器)
tlTeeSOTER
全称 :Trustonic TEE SOTER(Secure Terminal)
作用:
- 提供可信执行环境
- 安全密钥存储
- 硬件级安全操作
关键功能: ARMv8 crypto instructions:使用ARMv8加密指令Neon instructions:使用Neon指令集加速RPMB operations:Replay Protected Memory Block操作
SPM (System Power Manager)
全称 :系统电源管理器
作用:
- 管理芯片级电源状态
- 控制电源域开关
- 时钟门控
关键日志: suspend start:休眠开始时间戳suspend end:休眠结束时间戳
关键操作详解
msdc_runtime_suspend: success to release vcore
含义 :eMMC控制器运行时挂起成功,释放核心电压
技术细节:
vcore:核心电压,eMMC控制器工作电压release:降低电压或关闭电源域- 目的:在空闲时降低功耗
Suspend (挂起)
完整流程:
- PM_SUSPEND_PREPARE (3):各模块准备休眠
- Freeze processes:冻结进程
- Peripheral suspend:外设挂起
- Clock gating:时钟门控
- Power domain off:关闭电源域
Resume (恢复)
完整流程:
- IRQ trigger:中断触发唤醒
- Power domain on:开启电源域
- Clock enable:启用时钟
- Peripheral resume:外设恢复
- PM_POST_SUSPEND (4):休眠后处理
- Unfreeze processes:解冻进程
系统状态转换
正常状态
↓ PM_SUSPEND_PREPARE
准备休眠 → 冻结进程 → 外设挂起
↓
深度休眠 (s2idle)
↓
IRQ唤醒触发
↓
恢复外设 → 解冻进程
↓ PM_POST_SUSPEND
正常状态
错误场景分析
在日志中,问题是:
- 时序冲突:eMMC正在挂起(电源释放)
- 并发访问:TEE同时进行RPMB操作
- 权限违规:MCU在eMMC时钟关闭后仍尝试访问
根本原因:电源管理状态机与外设操作缺乏同步机制,导致竞争条件。
bash
第一部分:唤醒过程(Resume)
时间戳:149012.910756 开始
MDP (Media Data Path):媒体数据路径,通常与显示、图像处理相关。
[MDP]cmdq_core_resume_notifier ref:0:表示MDP的cmdq核心恢复通知,ref计数为0。
cmdq:Command Queue,命令队列,用于处理多媒体任务的硬件队列(如显示、视频编解码)。
[cmdq] mdp buffer pool already created:表示mdp的缓冲区池已经创建。
Resume caused by IRQ 138, wlan0:唤醒由中断138触发,即wlan0(无线网络)中断。
scp_dvfs:SCP(System Control Processor)动态电压频率调节。
[scp_dvfs]: [SCP] [mt_scp_dump_sleep_count:2137] - scp_sleep_cnt_0 = 30007694:SCP的睡眠计数,用于调试电源管理。
timesync:时间同步,记录系统时间。
timesync host resume boottime 361140487354924:主机恢复时的启动时间。
VCP(可能是Video Co-Processor,视频协处理器):
[VCP] PM_POST_SUSPEND entered 0 1:VCP进入PM_POST_SUSPEND状态(休眠后)。
SPM (System Power Manager):系统电源管理。
[name:spm&][SPM] suspend end 2025-12-01 07:50:22.835128 UTC:表示休眠结束。
CAM_MEM:摄像头内存管理。
[CAM_MEM][cam_mem_pm_event_resume] EnableLarbCount:0,devct:1:摄像头内存恢复,启用Larb(Local Address Remap Buffer)计数。
DIP (Digital Image Processor):数字图像处理器。
[DIP][dip_suspend_pm_event] DIP resume G_u4DipEnClkCnt: 0, g_u4DipCnt: 0:DIP恢复,时钟计数和DIP计数为0。
wlan:无线局域网。
[wlan][10613]wlan_pm_notifier_call:(REQ INFO) pm_event: 4 PM_POST_SUSPEND:wlan电源管理通知,事件为PM_POST_SUSPEND(休眠后)。
MTK-BT:联发科蓝牙。
[MTK-BT]bt_pm_notifier_callback: bt_pm_notifier_callback: btonflag[1], event[4]:蓝牙电源管理回调,事件4(PM_POST_SUSPEND)。
PM (Power Management):电源管理。
PM: suspend exit:表示休眠退出,即系统唤醒。
WMT-CONSYS-HW (Wireless Module Tethering - Connectivity SoC Hardware):无线连接SOC硬件。
打印了一些硬件状态信息,如时钟门控状态等。
mtk-msdc (MTK Memory Stick/SD Card Controller):MTK存储卡控制器(这里指eMMC控制器)。
日志中看到msdc在进行时钟调整和调谐(tuning),这是为了确保eMMC通信的稳定性。
DISP (Display):显示。
在后续的休眠日志中看到[DISP]Disabling CRTC wakelock,表示解除显示CRTC(阴极射线管控制器,这里泛指显示控制器)的唤醒锁。
第二部分:再次进入休眠(Suspend)
时间戳:149013.424675
PM: suspend entry (s2idle):系统进入休眠(s2idle是一种浅休眠状态)。
Filesystems sync:文件系统同步。
log_store: write pmic value 0x98:写PMIC(电源管理集成电路)值,可能是记录休眠事件。
VCP:[VCP] PM_SUSPEND_PREPARE entered 0 0:VCP进入PM_SUSPEND_PREPARE状态(准备休眠)。
Trustonic TEE:一种可信执行环境(TEE)解决方案。
日志中出现了多个TEE相关的操作,包括RPMB(Replay Protected Memory Block)的读写。RPMB是eMMC中的一个安全分区,用于存储敏感数据。
SPM:[name:spm&][SPM] suspend start 2025-12-01 07:50:23.382566 UTC:SPM开始休眠。
CAM_MEM、DIP、wlan、MTK-BT等模块依次进入休眠准备。
Freezing user space processes:冻结用户空间进程,这是休眠的标准步骤。
OOM killer disabled:禁用OOM(Out Of Memory)杀手。
Freezing remaining freezable tasks:冻结剩余可冻结任务。
kbase_device_suspend:GPU(图形处理器)挂起。
MDP、cmdq、FDVT(Face Detection and Verification Technology,人脸检测和验证技术)等模块挂起。
TP(Touch Panel,触摸屏)挂起。
mt6685-rtc:实时时钟(RTC)设置报警时间。
upm7610:可能是电源管理芯片。
nfc_i2c_dev_suspend:NFC(近场通信)挂起。
第三部分:错误发生
在休眠过程中,出现了两个关键错误:
eMMC命令超时:
text
[149013.510436][C1000000] mtk-msdc 11230000.mmc: msdc_cmd_done: cmd=6 arg=0x30F0001; rsp 0x0; cmd_error=-110; host_error=0x2
命令6(MMC_SWITCH)超时(-110),主机错误0x2(可能是命令超时或硬件错误)。
设备访问权限违规(DEVAPC Violation):
text
[149013.511080][C1000000] [DEVAPC]: catch it from INFRAAXI_MI Master is: MCU_AP_M
[149013.511096][C1000000] [DEVAPC]: Violation - master: MCU_AP_M access violation slave: MSDC0_S-1
[149013.511108][C1000000] [DEVAPC]: Reason: power/clock is not enabled
设备访问保护(DEVAPC)发现违规:主设备MCU_AP_M试图访问从设备MSDC0_S-1(即eMMC控制器),但此时eMMC控制器的电源或时钟未开启。
随后,系统打印了时钟配置寄存器(CLK_CFG)的状态,可能是为了调试。
第四部分:关键术语解释
MDP:Media Data Path,媒体数据路径,处理视频、图像等媒体数据。
cmdq:Command Queue,命令队列,用于管理硬件任务队列,常见于多媒体任务。
scp_dvfs:System Control Processor Dynamic Voltage and Frequency Scaling,系统控制处理器动态电压频率调节,用于电源管理。
VCP:可能是Video Co-Processor,视频协处理器,用于视频编解码等。
DIP:Digital Image Processor,数字图像处理器,用于图像处理。
MTK-BT:联发科蓝牙模块。
wlan:无线局域网。
PM:Power Management,电源管理。
WMT-CONSYS-HW:无线连接SOC硬件,包括Wi-Fi、蓝牙、GPS等。
mtk-msdc:联发科存储卡控制器,用于控制eMMC或SD卡。
DISP:Display,显示相关。
tlTeeSOTER:Trustonic TEE(可信执行环境)的一个组件,用于安全操作。
SPM:System Power Manager,系统电源管理。
msdc_runtime_suspend: success to release vcore:msdc运行时挂起成功,释放核心电压(vcore)。
suspend:挂起,指设备进入低功耗状态。
Resume:恢复,指设备从低功耗状态唤醒。
总结
从日志看,系统在唤醒后很快又进入了休眠。在休眠过程中,eMMC控制器(msdc)发生了命令超时,并且随后发生了设备访问违规(DEVAPC),原因是eMMC控制器的电源或时钟已经关闭,但仍有主设备(MCU_AP_M)试图访问它。
可能的原因:在休眠流程中,eMMC控制器提前关闭了电源或时钟,但安全环境(TEE)中的RPMB操作仍在进行,导致访问冲突。这可能是电源管理时序问题,需要调整休眠流程中模块的关闭顺序,或者确保在eMMC控制器关闭前完成所有访问。