aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8187se
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/rtl8187se')
-rw-r--r--drivers/staging/rtl8187se/Kconfig3
-rw-r--r--drivers/staging/rtl8187se/Makefile4
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c1
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c6
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c1
-rw-r--r--drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c1
-rw-r--r--drivers/staging/rtl8187se/r8180.h20
-rw-r--r--drivers/staging/rtl8187se/r8180_core.c258
-rw-r--r--drivers/staging/rtl8187se/r8180_dm.c13
-rw-r--r--drivers/staging/rtl8187se/r8180_rtl8225z2.c101
-rw-r--r--drivers/staging/rtl8187se/r8180_wx.c2
-rw-r--r--drivers/staging/rtl8187se/r8185b_init.c33
12 files changed, 109 insertions, 334 deletions
diff --git a/drivers/staging/rtl8187se/Kconfig b/drivers/staging/rtl8187se/Kconfig
index 3211dd3765a..e24a6f7a0d8 100644
--- a/drivers/staging/rtl8187se/Kconfig
+++ b/drivers/staging/rtl8187se/Kconfig
@@ -1,7 +1,8 @@
-config RTL8187SE
+config R8187SE
tristate "RealTek RTL8187SE Wireless LAN NIC driver"
depends on PCI && WLAN
select WIRELESS_EXT
select WEXT_PRIV
default N
---help---
+ If built as a module, it will be called r8187se.ko.
diff --git a/drivers/staging/rtl8187se/Makefile b/drivers/staging/rtl8187se/Makefile
index ac35cffe5d4..b395acf5a38 100644
--- a/drivers/staging/rtl8187se/Makefile
+++ b/drivers/staging/rtl8187se/Makefile
@@ -16,7 +16,7 @@ EXTRA_CFLAGS += -DENABLE_LPS
#EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y
-rtl8187se-objs := \
+r8187se-objs := \
r8180_core.o \
r8180_93cx6.o \
r8180_wx.o \
@@ -35,5 +35,5 @@ rtl8187se-objs := \
ieee80211/ieee80211_crypt_ccmp.o \
ieee80211/ieee80211_crypt_wep.o
-obj-$(CONFIG_RTL8187SE) += rtl8187se.o
+obj-$(CONFIG_R8187SE) += r8187se.o
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c
index 5e2e79b1e34..f882dd8cf9b 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c
@@ -37,7 +37,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
index 334e4c7ec61..1fe19c39d70 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
@@ -1837,7 +1837,7 @@ ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
if (((ieee->current_network.wmm_info^info_element->data[6])& \
0x0f)||(!ieee->init_wmmparam_flag)) {
- //refresh paramete element for current network
+ // refresh parameter element for current network
// update the register parameter for hardware
ieee->init_wmmparam_flag = 1;
queue_work(ieee->wq, &ieee->wmm_param_update_wq);
@@ -1958,10 +1958,10 @@ associate_complete:
* care of the ieee802.11 fragmentation.
* So the driver receives a fragment per time and might
* call the stop function when it want without take care
- * to have enought room to TX an entire packet.
+ * to have enough room to TX an entire packet.
* This might be useful if each fragment need it's own
* descriptor, thus just keep a total free memory > than
- * the max fragmentation treshold is not enought.. If the
+ * the max fragmentation threshold is not enough.. If the
* ieee802.11 stack passed a TXB struct then you needed
* to keep N free descriptors where
* N = MAX_PACKET_SIZE / MIN_FRAG_TRESHOLD
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c
index e2945db6179..dde1f2e0cf3 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c
@@ -47,7 +47,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
index a08b97a0951..6aad48fe2e1 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
@@ -30,7 +30,6 @@
******************************************************************************/
#include <linux/wireless.h>
-#include <linux/version.h>
#include <linux/kmod.h>
#include <linux/module.h>
diff --git a/drivers/staging/rtl8187se/r8180.h b/drivers/staging/rtl8187se/r8180.h
index 35ed60be891..ce828885b64 100644
--- a/drivers/staging/rtl8187se/r8180.h
+++ b/drivers/staging/rtl8187se/r8180.h
@@ -77,21 +77,6 @@ typedef enum _WIRELESS_MODE {
WIRELESS_MODE_AUTO = 0x08,
} WIRELESS_MODE;
-typedef enum _VERSION_8185{
- // RTL8185
- VERSION_8185_UNKNOWN,
- VERSION_8185_C, // C-cut
- VERSION_8185_D, // D-cut
- // RTL8185B
- VERSION_8185B_B, // B-cut
- VERSION_8185B_D, // D-cut
- VERSION_8185B_E, // E-cut
- //RTL8187S-PCIE
- VERSION_8187S_B, // B-cut
- VERSION_8187S_C, // C-cut
- VERSION_8187S_D, // D-cut
-
-}VERSION_8185,*PVERSION_8185;
typedef struct ChnlAccessSetting {
u16 SIFS_Timer;
u16 DIFS_Timer;
@@ -341,11 +326,8 @@ typedef struct r8180_priv
int irq;
struct ieee80211_device *ieee80211;
- short card_8185; /* O: rtl8180, 1:rtl8185 V B/C, 2:rtl8185 V D, 3:rtl8185B */
- short card_8185_Bversion; /* if TCR reports card V B/C this discriminates */
short phy_ver; /* meaningful for rtl8225 1:A 2:B 3:C */
short enable_gpio0;
- enum card_type {PCI,MINIPCI,CARDBUS,USB/*rtl8187*/}card_type;
short hw_plcp_len;
short plcp_preamble_mode; // 0:auto 1:short 2:long
@@ -599,7 +581,7 @@ typedef struct r8180_priv
u8 RSSI;
char RxPower;
u8 InitialGain;
- //For adjust Dig Threshhold during Legacy/Leisure Power Save Mode
+ //For adjust Dig Threshold during Legacy/Leisure Power Save Mode
u32 DozePeriodInPast2Sec;
// Don't access BB/RF under disable PLL situation.
u8 InitialGainBackUp;
diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c
index 53e654d0d4f..57c62b0a402 100644
--- a/drivers/staging/rtl8187se/r8180_core.c
+++ b/drivers/staging/rtl8187se/r8180_core.c
@@ -886,8 +886,6 @@ void rtl8180_rx_enable(struct net_device *dev)
rxconf = rxconf | (1<<ACCEPT_ALLMAC_FRAME_SHIFT);
}else{
rxconf = rxconf | (1<<ACCEPT_NICMAC_FRAME_SHIFT);
- if(priv->card_8185 == 0)
- rxconf = rxconf | (1<<RX_CHECK_BSSID_SHIFT);
}
if(priv->ieee80211->iw_mode == IW_MODE_MONITOR){
@@ -910,9 +908,6 @@ void rtl8180_rx_enable(struct net_device *dev)
rxconf = rxconf &~ RCR_CS_MASK;
- if (!priv->card_8185)
- rxconf |= (priv->rcr_csense<<RCR_CS_SHIFT);
-
write_nic_dword(dev, RX_CONF, rxconf);
fix_rx_fifo(dev);
@@ -964,28 +959,19 @@ void rtl8180_tx_enable(struct net_device *dev)
txconf = read_nic_dword(dev, TX_CONF);
- if (priv->card_8185) {
- byte = read_nic_byte(dev,CW_CONF);
- byte &= ~(1<<CW_CONF_PERPACKET_CW_SHIFT);
- byte &= ~(1<<CW_CONF_PERPACKET_RETRY_SHIFT);
- write_nic_byte(dev, CW_CONF, byte);
-
- tx_agc_ctl = read_nic_byte(dev, TX_AGC_CTL);
- tx_agc_ctl &= ~(1<<TX_AGC_CTL_PERPACKET_GAIN_SHIFT);
- tx_agc_ctl &= ~(1<<TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT);
- tx_agc_ctl |=(1<<TX_AGC_CTL_FEEDBACK_ANT);
- write_nic_byte(dev, TX_AGC_CTL, tx_agc_ctl);
- write_nic_byte(dev, 0xec, 0x3f); /* Disable early TX */
- }
+ byte = read_nic_byte(dev, CW_CONF);
+ byte &= ~(1<<CW_CONF_PERPACKET_CW_SHIFT);
+ byte &= ~(1<<CW_CONF_PERPACKET_RETRY_SHIFT);
+ write_nic_byte(dev, CW_CONF, byte);
- if (priv->card_8185)
- txconf = txconf &~ (1<<TCR_PROBE_NOTIMESTAMP_SHIFT);
- else {
- if(hwseqnum)
- txconf= txconf &~ (1<<TX_CONF_HEADER_AUTOICREMENT_SHIFT);
- else
- txconf= txconf | (1<<TX_CONF_HEADER_AUTOICREMENT_SHIFT);
- }
+ tx_agc_ctl = read_nic_byte(dev, TX_AGC_CTL);
+ tx_agc_ctl &= ~(1<<TX_AGC_CTL_PERPACKET_GAIN_SHIFT);
+ tx_agc_ctl &= ~(1<<TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT);
+ tx_agc_ctl |= (1<<TX_AGC_CTL_FEEDBACK_ANT);
+ write_nic_byte(dev, TX_AGC_CTL, tx_agc_ctl);
+ write_nic_byte(dev, 0xec, 0x3f); /* Disable early TX */
+
+ txconf = txconf & ~(1<<TCR_PROBE_NOTIMESTAMP_SHIFT);
txconf = txconf &~ TX_LOOPBACK_MASK;
txconf = txconf | (TX_LOOPBACK_NONE <<TX_LOOPBACK_SHIFT);
@@ -995,13 +981,10 @@ void rtl8180_tx_enable(struct net_device *dev)
txconf = txconf | (priv->retry_rts<<TX_RTSRETRY_SHIFT);
txconf = txconf &~ (1<<TX_NOCRC_SHIFT);
- if (priv->card_8185) {
- if (priv->hw_plcp_len)
- txconf = txconf &~ TCR_PLCP_LEN;
- else
- txconf = txconf | TCR_PLCP_LEN;
- } else
- txconf = txconf &~ TCR_SAT;
+ if (priv->hw_plcp_len)
+ txconf = txconf & ~TCR_PLCP_LEN;
+ else
+ txconf = txconf | TCR_PLCP_LEN;
txconf = txconf &~ TCR_MXDMA_MASK;
txconf = txconf | (TCR_MXDMA_2048<<TCR_MXDMA_SHIFT);
@@ -1720,8 +1703,6 @@ void rtl8180_rx(struct net_device *dev)
else
quality = 127 - quality;
priv->SignalQuality = quality;
- if(!priv->card_8185)
- printk("check your card type\n");
stats.signal = (u8)quality;//priv->wstats.qual.level = priv->SignalStrength;
stats.signalstrength = RXAGC;
@@ -1848,7 +1829,7 @@ void rtl8180_rx(struct net_device *dev)
sizeof(u8),
PCI_DMA_FROMDEVICE);
-drop: // this is used when we have not enought mem
+drop: // this is used when we have not enough mem
/* restore the descriptor */
*(priv->rxringtail+2)=priv->rxbuffer->dma;
*(priv->rxringtail)=*(priv->rxringtail) &~ 0xfff;
@@ -1919,8 +1900,8 @@ rate)
/*
* This function doesn't require lock because we make
* sure it's called with the tx_lock already acquired.
- * this come from the kernel's hard_xmit callback (trought
- * the ieee stack, or from the try_wake_queue (again trought
+ * this come from the kernel's hard_xmit callback (through
+ * the ieee stack, or from the try_wake_queue (again through
* the ieee stack.
*/
priority = AC2Q(skb->priority);
@@ -2221,10 +2202,8 @@ short rtl8180_tx(struct net_device *dev, u8* txbuf, int len, int priority,
*(tail+6) = 0;
*(tail+7) = 0;
- if(priv->card_8185){
- //FIXME: this should be triggered by HW encryption parameters.
- *tail |= (1<<15); //no encrypt
- }
+ /*FIXME: this should be triggered by HW encryption parameters.*/
+ *tail |= (1<<15); /* no encrypt */
if(remain==len && !descfrag) {
ownbit_flag = false; //added by david woo,2007.12.14
@@ -2266,7 +2245,7 @@ short rtl8180_tx(struct net_device *dev, u8* txbuf, int len, int priority,
/* hw_plcp_len is not used for rtl8180 chip */
/* FIXME */
- if(priv->card_8185 == 0 || !priv->hw_plcp_len){
+ if (!priv->hw_plcp_len) {
duration = rtl8180_len2duration(len, rate, &ext);
*(tail+1) = *(tail+1) | ((duration & 0x7fff)<<16);
if(ext) *(tail+1) = *(tail+1) |(1<<31); //plcp length extension
@@ -2355,8 +2334,7 @@ void rtl8180_link_change(struct net_device *dev)
rtl8180_set_mode(dev, EPROM_CMD_NORMAL);
- if(priv->card_8185)
- rtl8180_set_chan(dev, priv->chan);
+ rtl8180_set_chan(dev, priv->chan);
}
void rtl8180_rq_tx_ack(struct net_device *dev){
@@ -2702,8 +2680,6 @@ short rtl8180_init(struct net_device *dev)
struct r8180_priv *priv = ieee80211_priv(dev);
u16 word;
u16 version;
- u8 hw_version;
- //u8 config3;
u32 usValue;
u16 tmpu16;
int i, j;
@@ -2928,50 +2904,13 @@ short rtl8180_init(struct net_device *dev)
priv->InitialGain = 6;
- hw_version =( read_nic_dword(dev, TCR) & TCR_HWVERID_MASK)>>TCR_HWVERID_SHIFT;
-
- switch (hw_version){
- case HW_VERID_R8185B_B:
- priv->card_8185 = VERSION_8187S_C;
- DMESG("MAC controller is a RTL8187SE b/g");
- priv->phy_ver = 2;
- break;
- case HW_VERID_R8185_ABC:
- DMESG("MAC controller is a RTL8185 b/g");
- priv->card_8185 = 1;
- /* you should not find a card with 8225 PHY ver < C*/
- priv->phy_ver = 2;
- break;
- case HW_VERID_R8185_D:
- DMESG("MAC controller is a RTL8185 b/g (V. D)");
- priv->card_8185 = 2;
- /* you should not find a card with 8225 PHY ver < C*/
- priv->phy_ver = 2;
- break;
- case HW_VERID_R8180_ABCD:
- DMESG("MAC controller is a RTL8180");
- priv->card_8185 = 0;
- break;
- case HW_VERID_R8180_F:
- DMESG("MAC controller is a RTL8180 (v. F)");
- priv->card_8185 = 0;
- break;
- default:
- DMESGW("MAC chip not recognized: version %x. Assuming RTL8180",hw_version);
- priv->card_8185 = 0;
- break;
- }
+ DMESG("MAC controller is a RTL8187SE b/g");
+ priv->phy_ver = 2;
- if(priv->card_8185){
- priv->ieee80211->modulation |= IEEE80211_OFDM_MODULATION;
- priv->ieee80211->short_slot = 1;
- }
- /* you should not found any 8185 Ver B Card */
- priv->card_8185_Bversion = 0;
+ priv->ieee80211->modulation |= IEEE80211_OFDM_MODULATION;
+ priv->ieee80211->short_slot = 1;
// just for sync 85
- priv->card_type = PCI;
- DMESG("This is a PCI NIC");
priv->enable_gpio0 = 0;
usValue = eprom_read(dev, EEPROM_SW_REVD_OFFSET);
@@ -3026,12 +2965,10 @@ short rtl8180_init(struct net_device *dev)
priv->chtxpwr[i]=word & 0xff;
priv->chtxpwr[i+1]=(word & 0xff00)>>8;
}
- if(priv->card_8185){
- for(i=1,j=0; i<14; i+=2,j++){
- word = eprom_read(dev,EPROM_TXPW_OFDM_CH1_2 + j);
- priv->chtxpwr_ofdm[i]=word & 0xff;
- priv->chtxpwr_ofdm[i+1]=(word & 0xff00)>>8;
- }
+ for (i = 1, j = 0; i < 14; i += 2, j++) {
+ word = eprom_read(dev, EPROM_TXPW_OFDM_CH1_2 + j);
+ priv->chtxpwr_ofdm[i] = word & 0xff;
+ priv->chtxpwr_ofdm[i+1] = (word & 0xff00)>>8;
}
//3Read crystal calibtration and thermal meter indication on 87SE.
@@ -3057,37 +2994,11 @@ short rtl8180_init(struct net_device *dev)
version = eprom_read(dev,EPROM_VERSION);
DMESG("EEPROM version %x",version);
- if( (!priv->card_8185) && version < 0x0101){
- DMESG ("EEPROM version too old, assuming defaults");
- DMESG ("If you see this message *plase* send your \
-DMESG output to andreamrl@tiscali.it THANKS");
- priv->digphy=1;
- priv->antb=0;
- priv->diversity=1;
- priv->cs_treshold=0xc;
- priv->rcr_csense=1;
- priv->rf_chip=RFCHIPID_PHILIPS;
- }else{
- if(!priv->card_8185){
- u8 rfparam = eprom_read(dev,RF_PARAM);
- DMESG("RfParam: %x",rfparam);
+ priv->rcr_csense = 3;
- priv->digphy = rfparam & (1<<RF_PARAM_DIGPHY_SHIFT) ? 0:1;
- priv->antb = rfparam & (1<<RF_PARAM_ANTBDEFAULT_SHIFT) ? 1:0;
+ priv->cs_treshold = (eprom_read(dev, ENERGY_TRESHOLD) & 0xff00) >> 8;
- priv->rcr_csense = (rfparam & RF_PARAM_CARRIERSENSE_MASK) >>
- RF_PARAM_CARRIERSENSE_SHIFT;
-
- priv->diversity =
- (read_nic_byte(dev,CONFIG2)&(1<<CONFIG2_ANTENNA_SHIFT)) ? 1:0;
- }else{
- priv->rcr_csense = 3;
- }
-
- priv->cs_treshold = (eprom_read(dev,ENERGY_TRESHOLD)&0xff00) >>8;
-
- priv->rf_chip = 0xff & eprom_read(dev,RFCHIPID);
- }
+ priv->rf_chip = 0xff & eprom_read(dev, RFCHIPID);
priv->rf_chip = RF_ZEBRA4;
priv->rf_sleep = rtl8225z4_rf_sleep;
@@ -3099,19 +3010,6 @@ DMESG output to andreamrl@tiscali.it THANKS");
priv->rf_set_chan = rtl8225z2_rf_set_chan;
priv->rf_set_sens = NULL;
- if(!priv->card_8185){
- if(priv->antb)
- DMESG ("Antenna B is default antenna");
- else
- DMESG ("Antenna A is default antenna");
-
- if(priv->diversity)
- DMESG ("Antenna diversity is enabled");
- else
- DMESG("Antenna diversity is disabled");
-
- DMESG("Carrier sense %d",priv->rcr_csense);
- }
if (0!=alloc_rx_desc_ring(dev, priv->rxbuffersize, priv->rxringcount))
return -ENOMEM;
@@ -3144,17 +3042,6 @@ DMESG output to andreamrl@tiscali.it THANKS");
TX_BEACON_RING_ADDR))
return -ENOMEM;
- if(!priv->card_8185){
- if(read_nic_byte(dev, CONFIG0) & (1<<CONFIG0_WEP40_SHIFT))
- DMESG ("40-bit WEP is supported in hardware");
- else
- DMESG ("40-bit WEP is NOT supported in hardware");
-
- if(read_nic_byte(dev,CONFIG0) & (1<<CONFIG0_WEP104_SHIFT))
- DMESG ("104-bit WEP is supported in hardware");
- else
- DMESG ("104-bit WEP is NOT supported in hardware");
- }
#if !defined(SA_SHIRQ)
if(request_irq(dev->irq, (void *)rtl8180_interrupt, IRQF_SHARED, dev->name, dev)){
#else
@@ -3172,17 +3059,6 @@ DMESG output to andreamrl@tiscali.it THANKS");
void rtl8180_no_hw_wep(struct net_device *dev)
{
- struct r8180_priv *priv = ieee80211_priv(dev);
-
- if (!priv->card_8185) {
- u8 security;
-
- security = read_nic_byte(dev, SECURITY);
- security &=~(1<<SECURITY_WEP_TX_ENABLE_SHIFT);
- security &=~(1<<SECURITY_WEP_RX_ENABLE_SHIFT);
-
- write_nic_byte(dev, SECURITY, security);
- }
}
void rtl8180_set_hw_wep(struct net_device *dev)
@@ -3355,9 +3231,6 @@ void rtl8185_set_rate(struct net_device *dev)
void rtl8180_adapter_start(struct net_device *dev)
{
struct r8180_priv *priv = ieee80211_priv(dev);
- u32 anaparam;
- u16 word;
- u8 config3;
rtl8180_rtx_disable(dev);
rtl8180_reset(dev);
@@ -3371,12 +3244,6 @@ void rtl8180_adapter_start(struct net_device *dev)
rtl8180_beacon_tx_disable(dev);
- if(priv->card_type == CARDBUS ){
- config3=read_nic_byte(dev, CONFIG3);
- write_nic_byte(dev,CONFIG3,config3 | CONFIG3_FuncRegEn);
- write_nic_word(dev,FEMR, FEMR_INTR | FEMR_WKUP | FEMR_GWAKE |
- read_nic_word(dev, FEMR));
- }
rtl8180_set_mode(dev, EPROM_CMD_CONFIG);
write_nic_dword(dev, MAC0, ((u32*)dev->dev_addr)[0]);
write_nic_word(dev, MAC4, ((u32*)dev->dev_addr)[1] & 0xffff );
@@ -3384,12 +3251,6 @@ void rtl8180_adapter_start(struct net_device *dev)
rtl8180_update_msr(dev);
- if(!priv->card_8185){
- anaparam = eprom_read(dev,EPROM_ANAPARAM_ADDRLWORD);
- anaparam |= eprom_read(dev,EPROM_ANAPARAM_ADDRHWORD)<<16;
-
- rtl8180_set_anaparam(dev,anaparam);
- }
/* These might be unnecessary since we do in rx_enable / tx_enable */
fix_rx_fifo(dev);
fix_tx_fifo(dev);
@@ -3399,61 +3260,34 @@ void rtl8180_adapter_start(struct net_device *dev)
/*
The following is very strange. seems to be that 1 means test mode,
but we need to acknolwledges the nic when a packet is ready
- altought we set it to 0
+ although we set it to 0
*/
write_nic_byte(dev,
CONFIG2, read_nic_byte(dev,CONFIG2) &~\
(1<<CONFIG2_DMA_POLLING_MODE_SHIFT));
//^the nic isn't in test mode
- if(priv->card_8185)
- write_nic_byte(dev,
+ write_nic_byte(dev,
CONFIG2, read_nic_byte(dev,CONFIG2)|(1<<4));
rtl8180_set_mode(dev,EPROM_CMD_NORMAL);
write_nic_dword(dev,INT_TIMEOUT,0);
- if(!priv->card_8185)
- {
- /*
- experimental - this might be needed to calibrate AGC,
- anyway it shouldn't hurt
- */
- write_nic_byte(dev, CONFIG5,
- read_nic_byte(dev, CONFIG5) | (1<<AGCRESET_SHIFT));
- read_nic_byte(dev, CONFIG5);
- udelay(15);
- write_nic_byte(dev, CONFIG5,
- read_nic_byte(dev, CONFIG5) &~ (1<<AGCRESET_SHIFT));
- }else{
- write_nic_byte(dev, WPA_CONFIG, 0);
- //write_nic_byte(dev, TESTR, 0xd);
- }
+ write_nic_byte(dev, WPA_CONFIG, 0);
rtl8180_no_hw_wep(dev);
- if(priv->card_8185){
- rtl8185_set_rate(dev);
- write_nic_byte(dev, RATE_FALLBACK, 0x81);
- }else{
- word = read_nic_word(dev, BRSR);
- word &= ~BRSR_MBR;
- word &= ~BRSR_BPLCP;
- word |= ieeerate2rtlrate(priv->ieee80211->basic_rate);
- word |= 0x0f;
- write_nic_word(dev, BRSR, word);
- }
+ rtl8185_set_rate(dev);
+ write_nic_byte(dev, RATE_FALLBACK, 0x81);
- if(priv->card_8185){
- write_nic_byte(dev, GP_ENABLE,read_nic_byte(dev, GP_ENABLE) & ~(1<<6));
+ write_nic_byte(dev, GP_ENABLE, read_nic_byte(dev, GP_ENABLE) & ~(1<<6));
- //FIXME cfg 3 ClkRun enable - isn't it ReadOnly ?
- rtl8180_set_mode(dev, EPROM_CMD_CONFIG);
- write_nic_byte(dev,CONFIG3, read_nic_byte(dev, CONFIG3)
- | (1 << CONFIG3_CLKRUN_SHIFT));
- rtl8180_set_mode(dev, EPROM_CMD_NORMAL);
- }
+ /*FIXME cfg 3 ClkRun enable - isn't it ReadOnly ? */
+ rtl8180_set_mode(dev, EPROM_CMD_CONFIG);
+ write_nic_byte(dev, CONFIG3, read_nic_byte(dev, CONFIG3)
+ | (1 << CONFIG3_CLKRUN_SHIFT));
+ rtl8180_set_mode(dev, EPROM_CMD_NORMAL);
priv->rf_init(dev);
@@ -4144,7 +3978,7 @@ void rtl8180_tx_isr(struct net_device *dev, int pri,short error)
}
/* we check all the descriptors between the head and the nic,
- * but not the currenly pointed by the nic (the next to be txed)
+ * but not the currently pointed by the nic (the next to be txed)
* and the previous of the pointed (might be in process ??)
*/
offs = (nic - nicbegin);
diff --git a/drivers/staging/rtl8187se/r8180_dm.c b/drivers/staging/rtl8187se/r8180_dm.c
index b6eeeeccff9..cbca58db85e 100644
--- a/drivers/staging/rtl8187se/r8180_dm.c
+++ b/drivers/staging/rtl8187se/r8180_dm.c
@@ -36,7 +36,7 @@ bool CheckHighPower(struct net_device *dev)
//
// Note:
// The reason why we udpate Tx power level here instead of DoRxHighPower()
-// is the number of IO to change Tx power is much more than chane TR switch
+// is the number of IO to change Tx power is much more than channel TR switch
// and they are related to OFDM and MAC registers.
// So, we don't want to update it so frequently in per-Rx packet base.
//
@@ -197,7 +197,6 @@ DIG_Zebra(
{ // Advised from SD3 DZ
priv->InitialGain = 4; // In 87B, m74dBm means State 4 (m82dBm)
}
- //if(pHalData->VersionID != VERSION_8187B_B)
{ // Advised from SD3 DZ
OfdmFA1 = 0x20;
}
@@ -1326,7 +1325,7 @@ SetAntenna8185(
break;
default:
- printk("SetAntenna8185: unkown RFChipID(%d)\n", priv->rf_chip);
+ printk("SetAntenna8185: unknown RFChipID(%d)\n", priv->rf_chip);
break;
}
break;
@@ -1346,13 +1345,13 @@ SetAntenna8185(
break;
default:
- printk("SetAntenna8185: unkown RFChipID(%d)\n", priv->rf_chip);
+ printk("SetAntenna8185: unknown RFChipID(%d)\n", priv->rf_chip);
break;
}
break;
default:
- printk("SetAntenna8185: unkown u1bAntennaIndex(%d)\n", u1bAntennaIndex);
+ printk("SetAntenna8185: unknown u1bAntennaIndex(%d)\n", u1bAntennaIndex);
break;
}
@@ -1448,7 +1447,7 @@ SwAntennaDiversity(
priv->bAdSwitchedChecking = false;
- // Adjust Rx signal strength threashold.
+ // Adjust Rx signal strength threshold.
priv->AdRxSsThreshold = (priv->AdRxSignalStrength + priv->AdRxSsBeforeSwitched) / 2;
priv->AdRxSsThreshold = (priv->AdRxSsThreshold > priv->AdMaxRxSsThreshold) ?
@@ -1562,7 +1561,7 @@ SwAntennaDiversity(
// priv->AdRxSignalStrength, priv->AdRxSsThreshold);
priv->bAdSwitchedChecking = false;
- // Increase Rx signal strength threashold if necessary.
+ // Increase Rx signal strength threshold if necessary.
if( (priv->AdRxSignalStrength > (priv->AdRxSsThreshold + 10)) && // Signal is much stronger than current threshold
priv->AdRxSsThreshold <= priv->AdMaxRxSsThreshold) // Current threhold is not yet reach upper limit.
{
diff --git a/drivers/staging/rtl8187se/r8180_rtl8225z2.c b/drivers/staging/rtl8187se/r8180_rtl8225z2.c
index b648751cdaa..afe10f0b75a 100644
--- a/drivers/staging/rtl8187se/r8180_rtl8225z2.c
+++ b/drivers/staging/rtl8187se/r8180_rtl8225z2.c
@@ -23,7 +23,6 @@ static void write_rtl8225(struct net_device *dev, u8 adr, u16 data)
u16 out, select;
u8 bit;
u32 bangdata = (data << 4) | (adr & 0xf);
- struct r8180_priv *priv = ieee80211_priv(dev);
out = read_nic_word(dev, RFPinsOutput) & 0xfff3;
@@ -33,7 +32,7 @@ static void write_rtl8225(struct net_device *dev, u8 adr, u16 data)
select = read_nic_word(dev, RFPinsSelect);
write_nic_word(dev, RFPinsSelect, select | 0x7 |
- ((priv->card_type == USB) ? 0 : SW_CONTROL_GPIO));
+ SW_CONTROL_GPIO);
force_pci_posting(dev);
udelay(10);
@@ -71,16 +70,11 @@ static void write_rtl8225(struct net_device *dev, u8 adr, u16 data)
force_pci_posting(dev);
udelay(10);
- write_nic_word(dev, RFPinsOutput, out |
- ((priv->card_type == USB) ? 4 : BB_HOST_BANG_EN));
+ write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN);
- write_nic_word(dev, RFPinsSelect, select |
- ((priv->card_type == USB) ? 0 : SW_CONTROL_GPIO));
+ write_nic_word(dev, RFPinsSelect, select | SW_CONTROL_GPIO);
- if (priv->card_type == USB)
- mdelay(2);
- else
- rtl8185_rf_pins_enable(dev);
+ rtl8185_rf_pins_enable(dev);
}
static const u16 rtl8225bcd_rxgain[] = {
@@ -174,15 +168,9 @@ static void rtl8225_SetTXPowerLevel(struct net_device *dev, short ch)
u8 cck_power_level = 0xff & priv->chtxpwr[ch];
u8 ofdm_power_level = 0xff & priv->chtxpwr_ofdm[ch];
- if (priv->card_type == USB) {
- max_cck_power_level = 11;
- max_ofdm_power_level = 25;
- min_ofdm_power_level = 10;
- } else {
- max_cck_power_level = 35;
- max_ofdm_power_level = 35;
- min_ofdm_power_level = 0;
- }
+ max_cck_power_level = 35;
+ max_ofdm_power_level = 35;
+ min_ofdm_power_level = 0;
if (cck_power_level > max_cck_power_level)
cck_power_level = max_cck_power_level;
@@ -445,30 +433,28 @@ s8 DbmToTxPwrIdx(struct r8180_priv *priv, WIRELESS_MODE WirelessMode,
* OFDM Power in dBm = Index * 0.5 + 0
* CCK Power in dBm = Index * 0.25 + 13
*/
- if (priv->card_8185 >= VERSION_8187S_B) {
- s32 tmp = 0;
-
- if (WirelessMode == WIRELESS_MODE_G) {
- bUseDefault = false;
- tmp = (2 * PowerInDbm);
-
- if (tmp < 0)
- TxPwrIdx = 0;
- else if (tmp > 40) /* 40 means 20 dBm. */
- TxPwrIdx = 40;
- else
- TxPwrIdx = (s8)tmp;
- } else if (WirelessMode == WIRELESS_MODE_B) {
- bUseDefault = false;
- tmp = (4 * PowerInDbm) - 52;
-
- if(tmp < 0)
- TxPwrIdx = 0;
- else if (tmp > 28) /* 28 means 20 dBm. */
- TxPwrIdx = 28;
- else
- TxPwrIdx = (s8)tmp;
- }
+ s32 tmp = 0;
+
+ if (WirelessMode == WIRELESS_MODE_G) {
+ bUseDefault = false;
+ tmp = (2 * PowerInDbm);
+
+ if (tmp < 0)
+ TxPwrIdx = 0;
+ else if (tmp > 40) /* 40 means 20 dBm. */
+ TxPwrIdx = 40;
+ else
+ TxPwrIdx = (s8)tmp;
+ } else if (WirelessMode == WIRELESS_MODE_B) {
+ bUseDefault = false;
+ tmp = (4 * PowerInDbm) - 52;
+
+ if (tmp < 0)
+ TxPwrIdx = 0;
+ else if (tmp > 28) /* 28 means 20 dBm. */
+ TxPwrIdx = 28;
+ else
+ TxPwrIdx = (s8)tmp;
}
/*
@@ -631,8 +617,7 @@ void rtl8225z2_rf_init(struct net_device *dev)
priv->chan = channel;
- if (priv->card_type != USB)
- rtl8225_host_pci_init(dev);
+ rtl8225_host_pci_init(dev);
write_nic_dword(dev, RF_TIMING, 0x000a8008);
@@ -655,7 +640,7 @@ void rtl8225z2_rf_init(struct net_device *dev)
write_rtl8225(dev, 0x4, 0x8c3); mdelay(1);
write_rtl8225(dev, 0x5, 0xc72); mdelay(1);
write_rtl8225(dev, 0x6, 0xe6); mdelay(1);
- write_rtl8225(dev, 0x7, ((priv->card_type == USB)? 0x82a : rtl8225_chan[channel])); mdelay(1);
+ write_rtl8225(dev, 0x7, rtl8225_chan[channel]); mdelay(1);
write_rtl8225(dev, 0x8, 0x3f); mdelay(1);
write_rtl8225(dev, 0x9, 0x335); mdelay(1);
write_rtl8225(dev, 0xa, 0x9d4); mdelay(1);
@@ -681,13 +666,6 @@ void rtl8225z2_rf_init(struct net_device *dev)
write_rtl8225(dev, 0x2, 0xc4d);
- if (priv->card_type == USB) {
- mdelay(200);
-
- write_rtl8225(dev, 0x2, 0x44d);
- mdelay(100);
- }
-
/* FIXME!! rtl8187 we have to check if calibrarion
* is successful and eventually cal. again (repeat
* the two write on reg 2)
@@ -707,9 +685,6 @@ void rtl8225z2_rf_init(struct net_device *dev)
write_rtl8225(dev, 0x0, 0x2bf);
- if (priv->card_type != USB)
- rtl8185_rf_pins_enable(dev);
-
for (i = 0; i < 128; i++) {
data = rtl8225_agc[i];
@@ -726,7 +701,7 @@ void rtl8225z2_rf_init(struct net_device *dev)
write_phy_ofdm(dev, 0x00, 0x01); mdelay(1);
write_phy_ofdm(dev, 0x01, 0x02); mdelay(1);
- write_phy_ofdm(dev, 0x02, ((priv->card_type == USB) ? 0x42 : 0x62)); mdelay(1);
+ write_phy_ofdm(dev, 0x02, 0x62); mdelay(1);
write_phy_ofdm(dev, 0x03, 0x00); mdelay(1);
write_phy_ofdm(dev, 0x04, 0x00); mdelay(1);
write_phy_ofdm(dev, 0x05, 0x00); mdelay(1);
@@ -774,7 +749,7 @@ void rtl8225z2_rf_init(struct net_device *dev)
write_phy_cck(dev, 0x6, 0xfc); mdelay(1);
write_phy_cck(dev, 0x7, 0x78); mdelay(1);
write_phy_cck(dev, 0x8, 0x2e); mdelay(1);
- write_phy_cck(dev, 0x10, ((priv->card_type == USB) ? 0x9b: 0x93)); mdelay(1);
+ write_phy_cck(dev, 0x10, 0x93); mdelay(1);
write_phy_cck(dev, 0x11, 0x88); mdelay(1);
write_phy_cck(dev, 0x12, 0x47); mdelay(1);
write_phy_cck(dev, 0x13, 0xd0);
@@ -808,12 +783,8 @@ void rtl8225z2_rf_init(struct net_device *dev)
/* switch to high-speed 3-wire
* last digit. 2 for both cck and ofdm
*/
- if (priv->card_type == USB)
- write_nic_dword(dev, 0x94, 0x3dc00002);
- else {
- write_nic_dword(dev, 0x94, 0x15c00002);
- rtl8185_rf_pins_enable(dev);
- }
+ write_nic_dword(dev, 0x94, 0x15c00002);
+ rtl8185_rf_pins_enable(dev);
rtl8225_rf_set_chan(dev, priv->chan);
}
@@ -1058,7 +1029,7 @@ bool SetZebraRFPowerState8185(struct net_device *dev,
break;
default:
bResult = false;
- printk("SetZebraRFPowerState8185(): unknow state to set: 0x%X!!!\n", eRFPowerState);
+ printk("SetZebraRFPowerState8185(): unknown state to set: 0x%X!!!\n", eRFPowerState);
break;
}
break;
diff --git a/drivers/staging/rtl8187se/r8180_wx.c b/drivers/staging/rtl8187se/r8180_wx.c
index 766892e31f5..536cb6e8e79 100644
--- a/drivers/staging/rtl8187se/r8180_wx.c
+++ b/drivers/staging/rtl8187se/r8180_wx.c
@@ -276,7 +276,7 @@ static int rtl8180_wx_get_range(struct net_device *dev,
range->max_qual.updated = 7; /* Updated all three */
range->avg_qual.qual = 92; /* > 8% missed beacons is 'bad' */
- /* TODO: Find real 'good' to 'bad' threshol value for RSSI */
+ /* TODO: Find real 'good' to 'bad' threshold value for RSSI */
range->avg_qual.level = 20 + -98;
range->avg_qual.noise = 0;
range->avg_qual.updated = 7; /* Updated all three */
diff --git a/drivers/staging/rtl8187se/r8185b_init.c b/drivers/staging/rtl8187se/r8185b_init.c
index cd07059b25b..50309f2da9c 100644
--- a/drivers/staging/rtl8187se/r8185b_init.c
+++ b/drivers/staging/rtl8187se/r8185b_init.c
@@ -1023,6 +1023,7 @@ ZEBRA_Config_85BASIC_HardCode(
u32 addr,data;
u32 u4bRegOffset, u4bRegValue, u4bRF23, u4bRF24;
u8 u1b24E;
+ int d_cut = 0;
//=============================================================================
@@ -1035,8 +1036,10 @@ ZEBRA_Config_85BASIC_HardCode(
u4bRF23= RF_ReadReg(dev, 0x08); mdelay(1);
u4bRF24= RF_ReadReg(dev, 0x09); mdelay(1);
- if (u4bRF23==0x818 && u4bRF24==0x70C && priv->card_8185 == VERSION_8187S_C)
- priv->card_8185 = VERSION_8187S_D;
+ if (u4bRF23 == 0x818 && u4bRF24 == 0x70C) {
+ d_cut = 1;
+ printk(KERN_INFO "rtl8187se: card type changed from C- to D-cut\n");
+ }
// Page0 : reg0-reg15
@@ -1070,18 +1073,9 @@ ZEBRA_Config_85BASIC_HardCode(
RF_WriteReg(dev, 0x03, 0x0806); mdelay(1);
- if(priv->card_8185 < VERSION_8187S_C)
- {
- RF_WriteReg(dev, 0x04, 0x03f7); mdelay(1);
- RF_WriteReg(dev, 0x05, 0x05ab); mdelay(1);
- RF_WriteReg(dev, 0x06, 0x00c1); mdelay(1);
- }
- else
- {
- RF_WriteReg(dev, 0x04, 0x03a7); mdelay(1);
- RF_WriteReg(dev, 0x05, 0x059b); mdelay(1);
- RF_WriteReg(dev, 0x06, 0x0081); mdelay(1);
- }
+ RF_WriteReg(dev, 0x04, 0x03a7); mdelay(1);
+ RF_WriteReg(dev, 0x05, 0x059b); mdelay(1);
+ RF_WriteReg(dev, 0x06, 0x0081); mdelay(1);
RF_WriteReg(dev, 0x07, 0x01A0); mdelay(1);
@@ -1091,14 +1085,11 @@ ZEBRA_Config_85BASIC_HardCode(
RF_WriteReg(dev, 0x0a, 0x0001); mdelay(1);
RF_WriteReg(dev, 0x0b, 0x0418); mdelay(1);
- if(priv->card_8185 == VERSION_8187S_D)
- {
+ if (d_cut) {
RF_WriteReg(dev, 0x0c, 0x0fbe); mdelay(1);
RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1);
RF_WriteReg(dev, 0x0e, 0x0807); mdelay(1); // RX LO buffer
- }
- else
- {
+ } else {
RF_WriteReg(dev, 0x0c, 0x0fbe); mdelay(1);
RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1);
RF_WriteReg(dev, 0x0e, 0x0806); mdelay(1); // RX LO buffer
@@ -2493,8 +2484,8 @@ void rtl8185b_adapter_start(struct net_device *dev)
PhyConfig8185(dev);
// We assume RegWirelessMode has already been initialized before,
- // however, we has to validate the wireless mode here and provide a reasonble
- // initialized value if necessary. 2005.01.13, by rcnjko.
+ // however, we has to validate the wireless mode here and provide a
+ // reasonable initialized value if necessary. 2005.01.13, by rcnjko.
SupportedWirelessMode = GetSupportedWirelessMode8185(dev);
if( (ieee->mode != WIRELESS_MODE_B) &&
(ieee->mode != WIRELESS_MODE_G) &&