diff options
author | Ping-Ke Shih <pkshih@realtek.com> | 2017-09-29 22:47:53 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2017-10-13 12:43:38 +0300 |
commit | 0c07bd7457607b2bf846824424e78703c27ffd92 (patch) | |
tree | 732b630955d4f3f2b544647b3c818a6b0bbd93e1 /drivers/net/wireless/realtek/rtlwifi/wifi.h | |
parent | ecf4000e0d925c6ba074d11801df4a4cdd8d5324 (diff) | |
download | linux-0c07bd7457607b2bf846824424e78703c27ffd92.tar.xz |
rtlwifi: rtl8192ee: Make driver support 64bits DMA.
1. Both 32-bit and 64-bit use the same TX/RX buffer desc layout
2. Extend set_desc() and get_desc() to set and get 64-bit address
3. Remove directive DMA_IS_64BIT
4. Add module parameter to turn on 64-bit dma
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Yan-Hsuan Chuang <yhchuang@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/realtek/rtlwifi/wifi.h')
-rw-r--r-- | drivers/net/wireless/realtek/rtlwifi/wifi.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h index 90e875beff66..809648d28f52 100644 --- a/drivers/net/wireless/realtek/rtlwifi/wifi.h +++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h @@ -169,7 +169,7 @@ enum rtl8192c_h2c_cmd { #define MAX_BASE_NUM_IN_PHY_REG_PG_24G 6 #define MAX_BASE_NUM_IN_PHY_REG_PG_5G 5 -#define RTL8192EE_SEG_NUM 1 /* 0:2 seg, 1: 4 seg, 2: 8 seg */ +#define BUFDESC_SEG_NUM 1 /* 0:2 seg, 1: 4 seg, 2: 8 seg */ #define DEL_SW_IDX_SZ 30 #define BAND_NUM 3 @@ -177,8 +177,7 @@ enum rtl8192c_h2c_cmd { /* For now, it's just for 8192ee * but not OK yet, keep it 0 */ -#define DMA_IS_64BIT 0 -#define RTL8192EE_SEG_NUM 1 /* 0:2 seg, 1: 4 seg, 2: 8 seg */ +#define RTL8192EE_SEG_NUM BUFDESC_SEG_NUM enum rf_tx_num { RF_1TX = 0, @@ -2162,7 +2161,8 @@ struct rtl_hal_ops { enum led_ctl_mode ledaction); void (*set_desc)(struct ieee80211_hw *hw, u8 *pdesc, bool istx, u8 desc_name, u8 *val); - u32 (*get_desc) (u8 *pdesc, bool istx, u8 desc_name); + u64 (*get_desc)(struct ieee80211_hw *hw, u8 *pdesc, bool istx, + u8 desc_name); bool (*is_tx_desc_closed) (struct ieee80211_hw *hw, u8 hw_queue, u16 index); void (*tx_polling) (struct ieee80211_hw *hw, u8 hw_queue); @@ -2261,6 +2261,9 @@ struct rtl_mod_params { */ bool msi_support; + /* default: 0 = dma 32 */ + bool dma64; + /* default 0: 1 means disable */ bool disable_watchdog; |