Trip、中断、轮询与临界关机
1. Polling
Core delayed work按:
- normal polling delay;
- passive delay;
- disabled/no polling;
安排下一次 update。RK3588 soc zone正常1秒、passive时20ms。
2. Window interrupt
有 set_trips() 的 sensor可把下一高/低边界下发硬件。温度穿越 comparator后 IRQ触发 update,减少纯轮询延迟。
3. Hysteresis
trip进入与退出阈值不同,避免 cooling state在边界快速抖动。它不能替代 governor的动态稳定性设计。
4. Passive
Passive trip不直接等于某一固定频率:
1 | trip crossed |
5. Hot
HOT表示平台需要强动作,可通知/调用 hot handler,但通常不如 CRITICAL具备强制关机语义。
6. Critical
Core检测 critical/hot trip并触发相应处理。critical通常调用 orderly_poweroff(true);若配置了非零 emergency delay,失败后可执行硬关机。
本树 Kconfig emergency delay默认0,主 defconfig未显式改,因此不能假设 software emergency poweroff timer已启用。
7. RK3588 TSHUT
TSADC hardware comparator独立于 Core:
1 | temp reaches 120°C |
即使内核 deadlock或 IRQ丢失仍有机会保护芯片。
8. GPIO模式
mode 1把 TSHUT输出到 pin/PMIC,要求 pinctrl、polarity和板级 PMIC连接正确。当前公共 DTS选择 CRU模式,不走 GPIO。
9. IRQ失效
即便 comparator IRQ异常,1秒 polling仍可能发现升温,但快速 runaway可能来不及。硬件 TSHUT是必要后备。
10. 验证
不要在无安全台架上直接加热到 critical。优先:
- writable trip降低测试阈值;
- thermal emulation(测试内核);
-限制负载;
-观测 event/cdev;
-独立温度仪校准;
-最后按硬件认证流程测试 TSHUT。
正在加载留言…