PM Runtime API

group pm_runtime

PM runtime specification.

Defines

RPM_ASYNC

Request is asynchronous.

Enums

enum pm_runtime_context

Runtime power management context.

Values:

enumerator PM_RUNTIME_HOST_DMA_L1

Host DMA L1.

enumerator SSP_CLK

SSP Clock.

enumerator SSP_POW

SSP Power.

enumerator DMIC_CLK

DMIC Clock.

enumerator DMIC_POW

DMIC Power.

enumerator DW_DMAC_CLK

DW DMAC Clock.

enumerator CORE_MEMORY_POW

Core Memory power.

enumerator CORE_HP_CLK

High Performance Clock.

enumerator 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:
  • context[in] Type of power management context.

  • index[in] Index of the device.

void pm_runtime_get_sync(enum pm_runtime_context context, uint32_t index)

Retrieves power management resource.

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

  • index[in] Index of the device.

void pm_runtime_put(enum pm_runtime_context context, uint32_t index)

Releases power management resource (async).

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

  • index[in] Index of the device.

void pm_runtime_put_sync(enum pm_runtime_context context, uint32_t index)

Releases power management resource.

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

  • index[in] Index of the device.

void pm_runtime_enable(enum pm_runtime_context context, uint32_t index)

Enables power management operations for the resource.

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

  • index[in] Index of the device.

void pm_runtime_disable(enum pm_runtime_context context, uint32_t index)

Disables power management operations for the resource.

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

  • index[in] Index of the device.

bool pm_runtime_is_active(enum pm_runtime_context context, uint32_t index)

Reports state of the power managed resource.

Parameters:
  • context – Type of power management context.

  • index – Index of the resource.

Returns:

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

static inline struct pm_runtime_data *pm_runtime_data_get(void)

Retrieves pointer to runtime power management data.

Returns:

Runtime power management data pointer.

struct pm_runtime_data
#include <pm_runtime.h>

Runtime power management data.

Public Members

struct k_spinlock lock

lock mechanism

void *platform_data

platform specific data