xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/ssv6xxx/smac/ap.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright (c) 2015 South Silicon Valley Microelectronics Inc.
3  * Copyright (c) 2015 iComm Corporation
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12  * See the GNU General Public License for more details.
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef _AP_H_
18 #define _AP_H_
19 #define BEACON_WAITING_ENABLED 1<<0
20 #define BEACON_ENABLED 1<<1
21 void ssv6xxx_beacon_change(struct ssv_softc *sc, struct ieee80211_hw *hw, struct ieee80211_vif *vif, bool aid0_bit_set);
22 void ssv6xxx_beacon_set_info(struct ssv_softc *sc, u8 beacon_interval, u8 dtim_cnt);
23 bool ssv6xxx_beacon_enable(struct ssv_softc *sc, bool bEnable);
24 void ssv6xxx_beacon_release(struct ssv_softc *sc);
25 void ssv6200_set_tim_work(struct work_struct *work);
26 void ssv6200_bcast_start_work(struct work_struct *work);
27 void ssv6200_bcast_stop_work(struct work_struct *work);
28 void ssv6200_bcast_tx_work(struct work_struct *work);
29 int ssv6200_bcast_queue_len(struct ssv6xxx_bcast_txq *bcast_txq);
30 struct sk_buff* ssv6200_bcast_dequeue(struct ssv6xxx_bcast_txq *bcast_txq, u8 *remain_len);
31 int ssv6200_bcast_enqueue(struct ssv_softc *sc, struct ssv6xxx_bcast_txq *bcast_txq, struct sk_buff *skb);
32 void ssv6200_bcast_start(struct ssv_softc *sc);
33 void ssv6200_bcast_stop(struct ssv_softc *sc);
34 void ssv6200_release_bcast_frame_res(struct ssv_softc *sc, struct ieee80211_vif *vif);
35 #endif
36