Remove PS related *_irqsafe functions to avoid entering/leaving PS under interrupt context. Instead, make PS decision in watch_dog. This could simplify the logic and make the code look clean. But it could have a little side-effect that if the driver is having heavy traffic before the every-2-second watch_dog detect the traffic and decide to leave PS, the thoughput will be lower. Once traffic is detected by watch_dog and left PS state, the throughput will resume to the peak the hardware ought to have again. Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
18 lines
449 B
C
18 lines
449 B
C
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
|
/* Copyright(c) 2018-2019 Realtek Corporation
|
|
*/
|
|
|
|
#ifndef __RTW_PS_H_
|
|
#define __RTW_PS_H_
|
|
|
|
#define RTW_LPS_THRESHOLD 2
|
|
|
|
int rtw_enter_ips(struct rtw_dev *rtwdev);
|
|
int rtw_leave_ips(struct rtw_dev *rtwdev);
|
|
|
|
void rtw_enter_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
|
|
void rtw_leave_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
|
|
bool rtw_in_lps(struct rtw_dev *rtwdev);
|
|
|
|
#endif
|