Atlas 300I A2卡的功耗读取不准

内部压测Atlas 300I A2的过程中发现带外Sensor显示的功耗数据与带内读取的数据不符

带内显示:

BMC Sensor显示:

通过查看compute组件的debug日志可以看到:

smbus读取到的是0xC92 = 3218,根据带外协议应该是3218 * 0.1 即为321.8,应该是正确读值,实际显示到Sensor确实异常值,是不是中间转化出现了问题

你可以先看一下传感器的reading是多少,最终显示的值是reading值经过公式计算后得出的:

确实有些问题,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文件试试