| /* |
| * 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; |
| }; |