diff options
Diffstat (limited to 'power/1.1/types.hal')
-rw-r--r-- | power/1.1/types.hal | 75 |
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; +}; |