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