blob: 5298d4e6b887f043849d6a5eaebe705afef2d812 [file] [log] [blame]
/*
* 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;
};