部分芯片提供错误检测寄存器,需要定时轮询,如果发现错误上报错误告警。
驱动应该在发现错误的时候把完整的寄存器以及相关联的寄存器都打印出来,便于甄别是否是真的硬件故障。
防止海量打印,可以通过状态位变化标记决定是否打印信息。
state_flag = 0;//初始状态
func()
{
get_state(&new_state_flag);
if (state_flag != new_state_flag)
printk();
state_flag = new_state_flag;
}
本文介绍了一种针对部分芯片中错误检测寄存器的轮询机制,通过该机制可以及时发现并上报错误告警。为确保告警的准确性,需要在发现错误时打印完整的寄存器信息及关联寄存器信息。为了防止打印信息过多导致的问题,采用状态位变化标记的方式决定是否打印信息。
1834

被折叠的 条评论
为什么被折叠?



