Home
last modified time | relevance | path

Searched refs:pwrctrl (Results 1 – 25 of 71) sorted by relevance

123

/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/
H A Dmt_spm_internal.c65 void __spm_set_power_control(const struct pwr_ctrl *pwrctrl, in __spm_set_power_control() argument
70 ((pwrctrl->reg_spm_adsp_mailbox_req & 0x1) << 0) | in __spm_set_power_control()
71 (((pwrctrl->reg_spm_apsrc_req | in __spm_set_power_control()
73 (((pwrctrl->reg_spm_ddren_req | in __spm_set_power_control()
75 ((pwrctrl->reg_spm_dvfs_req & 0x1) << 3) | in __spm_set_power_control()
76 (((pwrctrl->reg_spm_emi_req | in __spm_set_power_control()
78 (((pwrctrl->reg_spm_f26m_req | in __spm_set_power_control()
81 (((pwrctrl->reg_spm_infra_req | in __spm_set_power_control()
83 (((pwrctrl->reg_spm_pmic_req | in __spm_set_power_control()
85 (((u32)pwrctrl->reg_spm_scp_mailbox_req & 0x1) << 8) | in __spm_set_power_control()
[all …]
H A Dmt_spm_conservation.c38 #define do_spm_init(pwrctrl) ({ int local_ret = 0; local_ret; }) argument
39 #define do_spm_run(pwrctrl) __spm_send_cpu_wakeup_event() argument
46 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
48 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
51 ret = do_spm_init(pwrctrl); in go_to_spm_before_wfi()
56 __spm_set_power_control(pwrctrl, resource_req); in go_to_spm_before_wfi()
57 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
59 __spm_sync_vcore_dvfs_power_control(pwrctrl, __spm_vcorefs.pwrctrl); in go_to_spm_before_wfi()
63 pwrctrl->pcm_flags |= SPM_FLAG_ENABLE_MT8196_IVI; in go_to_spm_before_wfi()
65 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
[all …]
H A Dmt_spm.c303 __spm_set_power_control(spmlp->pwrctrl, *(uint32_t *)priv); in mt_spm_hwctrl()
342 struct pwr_ctrl *pwrctrl; in mt_spm_common_sodi_get_spm_pcm_flag() local
346 pwrctrl = spmlp->pwrctrl; in mt_spm_common_sodi_get_spm_pcm_flag()
353 *lp = pwrctrl->pcm_flags; in mt_spm_common_sodi_get_spm_pcm_flag()
356 *lp = pwrctrl->pcm_flags; in mt_spm_common_sodi_get_spm_pcm_flag()
367 struct pwr_ctrl *pwrctrl; in mt_spm_common_sodi_en() local
370 pwrctrl = spmlp->pwrctrl; in mt_spm_common_sodi_en()
372 __spm_sync_vcore_dvfs_pcm_flags(&pwrctrl->pcm_flags, in mt_spm_common_sodi_en()
373 &__spm_vcorefs.pwrctrl->pcm_flags); in mt_spm_common_sodi_en()
376 pwrctrl->pcm_flags |= SPM_FLAG_ENABLE_COMMON_SODI5; in mt_spm_common_sodi_en()
[all …]
/rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/
H A Dmt_spm_internal.c131 void __spm_src_req_update(const struct pwr_ctrl *pwrctrl, in __spm_src_req_update() argument
135 1 : pwrctrl->reg_spm_apsrc_req; in __spm_src_req_update()
137 1 : pwrctrl->reg_spm_ddren_req; in __spm_src_req_update()
139 1 : pwrctrl->reg_spm_vrf18_req; in __spm_src_req_update()
141 1 : pwrctrl->reg_spm_infra_req; in __spm_src_req_update()
143 1 : pwrctrl->reg_spm_f26m_req; in __spm_src_req_update()
150 (pwrctrl->pcm_flags & SPM_FLAG_SSPM_INFRA_SLEEP_MODE) in __spm_src_req_update()
151 ? 0U : pwrctrl->reg_sspm_srcclkena_mask_b; in __spm_src_req_update()
154 (pwrctrl->pcm_flags & SPM_FLAG_SSPM_INFRA_SLEEP_MODE) in __spm_src_req_update()
155 ? 0 : pwrctrl->reg_sspm_infra_req_mask_b; in __spm_src_req_update()
[all …]
H A Dmt_spm_conservation.c30 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
33 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
36 __spm_set_power_control(pwrctrl); in go_to_spm_before_wfi()
37 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
38 __spm_sync_vcore_dvfs_power_control(pwrctrl, __spm_vcorefs.pwrctrl); in go_to_spm_before_wfi()
39 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
41 __spm_src_req_update(pwrctrl, resource_req); in go_to_spm_before_wfi()
64 cpu, pwrctrl->wake_src, mmio_read_32(SPM_CLK_SETTLE), in go_to_spm_before_wfi()
67 pwrctrl->pcm_flags, pwrctrl->pcm_flags1, in go_to_spm_before_wfi()
152 void spm_conservation_pwrctrl_init(struct pwr_ctrl *pwrctrl) in spm_conservation_pwrctrl_init() argument
[all …]
H A Dmt_spm_internal.h557 struct pwr_ctrl *pwrctrl; member
566 extern void __spm_src_req_update(const struct pwr_ctrl *pwrctrl,
568 extern void __spm_set_power_control(const struct pwr_ctrl *pwrctrl);
570 extern void __spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl);
571 extern void __spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl);
572 extern void __spm_set_pcm_flags(struct pwr_ctrl *pwrctrl);
584 extern void __spm_set_fw_resume_option(struct pwr_ctrl *pwrctrl);
588 static inline void set_pwrctrl_pcm_flags(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_flags() argument
591 if (pwrctrl->pcm_flags_cust == 0U) { in set_pwrctrl_pcm_flags()
592 pwrctrl->pcm_flags = flags; in set_pwrctrl_pcm_flags()
[all …]
/rk3399_ARM-atf/plat/mediatek/mt8192/drivers/spm/
H A Dmt_spm_internal.c139 void __spm_src_req_update(const struct pwr_ctrl *pwrctrl, in __spm_src_req_update() argument
143 1 : pwrctrl->reg_spm_apsrc_req; in __spm_src_req_update()
145 1 : pwrctrl->reg_spm_ddr_en_req; in __spm_src_req_update()
147 1 : pwrctrl->reg_spm_vrf18_req; in __spm_src_req_update()
149 1 : pwrctrl->reg_spm_infra_req; in __spm_src_req_update()
152 1 : pwrctrl->reg_spm_f26m_req; in __spm_src_req_update()
160 ((pwrctrl->reg_spm_dvfs_req & 0x1) << 8) | in __spm_src_req_update()
161 ((pwrctrl->reg_spm_sw_mailbox_req & 0x1) << 9) | in __spm_src_req_update()
162 ((pwrctrl->reg_spm_sspm_mailbox_req & 0x1) << 10) | in __spm_src_req_update()
163 ((pwrctrl->reg_spm_adsp_mailbox_req & 0x1) << 11) | in __spm_src_req_update()
[all …]
H A Dmt_spm_conservation.c27 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
30 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
33 __spm_set_power_control(pwrctrl); in go_to_spm_before_wfi()
34 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
35 __spm_sync_vcore_dvfs_power_control(pwrctrl, __spm_vcorefs.pwrctrl); in go_to_spm_before_wfi()
36 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
37 __spm_src_req_update(pwrctrl, resource_req); in go_to_spm_before_wfi()
60 cpu, pwrctrl->wake_src, mmio_read_32(SPM_CLK_SETTLE), in go_to_spm_before_wfi()
63 pwrctrl->pcm_flags, pwrctrl->pcm_flags1, in go_to_spm_before_wfi()
140 void spm_conservation_pwrctrl_init(struct pwr_ctrl *pwrctrl) in spm_conservation_pwrctrl_init() argument
[all …]
H A Dmt_spm_internal.h576 struct pwr_ctrl *pwrctrl; member
584 extern void __spm_src_req_update(const struct pwr_ctrl *pwrctrl,
586 extern void __spm_set_power_control(const struct pwr_ctrl *pwrctrl);
588 extern void __spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl);
589 extern void __spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl);
590 extern void __spm_set_pcm_flags(struct pwr_ctrl *pwrctrl);
602 extern void __spm_set_fw_resume_option(struct pwr_ctrl *pwrctrl);
606 static inline void set_pwrctrl_pcm_flags(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_flags() argument
609 if (pwrctrl->pcm_flags_cust == 0U) { in set_pwrctrl_pcm_flags()
610 pwrctrl->pcm_flags = flags; in set_pwrctrl_pcm_flags()
[all …]
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8189/
H A Dmt_spm_internal.c180 void __spm_set_power_control(const struct pwr_ctrl *pwrctrl, in __spm_set_power_control() argument
187 ((pwrctrl->reg_spm_adsp_mailbox_req & 0x1) << 0) | in __spm_set_power_control()
188 (((pwrctrl->reg_spm_apsrc_req | in __spm_set_power_control()
190 (((pwrctrl->reg_spm_ddren_req | in __spm_set_power_control()
192 ((pwrctrl->reg_spm_dvfs_req & 0x1) << 3) | in __spm_set_power_control()
193 (((pwrctrl->reg_spm_emi_req | in __spm_set_power_control()
195 (((pwrctrl->reg_spm_f26m_req | in __spm_set_power_control()
197 (((pwrctrl->reg_spm_infra_req | in __spm_set_power_control()
199 (((pwrctrl->reg_spm_pmic_req | in __spm_set_power_control()
201 (((uint32_t)pwrctrl->reg_spm_scp_mailbox_req & 0x1) << 8) | in __spm_set_power_control()
[all …]
H A Dmt_spm_conservation.c51 #define do_spm_init(pwrctrl) \ argument
56 #define do_spm_run(pwrctrl) __spm_send_cpu_wakeup_event() argument
58 #define do_spm_run(pwrctrl) __spm_kick_pcm_to_run(pwrctrl) argument
101 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
104 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
107 ret = do_spm_init(pwrctrl); in go_to_spm_before_wfi()
113 __spm_set_power_control(pwrctrl, resource_req); in go_to_spm_before_wfi()
114 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
116 __spm_sync_vcore_dvfs_power_control(pwrctrl, __spm_vcorefs.pwrctrl); in go_to_spm_before_wfi()
119 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
[all …]
H A Dmt_spm_internal.h783 struct pwr_ctrl *pwrctrl; member
795 void __spm_set_power_control(const struct pwr_ctrl *pwrctrl,
797 void __spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl);
798 void __spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl);
799 void __spm_set_pcm_flags(struct pwr_ctrl *pwrctrl);
812 void __spm_set_fw_resume_option(struct pwr_ctrl *pwrctrl);
815 static inline void set_pwrctrl_pcm_flags(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_flags() argument
818 if (!pwrctrl) in set_pwrctrl_pcm_flags()
821 if (pwrctrl->pcm_flags_cust == 0) in set_pwrctrl_pcm_flags()
822 pwrctrl->pcm_flags = flags; in set_pwrctrl_pcm_flags()
[all …]
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/
H A Dmt_spm_internal.c92 void __spm_src_req_update(const struct pwr_ctrl *pwrctrl, unsigned int resource_usage) in __spm_src_req_update() argument
96 1 : pwrctrl->reg_spm_apsrc_req; in __spm_src_req_update()
98 1 : pwrctrl->reg_spm_ddr_en_req; in __spm_src_req_update()
100 1 : pwrctrl->reg_spm_vrf18_req; in __spm_src_req_update()
102 1 : pwrctrl->reg_spm_infra_req; in __spm_src_req_update()
104 1 : pwrctrl->reg_spm_f26m_req; in __spm_src_req_update()
113 ((pwrctrl->reg_spm_dvfs_req & 0x1) << 8) | in __spm_src_req_update()
114 ((pwrctrl->reg_spm_sw_mailbox_req & 0x1) << 9) | in __spm_src_req_update()
115 ((pwrctrl->reg_spm_sspm_mailbox_req & 0x1) << 10) | in __spm_src_req_update()
116 ((pwrctrl->reg_spm_adsp_mailbox_req & 0x1) << 11) | in __spm_src_req_update()
[all …]
H A Dmt_spm_conservation.c33 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
36 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
43 __spm_set_power_control(pwrctrl); in go_to_spm_before_wfi()
44 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
46 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
48 __spm_src_req_update(pwrctrl, resource_req); in go_to_spm_before_wfi()
65 cpu, pwrctrl->wake_src, mmio_read_32(SPM_CLK_SETTLE), in go_to_spm_before_wfi()
68 pwrctrl->pcm_flags, pwrctrl->pcm_flags1, in go_to_spm_before_wfi()
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/spm/
H A Dmt_spm_internal.c146 void __spm_src_req_update(const struct pwr_ctrl *pwrctrl, in __spm_src_req_update() argument
150 1 : pwrctrl->reg_spm_apsrc_req; in __spm_src_req_update()
152 1 : pwrctrl->reg_spm_ddr_en_req; in __spm_src_req_update()
154 1 : pwrctrl->reg_spm_vrf18_req; in __spm_src_req_update()
156 1 : pwrctrl->reg_spm_infra_req; in __spm_src_req_update()
159 1 : pwrctrl->reg_spm_f26m_req; in __spm_src_req_update()
167 ((pwrctrl->reg_spm_dvfs_req & 0x1) << 8) | in __spm_src_req_update()
168 ((pwrctrl->reg_spm_sw_mailbox_req & 0x1) << 9) | in __spm_src_req_update()
169 ((pwrctrl->reg_spm_sspm_mailbox_req & 0x1) << 10) | in __spm_src_req_update()
170 ((pwrctrl->reg_spm_adsp_mailbox_req & 0x1) << 11) | in __spm_src_req_update()
[all …]
H A Dmt_spm_conservation.c26 struct pwr_ctrl *pwrctrl; in go_to_spm_before_wfi() local
29 pwrctrl = spm_lp->pwrctrl; in go_to_spm_before_wfi()
32 __spm_set_power_control(pwrctrl); in go_to_spm_before_wfi()
33 __spm_set_wakeup_event(pwrctrl); in go_to_spm_before_wfi()
34 __spm_set_pcm_flags(pwrctrl); in go_to_spm_before_wfi()
35 __spm_src_req_update(pwrctrl, resource_req); in go_to_spm_before_wfi()
58 cpu, pwrctrl->wake_src, mmio_read_32(SPM_CLK_SETTLE), in go_to_spm_before_wfi()
61 pwrctrl->pcm_flags, pwrctrl->pcm_flags1, in go_to_spm_before_wfi()
140 void spm_conservation_pwrctrl_init(struct pwr_ctrl *pwrctrl) in spm_conservation_pwrctrl_init() argument
142 if (pwrctrl == NULL) { in spm_conservation_pwrctrl_init()
[all …]
H A Dmt_spm_internal.h522 struct pwr_ctrl *pwrctrl; member
530 extern void __spm_src_req_update(const struct pwr_ctrl *pwrctrl,
532 extern void __spm_set_power_control(const struct pwr_ctrl *pwrctrl);
534 extern void __spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl);
535 extern void __spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl);
536 extern void __spm_set_pcm_flags(struct pwr_ctrl *pwrctrl);
548 extern void __spm_set_fw_resume_option(struct pwr_ctrl *pwrctrl);
552 static inline void set_pwrctrl_pcm_flags(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_flags() argument
555 if (pwrctrl->pcm_flags_cust == 0U) { in set_pwrctrl_pcm_flags()
556 pwrctrl->pcm_flags = flags; in set_pwrctrl_pcm_flags()
[all …]
/rk3399_ARM-atf/plat/mediatek/mt8183/drivers/spm/
H A Dspm.c109 void spm_set_power_control(const struct pwr_ctrl *pwrctrl) in spm_set_power_control() argument
112 ((pwrctrl->wfi_op & 0x1) << 0) | in spm_set_power_control()
113 ((pwrctrl->mp0_cputop_idle_mask & 0x1) << 1) | in spm_set_power_control()
114 ((pwrctrl->mp1_cputop_idle_mask & 0x1) << 2) | in spm_set_power_control()
115 ((pwrctrl->mcusys_idle_mask & 0x1) << 4) | in spm_set_power_control()
116 ((pwrctrl->mm_mask_b & 0x3) << 16) | in spm_set_power_control()
117 ((pwrctrl->md_ddr_en_0_dbc_en & 0x1) << 18) | in spm_set_power_control()
118 ((pwrctrl->md_ddr_en_1_dbc_en & 0x1) << 19) | in spm_set_power_control()
119 ((pwrctrl->md_mask_b & 0x3) << 20) | in spm_set_power_control()
120 ((pwrctrl->sspm_mask_b & 0x1) << 22) | in spm_set_power_control()
[all …]
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/
H A Dspm.c159 void spm_set_power_control(const struct pwr_ctrl *pwrctrl) in spm_set_power_control() argument
161 mmio_write_32(SPM_AP_STANBY_CON, (!pwrctrl->md32_req_mask << 21) | in spm_set_power_control()
162 (!pwrctrl->mfg_req_mask << 17) | in spm_set_power_control()
163 (!pwrctrl->disp_req_mask << 16) | in spm_set_power_control()
164 (!!pwrctrl->mcusys_idle_mask << 7) | in spm_set_power_control()
165 (!!pwrctrl->ca15top_idle_mask << 6) | in spm_set_power_control()
166 (!!pwrctrl->ca7top_idle_mask << 5) | in spm_set_power_control()
167 (!!pwrctrl->wfi_op << 4)); in spm_set_power_control()
168 mmio_write_32(SPM_PCM_SRC_REQ, (!!pwrctrl->pcm_apsrc_req << 0)); in spm_set_power_control()
172 (pwrctrl->srclkenai_mask ? CC_SRCLKENA_MASK_0 : 0)); in spm_set_power_control()
[all …]
H A Dspm_suspend.c244 struct pwr_ctrl *pwrctrl; in go_to_sleep_before_wfi() local
246 pwrctrl = &spm_ctrl; in go_to_sleep_before_wfi()
248 set_pwrctrl_pcm_flags(pwrctrl, flags_spm); in go_to_sleep_before_wfi()
253 pwrctrl->timer_val, pwrctrl->wake_src, in go_to_sleep_before_wfi()
254 is_cpu_pdn(pwrctrl->pcm_flags), in go_to_sleep_before_wfi()
255 is_infra_pdn(pwrctrl->pcm_flags)); in go_to_sleep_before_wfi()
259 spm_set_power_control(pwrctrl); in go_to_sleep_before_wfi()
260 spm_set_wakeup_event(pwrctrl); in go_to_sleep_before_wfi()
261 spm_kick_pcm_to_run(pwrctrl); in go_to_sleep_before_wfi()
H A Dspm_hotplug.c202 .pwrctrl = &hotplug_ctrl,
208 struct pwr_ctrl *pwrctrl = spm_hotplug.pwrctrl; in spm_go_to_hotplug() local
210 set_pwrctrl_pcm_flags(pwrctrl, 0); in spm_go_to_hotplug()
213 spm_set_power_control(pwrctrl); in spm_go_to_hotplug()
214 spm_set_wakeup_event(pwrctrl); in spm_go_to_hotplug()
215 spm_kick_pcm_to_run(pwrctrl); in spm_go_to_hotplug()
H A Dspm_mcdi.c233 .pwrctrl = &mcdi_ctrl,
453 struct pwr_ctrl *pwrctrl = spm_mcdi.pwrctrl; in spm_mcdi_prepare_for_mtcmos() local
458 set_pwrctrl_pcm_flags(pwrctrl, 0); in spm_mcdi_prepare_for_mtcmos()
461 spm_set_power_control(pwrctrl); in spm_mcdi_prepare_for_mtcmos()
462 spm_set_wakeup_event(pwrctrl); in spm_mcdi_prepare_for_mtcmos()
463 spm_kick_pcm_to_run(pwrctrl); in spm_mcdi_prepare_for_mtcmos()
471 struct pwr_ctrl *pwrctrl = spm_mcdi.pwrctrl; in spm_mcdi_prepare_for_off_state() local
477 set_pwrctrl_pcm_flags(pwrctrl, 0); in spm_mcdi_prepare_for_off_state()
480 spm_set_power_control(pwrctrl); in spm_mcdi_prepare_for_off_state()
481 spm_set_wakeup_event(pwrctrl); in spm_mcdi_prepare_for_off_state()
[all …]
H A Dspm.h275 struct pwr_ctrl *pwrctrl; member
291 static inline void set_pwrctrl_pcm_flags(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_flags() argument
296 if (pwrctrl->pcm_flags_cust == 0) in set_pwrctrl_pcm_flags()
297 pwrctrl->pcm_flags = flags; in set_pwrctrl_pcm_flags()
299 pwrctrl->pcm_flags = pwrctrl->pcm_flags_cust; in set_pwrctrl_pcm_flags()
302 static inline void set_pwrctrl_pcm_data(struct pwr_ctrl *pwrctrl, in set_pwrctrl_pcm_data() argument
305 pwrctrl->pcm_reserve = data; in set_pwrctrl_pcm_data()
311 void spm_set_power_control(const struct pwr_ctrl *pwrctrl);
312 void spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl);
316 void spm_kick_pcm_to_run(struct pwr_ctrl *pwrctrl);
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8189/constraints/
H A Dmt_spm_rc_vcore.c74 struct pwr_ctrl *pwrctrl; in spm_vcore_conduct() local
79 pwrctrl = spm_lp->pwrctrl; in spm_vcore_conduct()
81 pwrctrl->pcm_flags = CONSTRAINT_VCORE_PCM_FLAG; in spm_vcore_conduct()
82 pwrctrl->pcm_flags1 = CONSTRAINT_VCORE_PCM_FLAG1; in spm_vcore_conduct()
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/inc/
H A Dmt_spm_ver.h61 int (*fw_run)(unsigned int first, void *pwrctrl);
67 int spm_firmware_restart(unsigned int force, void *pwrctrl);

123