1e3037485SYan-Hsuan Chuang /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2e3037485SYan-Hsuan Chuang /* Copyright(c) 2018-2019  Realtek Corporation
3e3037485SYan-Hsuan Chuang  */
4e3037485SYan-Hsuan Chuang 
5e3037485SYan-Hsuan Chuang #ifndef __RTW_PS_H_
6e3037485SYan-Hsuan Chuang #define __RTW_PS_H_
7e3037485SYan-Hsuan Chuang 
8e3037485SYan-Hsuan Chuang #define RTW_LPS_THRESHOLD	2
9e3037485SYan-Hsuan Chuang 
10e3037485SYan-Hsuan Chuang int rtw_enter_ips(struct rtw_dev *rtwdev);
11e3037485SYan-Hsuan Chuang int rtw_leave_ips(struct rtw_dev *rtwdev);
12e3037485SYan-Hsuan Chuang 
13e3037485SYan-Hsuan Chuang void rtw_lps_work(struct work_struct *work);
14e3037485SYan-Hsuan Chuang void rtw_enter_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
15e3037485SYan-Hsuan Chuang void rtw_leave_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
16e3037485SYan-Hsuan Chuang void rtw_enter_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
17e3037485SYan-Hsuan Chuang void rtw_leave_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
18e3037485SYan-Hsuan Chuang bool rtw_in_lps(struct rtw_dev *rtwdev);
19e3037485SYan-Hsuan Chuang 
20e3037485SYan-Hsuan Chuang #endif
21