xref: /rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/mt_spm_conservation.h (revision 1f4adc3a34f80249d40bfc7033a65f4217d7ee04)
1*7ac6a76cSjason-ch chen /*
2*7ac6a76cSjason-ch chen  * Copyright (c) 2022, MediaTek Inc. All rights reserved.
3*7ac6a76cSjason-ch chen  *
4*7ac6a76cSjason-ch chen  * SPDX-License-Identifier: BSD-3-Clause
5*7ac6a76cSjason-ch chen  */
6*7ac6a76cSjason-ch chen 
7*7ac6a76cSjason-ch chen #ifndef MT_SPM_CONSERVATION_H
8*7ac6a76cSjason-ch chen #define MT_SPM_CONSERVATION_H
9*7ac6a76cSjason-ch chen 
10*7ac6a76cSjason-ch chen #include <mt_spm_internal.h>
11*7ac6a76cSjason-ch chen 
12*7ac6a76cSjason-ch chen extern int spm_conservation(int state_id, unsigned int ext_opand,
13*7ac6a76cSjason-ch chen 			    struct spm_lp_scen *spm_lp,
14*7ac6a76cSjason-ch chen 			    unsigned int resource_req);
15*7ac6a76cSjason-ch chen extern void spm_conservation_finish(int state_id, unsigned int ext_opand,
16*7ac6a76cSjason-ch chen 				    struct spm_lp_scen *spm_lp,
17*7ac6a76cSjason-ch chen 				    struct wake_status **status);
18*7ac6a76cSjason-ch chen extern int spm_conservation_get_result(struct wake_status **res);
19*7ac6a76cSjason-ch chen extern void spm_conservation_pwrctrl_init(struct pwr_ctrl *pwrctrl);
20*7ac6a76cSjason-ch chen 
21*7ac6a76cSjason-ch chen #endif /* MT_SPM_CONSERVATION_H */
22