| .. | .. |
|---|
| 1 | | -/****************************************************************************** |
|---|
| 2 | | - * |
|---|
| 3 | | - * Copyright(c) 2009-2012 Realtek Corporation. |
|---|
| 4 | | - * |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or modify it |
|---|
| 6 | | - * under the terms of version 2 of the GNU General Public License as |
|---|
| 7 | | - * published by the Free Software Foundation. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is distributed in the hope that it will be useful, but WITHOUT |
|---|
| 10 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|---|
| 11 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|---|
| 12 | | - * more details. |
|---|
| 13 | | - * |
|---|
| 14 | | - * The full GNU General Public License is included in this distribution in the |
|---|
| 15 | | - * file called LICENSE. |
|---|
| 16 | | - * |
|---|
| 17 | | - * Contact Information: |
|---|
| 18 | | - * wlanfae <wlanfae@realtek.com> |
|---|
| 19 | | - * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, |
|---|
| 20 | | - * Hsinchu 300, Taiwan. |
|---|
| 21 | | - * |
|---|
| 22 | | - * Larry Finger <Larry.Finger@lwfinger.net> |
|---|
| 23 | | - * |
|---|
| 24 | | - *****************************************************************************/ |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | +/* Copyright(c) 2009-2012 Realtek Corporation.*/ |
|---|
| 25 | 3 | |
|---|
| 26 | 4 | #ifndef __RTL_BASE_H__ |
|---|
| 27 | 5 | #define __RTL_BASE_H__ |
|---|
| .. | .. |
|---|
| 68 | 46 | #define MAX_LISTEN_INTERVAL 10 |
|---|
| 69 | 47 | #define MAX_RATE_TRIES 4 |
|---|
| 70 | 48 | |
|---|
| 71 | | -#define SET_80211_HDR_FRAME_CONTROL(_hdr, _val) \ |
|---|
| 72 | | - WRITEEF2BYTE(_hdr, _val) |
|---|
| 73 | | -#define SET_80211_HDR_TYPE_AND_SUBTYPE(_hdr, _val) \ |
|---|
| 74 | | - WRITEEF1BYTE(_hdr, _val) |
|---|
| 75 | | -#define SET_80211_HDR_PWR_MGNT(_hdr, _val) \ |
|---|
| 76 | | - SET_BITS_TO_LE_2BYTE(_hdr, 12, 1, _val) |
|---|
| 77 | | -#define SET_80211_HDR_TO_DS(_hdr, _val) \ |
|---|
| 78 | | - SET_BITS_TO_LE_2BYTE(_hdr, 8, 1, _val) |
|---|
| 79 | | - |
|---|
| 80 | 49 | #define SET_80211_PS_POLL_AID(_hdr, _val) \ |
|---|
| 81 | 50 | (*(u16 *)((u8 *)(_hdr) + 2) = _val) |
|---|
| 82 | 51 | #define SET_80211_PS_POLL_BSSID(_hdr, _val) \ |
|---|
| .. | .. |
|---|
| 84 | 53 | #define SET_80211_PS_POLL_TA(_hdr, _val) \ |
|---|
| 85 | 54 | ether_addr_copy(((u8 *)(_hdr))+10, (u8 *)(_val)) |
|---|
| 86 | 55 | |
|---|
| 87 | | -#define SET_80211_HDR_DURATION(_hdr, _val) \ |
|---|
| 88 | | - (*(u16 *)((u8 *)(_hdr) + FRAME_OFFSET_DURATION) = le16_to_cpu(_val)) |
|---|
| 89 | 56 | #define SET_80211_HDR_ADDRESS1(_hdr, _val) \ |
|---|
| 90 | 57 | CP_MACADDR((u8 *)(_hdr)+FRAME_OFFSET_ADDRESS1, (u8 *)(_val)) |
|---|
| 91 | 58 | #define SET_80211_HDR_ADDRESS2(_hdr, _val) \ |
|---|
| 92 | 59 | CP_MACADDR((u8 *)(_hdr)+FRAME_OFFSET_ADDRESS2, (u8 *)(_val)) |
|---|
| 93 | 60 | #define SET_80211_HDR_ADDRESS3(_hdr, _val) \ |
|---|
| 94 | 61 | CP_MACADDR((u8 *)(_hdr)+FRAME_OFFSET_ADDRESS3, (u8 *)(_val)) |
|---|
| 95 | | -#define SET_80211_HDR_FRAGMENT_SEQUENCE(_hdr, _val) \ |
|---|
| 96 | | - WRITEEF2BYTE((u8 *)(_hdr)+FRAME_OFFSET_SEQUENCE, _val) |
|---|
| 97 | | - |
|---|
| 98 | | -#define SET_BEACON_PROBE_RSP_TIME_STAMP_LOW(__phdr, __val) \ |
|---|
| 99 | | - WRITEEF4BYTE(((u8 *)(__phdr)) + 24, __val) |
|---|
| 100 | | -#define SET_BEACON_PROBE_RSP_TIME_STAMP_HIGH(__phdr, __val) \ |
|---|
| 101 | | - WRITEEF4BYTE(((u8 *)(__phdr)) + 28, __val) |
|---|
| 102 | | -#define SET_BEACON_PROBE_RSP_BEACON_INTERVAL(__phdr, __val) \ |
|---|
| 103 | | - WRITEEF2BYTE(((u8 *)(__phdr)) + 32, __val) |
|---|
| 104 | | -#define GET_BEACON_PROBE_RSP_CAPABILITY_INFO(__phdr) \ |
|---|
| 105 | | - READEF2BYTE(((u8 *)(__phdr)) + 34) |
|---|
| 106 | | -#define SET_BEACON_PROBE_RSP_CAPABILITY_INFO(__phdr, __val) \ |
|---|
| 107 | | - WRITEEF2BYTE(((u8 *)(__phdr)) + 34, __val) |
|---|
| 108 | | -#define MASK_BEACON_PROBE_RSP_CAPABILITY_INFO(__phdr, __val) \ |
|---|
| 109 | | - SET_BEACON_PROBE_RSP_CAPABILITY_INFO(__phdr, \ |
|---|
| 110 | | - (GET_BEACON_PROBE_RSP_CAPABILITY_INFO(__phdr) & (~(__val)))) |
|---|
| 111 | 62 | |
|---|
| 112 | 63 | #define SET_TX_DESC_SPE_RPT(__pdesc, __val) \ |
|---|
| 113 | | - SET_BITS_TO_LE_4BYTE((__pdesc) + 8, 19, 1, __val) |
|---|
| 64 | + le32p_replace_bits((__le32 *)(__pdesc + 8), __val, BIT(19)) |
|---|
| 114 | 65 | #define SET_TX_DESC_SW_DEFINE(__pdesc, __val) \ |
|---|
| 115 | | - SET_BITS_TO_LE_4BYTE((__pdesc) + 24, 0, 12, __val) |
|---|
| 66 | + le32p_replace_bits((__le32 *)(__pdesc + 24), __val, GENMASK(11, 0)) |
|---|
| 116 | 67 | |
|---|
| 117 | 68 | int rtl_init_core(struct ieee80211_hw *hw); |
|---|
| 118 | 69 | void rtl_deinit_core(struct ieee80211_hw *hw); |
|---|
| .. | .. |
|---|
| 157 | 108 | int rtl_rx_agg_stop(struct ieee80211_hw *hw, |
|---|
| 158 | 109 | struct ieee80211_sta *sta, u16 tid); |
|---|
| 159 | 110 | void rtl_rx_ampdu_apply(struct rtl_priv *rtlpriv); |
|---|
| 160 | | -void rtl_watchdog_wq_callback(void *data); |
|---|
| 161 | | -void rtl_fwevt_wq_callback(void *data); |
|---|
| 162 | | -void rtl_c2hcmd_wq_callback(void *data); |
|---|
| 163 | 111 | void rtl_c2hcmd_launcher(struct ieee80211_hw *hw, int exec); |
|---|
| 164 | 112 | void rtl_c2hcmd_enqueue(struct ieee80211_hw *hw, struct sk_buff *skb); |
|---|
| 165 | 113 | |
|---|