Trip、中断、轮询与临界关机

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
2
3
4
5
trip crossed
-> governor
-> instance target/power budget
-> cooling state
-> cpufreq/devfreq limit

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
2
3
temp reaches 120°C
-> TSHUT source
-> CRU reset (DTS mode 0)

即使内核 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。

文章互动

阅读 --

留言

0 条留言

正在加载留言…