1 /* 2 * Copyright (c) 2025, Mediatek Inc. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef MT_SPM_IDLE_H 8 #define MT_SPM_IDLE_H 9 10 #include <mt_spm_internal.h> 11 12 typedef int (*spm_idle_conduct)(int state_id, struct spm_lp_scen *spm_lp, 13 uint32_t *resource_req); 14 15 typedef int (*spm_idle_conduct_restore)(int state_id, 16 struct spm_lp_scen *spm_lp, 17 struct wake_status *status); 18 19 int mt_spm_idle_generic_enter(int state_id, uint32_t ext_opand, 20 spm_idle_conduct fn); 21 void mt_spm_idle_generic_resume(int state_id, uint32_t ext_opand, 22 struct wake_status **status, 23 spm_idle_conduct_restore fn); 24 25 int mt_spm_idle_generic_get_spm_lp(struct spm_lp_scen **lp); 26 27 #endif /* MT_SPM_IDLE_H */ 28