Thread (31 messages) 31 messages, 3 authors, 2018-02-19

[PATCH v5 06/20] firmware: arm_scmi: add initial support for performance protocol

From: Sudeep Holla <hidden>
Date: 2018-01-12 15:42:09
Also in: linux-devicetree, lkml


On 12/01/18 14:55, Alexey Klimov wrote:
On Tue, Jan 2, 2018 at 2:42 PM, Sudeep Holla [off-list ref] wrote:
quoted
The performance protocol is intended for the performance management of
group(s) of device(s) that run in the same performance domain. It
includes even the CPUs. A performance domain is defined by a set of
devices that always have to run at the same performance level.
For example, a set of CPUs that share a voltage domain, and have a
common frequency control, is said to be in the same performance domain.

The commands in this protocol provide functionality to describe the
protocol version, describe various attribute flags, set and get the
performance level of a domain. It also supports discovery of the list
of performance levels supported by a performance domain, and the
properties of each performance level.

This patch adds basic support for the performance protocol.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sudeep Holla <redacted>
---
 drivers/firmware/arm_scmi/Makefile |   2 +-
 drivers/firmware/arm_scmi/common.h |   1 +
 drivers/firmware/arm_scmi/perf.c   | 527 +++++++++++++++++++++++++++++++++++++
 include/linux/scmi_protocol.h      |  34 +++
 4 files changed, 563 insertions(+), 1 deletion(-)
[...]
[..]
quoted
+
+static int scmi_perf_limits_notify_enable(const struct scmi_handle *handle,
+                                         u32 domain, bool enable)
+{
+       return __scmi_perf_notify_enable(handle, PERF_NOTIFY_LIMITS,
+                                        domain, enable);
+}
+
+static int scmi_perf_level_notify_enable(const struct scmi_handle *handle,
+                                        u32 domain, bool enable)
+{
+       return __scmi_perf_notify_enable(handle, PERF_NOTIFY_LEVEL,
+                                        domain, enable);
+}
+
Do you have any support to correctly handle notifications without
errors/warnings?
Good catch.
It looks like this two functions are accessible to some user through
perf_ops. But are you sure that notifications will be correctly
handled by transport, mailbox framework and scmi protocol?
Indeed, it slipeed through the cracks. I have some rudimentary notifier
support with I have not put it as part of this series due to lack of
firmware to test.
The reason I ask is that it looks like it's better to return
-EOPNOTSUPP or -ENODEV, maybe -EINVAL here.
I agree, will change it.
When you add notifications support you can allow these operations when
it's safe to do it.
Yes, sounds like that's good plan.

-- 
Regards,
Sudeep
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help