Commit f73b279c authored by Chaoming_Li's avatar Chaoming_Li Committed by John W. Linville

rtlwifi: rtl8192ce: Change hw routine for addition of rtl8192se and rtl8192de

Change rtl8192ce hw routine for addition of RTL8192SE and RTL8192DE.
Signed-off-by: default avatarChaoming_Li <chaoming_li@realsil.com.cn>
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c07ccff3
...@@ -121,19 +121,6 @@ ...@@ -121,19 +121,6 @@
#define CHIP_92C 0x01 #define CHIP_92C 0x01
#define CHIP_88C 0x00 #define CHIP_88C 0x00
/* Add vendor information into chip version definition.
* Add UMC B-Cut and RTL8723 chip info definition.
*
* BIT 7 Reserved
* BIT 6 UMC BCut
* BIT 5 Manufacturer(TSMC/UMC)
* BIT 4 TEST/NORMAL
* BIT 3 8723 Version
* BIT 2 8723?
* BIT 1 1T2R?
* BIT 0 88C/92C
*/
enum version_8192c { enum version_8192c {
VERSION_A_CHIP_92C = 0x01, VERSION_A_CHIP_92C = 0x01,
VERSION_A_CHIP_88C = 0x00, VERSION_A_CHIP_88C = 0x00,
...@@ -280,20 +267,6 @@ struct h2c_cmd_8192c { ...@@ -280,20 +267,6 @@ struct h2c_cmd_8192c {
u8 *p_cmdbuffer; u8 *p_cmdbuffer;
}; };
static inline u8 _rtl92c_get_chnl_group(u8 chnl)
{
u8 group = 0;
if (chnl < 3)
group = 0;
else if (chnl < 9)
group = 1;
else
group = 2;
return group;
}
/* NOTE: reference to rtl8192c_rates struct */ /* NOTE: reference to rtl8192c_rates struct */
static inline int _rtl92c_rate_mapping(struct ieee80211_hw *hw, bool isHT, static inline int _rtl92c_rate_mapping(struct ieee80211_hw *hw, bool isHT,
u8 desc_rate, bool first_ampdu) u8 desc_rate, bool first_ampdu)
......
This diff is collapsed.
...@@ -30,7 +30,18 @@ ...@@ -30,7 +30,18 @@
#ifndef __RTL92CE_HW_H__ #ifndef __RTL92CE_HW_H__
#define __RTL92CE_HW_H__ #define __RTL92CE_HW_H__
#define H2C_RA_MASK 6 static inline u8 _rtl92c_get_chnl_group(u8 chnl)
{
u8 group;
if (chnl < 3)
group = 0;
else if (chnl < 9)
group = 1;
else
group = 2;
return group;
}
void rtl92ce_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val); void rtl92ce_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
void rtl92ce_read_eeprom_info(struct ieee80211_hw *hw); void rtl92ce_read_eeprom_info(struct ieee80211_hw *hw);
...@@ -41,28 +52,27 @@ void rtl92ce_card_disable(struct ieee80211_hw *hw); ...@@ -41,28 +52,27 @@ void rtl92ce_card_disable(struct ieee80211_hw *hw);
void rtl92ce_enable_interrupt(struct ieee80211_hw *hw); void rtl92ce_enable_interrupt(struct ieee80211_hw *hw);
void rtl92ce_disable_interrupt(struct ieee80211_hw *hw); void rtl92ce_disable_interrupt(struct ieee80211_hw *hw);
int rtl92ce_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type); int rtl92ce_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type);
void rtl92ce_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid);
void rtl92ce_set_qos(struct ieee80211_hw *hw, int aci); void rtl92ce_set_qos(struct ieee80211_hw *hw, int aci);
void rtl92ce_set_beacon_related_registers(struct ieee80211_hw *hw); void rtl92ce_set_beacon_related_registers(struct ieee80211_hw *hw);
void rtl92ce_set_beacon_interval(struct ieee80211_hw *hw); void rtl92ce_set_beacon_interval(struct ieee80211_hw *hw);
void rtl92ce_update_interrupt_mask(struct ieee80211_hw *hw, void rtl92ce_update_interrupt_mask(struct ieee80211_hw *hw,
u32 add_msr, u32 rm_msr); u32 add_msr, u32 rm_msr);
void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val); void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
void rtl92ce_update_hal_rate_table(struct ieee80211_hw *hw); void rtl92ce_update_hal_rate_tbl(struct ieee80211_hw *hw,
void rtl92ce_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level); struct ieee80211_sta *sta, u8 rssi_level);
void rtl92ce_update_channel_access_setting(struct ieee80211_hw *hw); void rtl92ce_update_channel_access_setting(struct ieee80211_hw *hw);
bool rtl92ce_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid); bool rtl92ce_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 *valid);
void rtl92ce_enable_hw_security_config(struct ieee80211_hw *hw); void rtl92ce_enable_hw_security_config(struct ieee80211_hw *hw);
void rtl92ce_set_key(struct ieee80211_hw *hw, u32 key_index, void rtl92ce_set_key(struct ieee80211_hw *hw, u32 key_index,
u8 *p_macaddr, bool is_group, u8 enc_algo, u8 *p_macaddr, bool is_group, u8 enc_algo,
bool is_wepkey, bool clear_all); bool is_wepkey, bool clear_all);
bool _rtl92ce_phy_config_mac_with_headerfile(struct ieee80211_hw *hw);
void rtl92c_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished); void rtl8192ce_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw,
void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode); bool autoload_fail, u8 *hwinfo);
void rtl92c_set_fw_joinbss_report_cmd(struct ieee80211_hw *hw, u8 mstatus); void rtl8192ce_bt_reg_init(struct ieee80211_hw *hw);
int rtl92c_download_fw(struct ieee80211_hw *hw); void rtl8192ce_bt_hw_init(struct ieee80211_hw *hw);
void rtl92c_firmware_selfreset(struct ieee80211_hw *hw); void rtl92ce_suspend(struct ieee80211_hw *hw);
void rtl92c_fill_h2c_cmd(struct ieee80211_hw *hw, void rtl92ce_resume(struct ieee80211_hw *hw);
u8 element_id, u32 cmd_len, u8 *p_cmdbuffer);
bool rtl92ce_phy_mac_config(struct ieee80211_hw *hw);
#endif #endif
...@@ -112,10 +112,12 @@ static struct rtl_hal_ops rtl8192ce_hal_ops = { ...@@ -112,10 +112,12 @@ static struct rtl_hal_ops rtl8192ce_hal_ops = {
.update_interrupt_mask = rtl92ce_update_interrupt_mask, .update_interrupt_mask = rtl92ce_update_interrupt_mask,
.get_hw_reg = rtl92ce_get_hw_reg, .get_hw_reg = rtl92ce_get_hw_reg,
.set_hw_reg = rtl92ce_set_hw_reg, .set_hw_reg = rtl92ce_set_hw_reg,
#if 0 /* temporary */
.update_rate_table = rtl92ce_update_hal_rate_table, .update_rate_table = rtl92ce_update_hal_rate_table,
.update_rate_mask = rtl92ce_update_hal_rate_mask, .update_rate_mask = rtl92ce_update_hal_rate_mask,
.fill_tx_desc = rtl92ce_tx_fill_desc, .fill_tx_desc = rtl92ce_tx_fill_desc,
.fill_tx_cmddesc = rtl92ce_tx_fill_cmddesc, .fill_tx_cmddesc = rtl92ce_tx_fill_cmddesc,
#endif
.query_rx_desc = rtl92ce_rx_query_desc, .query_rx_desc = rtl92ce_rx_query_desc,
.set_channel_access = rtl92ce_update_channel_access_setting, .set_channel_access = rtl92ce_update_channel_access_setting,
.radio_onoff_checking = rtl92ce_gpio_radio_on_off_checking, .radio_onoff_checking = rtl92ce_gpio_radio_on_off_checking,
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
#include "trx.h" #include "trx.h"
#include "led.h" #include "led.h"
#include "table.h" #include "table.h"
#include "../rtl8192ce/hw.h"
static void _rtl92cu_phy_param_tab_init(struct ieee80211_hw *hw) static void _rtl92cu_phy_param_tab_init(struct ieee80211_hw *hw)
{ {
......
...@@ -104,7 +104,7 @@ void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level); ...@@ -104,7 +104,7 @@ void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level);
void rtl92cu_update_channel_access_setting(struct ieee80211_hw *hw); void rtl92cu_update_channel_access_setting(struct ieee80211_hw *hw);
bool rtl92cu_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 * valid); bool rtl92cu_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 * valid);
void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid); void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid);
u8 _rtl92c_get_chnl_group(u8 chnl); static u8 _rtl92c_get_chnl_group(u8 chnl);
int rtl92c_download_fw(struct ieee80211_hw *hw); int rtl92c_download_fw(struct ieee80211_hw *hw);
void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode); void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode);
void rtl92c_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool dl_finished); void rtl92c_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool dl_finished);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment