📘 LTSSM 实战手册 30章 · 固件与状态机

🧩 风格 · 活泼易懂
1
LTSSM概述 总览
PCIe链路层与LTSSM的关系 · 11个状态总览 · 固件交互边界
2
Detect状态详解 检测
Detect.Quiet/Active/Wait · 物理层机制与固件干预点
3
Polling状态详解 轮询
Polling.Active/Compliance/Configuration/Speed · 比特锁定与符号锁定
4
Configuration状态详解 配置
Linkwidth.Start/Accept · Lanenum.Wait/Complete/Idle · 链路宽度协商
5
L0状态详解 活跃
正常数据传输 · 流控 · TLP/DLLP · 固件监控L0健康
6
L0s状态详解 省电
L0s.Entry/Exit · 电气空闲与快速唤醒 · 固件使能/超时控制
7
L1状态详解 省电
L1.Entry/Exit · 子状态L1.1/L1.2 · 固件触发流程
8
L2状态详解 休眠
L2.Idle/Transmit.Wake · 辅助电源与唤醒 · 固件管理策略
9
Hot Reset & Disable 复位
Hot Reset传播 · Disable进入条件 · 固件处理复位事件
10
Recovery状态详解 恢复
RcvrLock/RcvrCfg/Idle · 重训练触发与固件响应
11
Loopback状态详解 调试
Loopback.Entry/Active/Exit · 调试模式固件交互
12
LTSSM状态转换图 总图
完整转换图 · 条件/超时 · 固件跟踪状态机
13
固件与LTSSM接口设计 寄存器
PCIe Capability · Device Control/Status · 中断/轮询
14
固件读取LTSSM状态 读取
MMIO读取状态寄存器 · 解析编码 · 状态变化检测
15
固件写入LTSSM状态 写入
配置写触发转换 · LTSSM Control · 写保护机制
16
链路训练中断处理 中断
Link Status Changed · 错误中断 · 中断服务例程
17
固件驱动链路初始化 初始化
上电训练等待 · 超时处理 · 宽度/速度确认 · 错误恢复
18
固件驱动热插拔处理 热插拔
Presence Detect · Hot Plug中断 · 固件响应流程
19
固件驱动电源管理 电源
ASPM(L0s/L1)配置 · L1 PM Substates · 电源事件处理
20
固件驱动错误处理 错误
LTSSM错误检测 · AER交互 · 错误恢复策略
21
固件驱动链路重训练 重训练
触发Recovery · 超时处理 · 重训练后链路验证
22
固件驱动链路降速 降速
Gen4→Gen3流程 · 降速原因 · 性能权衡
23
链路宽度降级 降级
x16→x8处理 · 宽度协商失败 · 降级后配置
24
固件与BIOS/UEFI交互 BIOS
BIOS初始化LTSSM · UEFI枚举协作 · ACPI表
25
固件与操作系统交互 OS
OS链路管理 · 状态同步 · 电源策略协同
26
LTSSM调试与诊断工具 调试
逻辑分析仪 · PCIe分析仪 · 固件日志Trace
27
LTSSM常见问题与排查 排查
训练失败 · 状态卡死 · L1退出延迟 · Recovery循环
28
LTSSM性能优化 优化
减少训练时间 · 优化L1退出 · ASPM切换 · 轮询效率
29
LTSSM与多链路拓扑 拓扑
多Root Port · Switch · NTB状态机交互
30
LTSSM实战案例 案例
服务器训练失败 · 存储L1延迟 · GPU热插拔异常修复