PM Runtime API

group pm_runtime

PM runtime specification.

Defines

trace_pm(__e, ...)

Power management trace function.

tracev_pm(__e, ...)
RPM_ASYNC

Request is asynchronous.

Enums

enum pm_runtime_context

Runtime power management context.

Values:

PM_RUNTIME_HOST_DMA_L1 = 0

Host DMA L1 Exit.

SSP_CLK

SSP Clock.

SSP_POW

SSP Power.

DMIC_CLK

DMIC Clock.

DMIC_POW

DMIC Power.

DW_DMAC_CLK

DW DMAC Clock.

CORE_MEMORY_POW

Core Memory power.

PM_RUNTIME_DSP

DSP.

Functions

void pm_runtime_init(struct sof *sof)

Initializes runtime power management.

void pm_runtime_get(enum pm_runtime_context context, uint32_t index)

Retrieves power management resource (async).

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

void pm_runtime_get_sync(enum pm_runtime_context context, uint32_t index)

Retrieves power management resource.

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

void pm_runtime_put(enum pm_runtime_context context, uint32_t index)

Releases power management resource (async).

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

void pm_runtime_put_sync(enum pm_runtime_context context, uint32_t index)

Releases power management resource.

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

void pm_runtime_enable(enum pm_runtime_context context, uint32_t index)

Enables power management operations for the resource.

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

void pm_runtime_disable(enum pm_runtime_context context, uint32_t index)

Disables power management operations for the resource.

Parameters
  • [in] context: Type of power management context.

  • [in] index: Index of the device.

bool pm_runtime_is_active(enum pm_runtime_context context, uint32_t index)

Reports state of the power managed resource.

Return

true if the resource is active or pm disabled, false otherwise.

Parameters
  • context: Type of power management context.

  • index: Index of the resource.

static struct pm_runtime_data *pm_runtime_data_get(void)

Retrieves pointer to runtime power management data.

Return

Runtime power management data pointer.

struct pm_runtime_data
#include <pm_runtime.h>

Runtime power management data.

Public Members

spinlock_t lock

lock mechanism

void *platform_data

platform specific data