内部压测Atlas 300I A2的过程中发现带外Sensor显示的功耗数据与带内读取的数据不符
带内显示:
BMC Sensor显示:
通过查看compute组件的debug日志可以看到:
smbus读取到的是0xC92 = 3218,根据带外协议应该是3218 * 0.1 即为321.8,应该是正确读值,实际显示到Sensor确实异常值,是不是中间转化出现了问题
内部压测Atlas 300I A2的过程中发现带外Sensor显示的功耗数据与带内读取的数据不符
带内显示:
BMC Sensor显示:
通过查看compute组件的debug日志可以看到:
smbus读取到的是0xC92 = 3218,根据带外协议应该是3218 * 0.1 即为321.8,应该是正确读值,实际显示到Sensor确实异常值,是不是中间转化出现了问题
确实有些问题,NPU_1_0101010302下显示的是正常值,ThresholdSensor_GPUPower_0101010302的Reading显示的是255
阈值sensor类的读值是这样的:
reading的最大值为255,所以应该将NPU.Power的读值先缩小一个倍率,将其控制在255以内,然后再通过配置传感器的M、B、RBExp的值放大回原值。
应该是了 spec里是smbus读取到的原始数据乘以0.1作为实际功耗,但compute将原始数据显示在了设备树上,实际应该乘以0.1,compute是闭源组件,我这里只能改下csr文件试试