1 /*
2  * Copyright (c) 2023 Intel Corporation
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef _SEDI_DRIVER_PM_H_
8 #define _SEDI_DRIVER_PM_H_
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include "sedi_driver_common.h"
15 
16 /*!
17  * \defgroup sedi_driver_pm Power Management
18  * \ingroup sedi_driver
19  */
20 
21 /*!
22  * \defgroup pm_function_calls PM Driver Function Calls
23  * \ingroup sedi_driver_pm
24  * \{
25  */
26 
27 /*!
28  * \brief Set a device into some power state
29  * \param[in] id: device id
30  * \param[in] state: the power state to be set to the device
31  * \return void
32  */
33 void sedi_pm_set_device_power(IN sedi_devid_t id, IN sedi_power_state_t state);
34 
35 /*!
36  * \brief Get the power state of a device
37  * \param[in] id: device id
38  * \return \ref sedi_power_state_t
39  */
40 sedi_power_state_t sedi_pm_get_device_power(IN sedi_devid_t id);
41 
42 /*!
43  * \brief Notify host suspend state change to SEDI PM
44  * \param[in] suspend: host goes into/out of suspend state
45  * \return void
46  */
47 void sedi_pm_host_suspend(uint32_t suspend);
48 
49 /*!
50  * \}
51  */
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif /* _SEDI_DRIVER_PM_H_*/
58