firmware: arm_scmi: Add sensor notifications support
Make SCMI sensor protocol register with the notification core. Link: https://lore.kernel.org/r/20200701155348.52864-8-cristian.marussi@arm.com Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
This commit is contained in:

committed by
Sudeep Holla

parent
fb5086dc47
commit
128e3e9311
@@ -176,18 +176,13 @@ enum scmi_sensor_class {
|
||||
*
|
||||
* @count_get: get the count of sensors provided by SCMI
|
||||
* @info_get: get the information of the specified sensor
|
||||
* @trip_point_notify: control notifications on cross-over events for
|
||||
* the trip-points
|
||||
* @trip_point_config: selects and configures a trip-point of interest
|
||||
* @reading_get: gets the current value of the sensor
|
||||
*/
|
||||
struct scmi_sensor_ops {
|
||||
int (*count_get)(const struct scmi_handle *handle);
|
||||
|
||||
const struct scmi_sensor_info *(*info_get)
|
||||
(const struct scmi_handle *handle, u32 sensor_id);
|
||||
int (*trip_point_notify)(const struct scmi_handle *handle,
|
||||
u32 sensor_id, bool enable);
|
||||
int (*trip_point_config)(const struct scmi_handle *handle,
|
||||
u32 sensor_id, u8 trip_id, u64 trip_value);
|
||||
int (*reading_get)(const struct scmi_handle *handle, u32 sensor_id,
|
||||
@@ -380,6 +375,7 @@ enum scmi_notification_events {
|
||||
SCMI_EVENT_POWER_STATE_CHANGED = 0x0,
|
||||
SCMI_EVENT_PERFORMANCE_LIMITS_CHANGED = 0x0,
|
||||
SCMI_EVENT_PERFORMANCE_LEVEL_CHANGED = 0x1,
|
||||
SCMI_EVENT_SENSOR_TRIP_POINT_EVENT = 0x0,
|
||||
};
|
||||
|
||||
struct scmi_power_state_changed_report {
|
||||
@@ -404,4 +400,11 @@ struct scmi_perf_level_report {
|
||||
u32 performance_level;
|
||||
};
|
||||
|
||||
struct scmi_sensor_trip_point_report {
|
||||
u64 timestamp;
|
||||
u32 agent_id;
|
||||
u32 sensor_id;
|
||||
u32 trip_point_desc;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_SCMI_PROTOCOL_H */
|
||||
|
Reference in New Issue
Block a user