forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpm_runtime.h
More file actions
131 lines (111 loc) · 2.96 KB
/
pm_runtime.h
File metadata and controls
131 lines (111 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright(c) 2024 Intel Corporation.
*/
#ifndef __SOF_LIB_PM_RUNTIME_H__
#define __SOF_LIB_PM_RUNTIME_H__
#include <rtos/sof.h>
#include <stdint.h>
/** \addtogroup pm_runtime PM Runtime
* SOF PM runtime specification mapping for Zephyr builds.
*
* This interface is considered deprecated and native Zephyr
* interfaces should be used instead.
* @{
*/
/** \brief Runtime power management context */
enum pm_runtime_context {
PM_RUNTIME_DSP /**< DSP */
};
/**
* \brief Initializes runtime power management.
*/
static inline void pm_runtime_init(struct sof *sof)
{
}
/**
* \brief Retrieves power management resource (async).
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
void pm_runtime_get(enum pm_runtime_context context, uint32_t index);
/**
* \brief Retrieves power management resource.
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
static inline void pm_runtime_get_sync(enum pm_runtime_context context, uint32_t index)
{
}
/**
* \brief Releases power management resource (async).
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
void pm_runtime_put(enum pm_runtime_context context, uint32_t index);
/**
* \brief Releases power management resource.
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
static inline void pm_runtime_put_sync(enum pm_runtime_context context, uint32_t index)
{
}
/**
* \brief Enables power management operations for the resource.
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
void pm_runtime_enable(enum pm_runtime_context context, uint32_t index);
/**
* \brief Disables power management operations for the resource.
*
* \param[in] context Type of power management context.
* \param[in] index Index of the device.
*/
void pm_runtime_disable(enum pm_runtime_context context, uint32_t index);
/**
* \brief Reports state of the power managed resource.
*
* @param context Type of power management context.
* @param index Index of the resource.
*
* @return true if the resource is active or pm disabled, false otherwise.
*/
bool pm_runtime_is_active(enum pm_runtime_context context, uint32_t index);
static inline void platform_pm_runtime_prepare_d0ix_en(uint32_t index)
{
}
#if CONFIG_DSP_RESIDENCY_COUNTERS
/**
* \brief Initializes DSP residency counters.
*
* \param[in] context Type of power management context.
*/
static inline void init_dsp_r_state(enum dsp_r_state)
{
}
/**
* \brief Reports DSP residency state.
*
* \param[in] new state
*/
static inline void report_dsp_r_state(enum dsp_r_state)
{
}
/**
* \brief Retrieves current DSP residency state.
*
* @return active DSP residency state
*/
static inline enum dsp_r_state get_dsp_r_state(void)
{
}
#endif
/** @}*/
#endif /* __SOF_LIB_PM_RUNTIME_H__ */