提交 9d1a7396 编写于 作者: S Sudeep Holla 提交者: Yang Yingliang

firmware: arm_scmi: fix bitfield definitions for SENSOR_DESC attributes

[ Upstream commit 430daaf96ad133be5ce7c3a5c60e94247f7c6f71 ]

As per the SCMI specification the bitfields for SENSOR_DESC attributes
are as follows:
attributes_low 	[7:0] 	Number of trip points supported
attributes_high	[15:11]	The power-of-10 multiplier in 2's-complement
			format that is applied to the sensor units

Looks like the code developed during the draft versions of the
specification slipped through and are wrong with respect to final
released version. Fix them by adjusting the bitfields appropriately.

Fixes: 5179c523 ("firmware: arm_scmi: add initial support for sensor protocol")
Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 d6c4d27b
...@@ -30,10 +30,10 @@ struct scmi_msg_resp_sensor_description { ...@@ -30,10 +30,10 @@ struct scmi_msg_resp_sensor_description {
__le32 id; __le32 id;
__le32 attributes_low; __le32 attributes_low;
#define SUPPORTS_ASYNC_READ(x) ((x) & BIT(31)) #define SUPPORTS_ASYNC_READ(x) ((x) & BIT(31))
#define NUM_TRIP_POINTS(x) (((x) >> 4) & 0xff) #define NUM_TRIP_POINTS(x) ((x) & 0xff)
__le32 attributes_high; __le32 attributes_high;
#define SENSOR_TYPE(x) ((x) & 0xff) #define SENSOR_TYPE(x) ((x) & 0xff)
#define SENSOR_SCALE(x) (((x) >> 11) & 0x3f) #define SENSOR_SCALE(x) (((x) >> 11) & 0x1f)
#define SENSOR_UPDATE_SCALE(x) (((x) >> 22) & 0x1f) #define SENSOR_UPDATE_SCALE(x) (((x) >> 22) & 0x1f)
#define SENSOR_UPDATE_BASE(x) (((x) >> 27) & 0x1f) #define SENSOR_UPDATE_BASE(x) (((x) >> 27) & 0x1f)
u8 name[SCMI_MAX_STR_SIZE]; u8 name[SCMI_MAX_STR_SIZE];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册