class FuchsiaPowerManager

Defined at line 28 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.h

FuchsiaPowerManager manages power state transitions (power-on, power-down, suspend, resume).

State Machine

&

Suspend Mechanics:

- When system suspend is requested via Suspend(), |in_suspend_| becomes true. If the GPU is

currently powered on, |power_on_after_suspend_| is recorded as true and PowerDown() is

executed.

- While |in_suspend_| is true, calls to EnablePower() do not power on the hardware immediately,

but set |power_on_after_suspend_ = true|.

- When system resume occurs via Resume(), |in_suspend_| becomes false. If

|power_on_after_suspend_|

is true, hardware power-up is initiated and |power_on_after_suspend_| is reset to false.

Public Members

static const char[] kIsSystemSuspendingInspectNode
static const char[] kPoweredOnInspectNode
static const char[] kPowerOnAfterSuspendInspectNode
static const char[] kSuspendBlockerName

Public Methods

void FuchsiaPowerManager (Owner * owner)

Defined at line 9 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

bool Initialize (inspect::Node & node)

Defined at line 11 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

TimeoutSource::Clock::time_point GetCurrentTimeoutPoint ()

Defined at line 23 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

void EnablePower ()

Requests powering on GPU hardware. If system is currently suspended, defers power-on until

Resume().

Defined at line 31 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

void DisablePower ()

Requests powering down GPU hardware (e.g. idle timeout or suspend).

Defined at line 44 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

void TimeoutTriggered ()

Defined at line 45 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.h

void Suspend (fit::callback<void ()> completer)

Suspends GPU power management during driver framework suspend transitions.

Powers down hardware if currently on and records state for resumption.

Defined at line 72 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

void Resume (fit::callback<void ()> completer)

Resumes GPU power management after driver framework suspend transitions.

Restores hardware power if active prior to suspend or requested during suspend.

Defined at line 78 of file ../../src/graphics/drivers/msd-arm-mali/src/fuchsia_power_manager.cc

Records