summaryrefslogtreecommitdiffstats
path: root/power/1.1/types.hal
diff options
context:
space:
mode:
Diffstat (limited to 'power/1.1/types.hal')
-rw-r--r--power/1.1/types.hal75
1 files changed, 75 insertions, 0 deletions
diff --git a/power/1.1/types.hal b/power/1.1/types.hal
new file mode 100644
index 000000000..5298d4e6b
--- /dev/null
+++ b/power/1.1/types.hal
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.hardware.power@1.1;
+
+/**
+ * Subsytem-level sleep state stats:
+ * PowerStateSubsystemSleepState represents the sleep states
+ * a subsystem (e.g. wifi, bt) is capable of getting into.
+ *
+ * SoCs like wifi, bt usually have more than one subsystem level sleep state.
+ */
+struct PowerStateSubsystemSleepState {
+ /**
+ * Subsystem-level Sleep state name.
+ */
+ string name;
+
+ /**
+ * Time spent in msec at this subsystem-level sleep state since boot.
+ */
+ uint64_t residencyInMsecSinceBoot;
+
+ /**
+ * Total number of times sub-system entered this state.
+ */
+ uint64_t totalTransitions;
+
+ /**
+ * Timestamp of last entry of this state measured in MSec
+ */
+ uint64_t lastEntryTimestampMs;
+
+ /**
+ * This subsystem-level sleep state can only be reached during system suspend
+ */
+ bool supportedOnlyInSuspend;
+};
+
+/**
+ * Subsytem-level sleep state stats:
+ * PowerStateSubsystem represents a subsystem (e.g. wifi, bt)
+ * and all the sleep states this susbsystem is capable of getting into.
+ *
+ * SoCs like wifi, bt usually have more than one subsystem level sleep state.
+ */
+struct PowerStateSubsystem {
+ /**
+ * Subsystem name (e.g. wifi, bt etc.)
+ */
+ string name;
+
+ /**
+ * states represents the list of sleep states supported by this susbsystem.
+ * Higher the index in the returned <states> vector deeper the state is
+ * i.e. lesser steady-state power is consumed by the subsystem to
+ * to be resident in that state.
+ *
+ * Vector of size zero implies either the info is not available
+ * or the subsystem does not have any sleep states.
+ */
+ vec<PowerStateSubsystemSleepState> states;
+};