History

firmware: arm_scmi: Add SCMI v3.1 clock notifications

Add SCMI v3.1 clock pre and post notifications.

Cristian Marussi committed 4 years ago

Commit 7aa75491 parent 71bea052 files · +142 −5Browse files

Showing the changes to include (1 of 2 files). Show all

Unified · Split

include/linux/scmi_protocol.h+11−0
@@ -44,6 +44,8 @@ struct scmi_clock_info { · 43 unmodified lines
4444 char name[SCMI_MAX_STR_SIZE];
4545 unsigned int enable_latency;
4646 bool rate_discrete;
47+ bool rate_changed_notifications;
48+ bool rate_change_requested_notifications;
4749 union {
4850 struct {
4951 int num_rates;
@@ -744,6 +746,8 @@ void scmi_protocol_unregister(const struct scmi_protocol *proto); · 694 unmodified lines
744746 /* SCMI Notification API - Custom Event Reports */
745747 enum scmi_notification_events {
746748 SCMI_EVENT_POWER_STATE_CHANGED = 0x0,
749+ SCMI_EVENT_CLOCK_RATE_CHANGED = 0x0,
750+ SCMI_EVENT_CLOCK_RATE_CHANGE_REQUESTED = 0x1,
747751 SCMI_EVENT_PERFORMANCE_LIMITS_CHANGED = 0x0,
748752 SCMI_EVENT_PERFORMANCE_LEVEL_CHANGED = 0x1,
749753 SCMI_EVENT_SENSOR_TRIP_POINT_EVENT = 0x0,
@@ -760,6 +764,13 @@ struct scmi_power_state_changed_report { · 10 unmodified lines
760764 unsigned int power_state;
761765 };
762766
767+struct scmi_clock_rate_notif_report {
768+ ktime_t timestamp;
769+ unsigned int agent_id;
770+ unsigned int clock_id;
771+ unsigned long long rate;
772+};
773+
763774 struct scmi_system_power_state_notifier_report {
764775 ktime_t timestamp;
765776 unsigned int agent_id;