diff --git a/drivers/staging/rtl8187se/r8180.h b/drivers/staging/rtl8187se/r8180.h index 8999ec62450d..19cba280bc27 100644 --- a/drivers/staging/rtl8187se/r8180.h +++ b/drivers/staging/rtl8187se/r8180.h @@ -21,9 +21,9 @@ #include #define RTL8180_MODULE_NAME "r8180" -#define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a) -#define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a) -#define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a) +#define DMESG(x, a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a) +#define DMESGW(x, a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a) +#define DMESGE(x, a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a) #include #include @@ -51,7 +51,7 @@ #define RTL_IOCTL_WPA_SUPPLICANT SIOCIWFIRSTPRIV+30 #define DEFAULT_FRAG_THRESHOLD 2342U -#define MIN_FRAG_THRESHOLD 256U +#define MIN_FRAG_THRESHOLD 256U #define DEFAULT_RTS_THRESHOLD 2342U #define MIN_RTS_THRESHOLD 0U #define MAX_RTS_THRESHOLD 2342U @@ -60,14 +60,14 @@ #define DEFAULT_RETRY_RTS 7 #define DEFAULT_RETRY_DATA 7 -#define BEACON_QUEUE 6 +#define BEACON_QUEUE 6 -#define aSifsTime 10 +#define aSifsTime 10 -#define sCrcLng 4 -#define sAckCtsLng 112 // bits in ACK and CTS frames +#define sCrcLng 4 +#define sAckCtsLng 112 // bits in ACK and CTS frames //+by amy 080312 -#define RATE_ADAPTIVE_TIMER_PERIOD 300 +#define RATE_ADAPTIVE_TIMER_PERIOD 300 typedef enum _WIRELESS_MODE { WIRELESS_MODE_UNKNOWN = 0x00, @@ -77,97 +77,97 @@ typedef enum _WIRELESS_MODE { WIRELESS_MODE_AUTO = 0x08, } WIRELESS_MODE; -typedef struct ChnlAccessSetting { +typedef struct ChnlAccessSetting { u16 SIFS_Timer; u16 DIFS_Timer; u16 SlotTimeTimer; u16 EIFS_Timer; u16 CWminIndex; u16 CWmaxIndex; -}*PCHANNEL_ACCESS_SETTING,CHANNEL_ACCESS_SETTING; +} *PCHANNEL_ACCESS_SETTING, CHANNEL_ACCESS_SETTING; -typedef enum{ - NIC_8185 = 1, - NIC_8185B - } nic_t; +typedef enum { + NIC_8185 = 1, + NIC_8185B + } nic_t; typedef u32 AC_CODING; -#define AC0_BE 0 // ACI: 0x00 // Best Effort -#define AC1_BK 1 // ACI: 0x01 // Background -#define AC2_VI 2 // ACI: 0x10 // Video -#define AC3_VO 3 // ACI: 0x11 // Voice -#define AC_MAX 4 // Max: define total number; Should not to be used as a real enum. +#define AC0_BE 0 // ACI: 0x00 // Best Effort +#define AC1_BK 1 // ACI: 0x01 // Background +#define AC2_VI 2 // ACI: 0x10 // Video +#define AC3_VO 3 // ACI: 0x11 // Voice +#define AC_MAX 4 // Max: define total number; Should not to be used as a real enum. // // ECWmin/ECWmax field. // Ref: WMM spec 2.2.2: WME Parameter Element, p.13. // -typedef union _ECW{ - u8 charData; +typedef union _ECW { + u8 charData; struct { - u8 ECWmin:4; - u8 ECWmax:4; - }f; // Field -}ECW, *PECW; + u8 ECWmin:4; + u8 ECWmax:4; + } f; // Field +} ECW, *PECW; // // ACI/AIFSN Field. // Ref: WMM spec 2.2.2: WME Parameter Element, p.12. // -typedef union _ACI_AIFSN{ - u8 charData; +typedef union _ACI_AIFSN { + u8 charData; struct { - u8 AIFSN:4; - u8 ACM:1; - u8 ACI:2; - u8 Reserved:1; - }f; // Field -}ACI_AIFSN, *PACI_AIFSN; + u8 AIFSN:4; + u8 ACM:1; + u8 ACI:2; + u8 Reserved:1; + } f; // Field +} ACI_AIFSN, *PACI_AIFSN; // // AC Parameters Record Format. // Ref: WMM spec 2.2.2: WME Parameter Element, p.12. // -typedef union _AC_PARAM{ - u32 longData; - u8 charData[4]; +typedef union _AC_PARAM { + u32 longData; + u8 charData[4]; struct { - ACI_AIFSN AciAifsn; - ECW Ecw; - u16 TXOPLimit; - }f; // Field -}AC_PARAM, *PAC_PARAM; + ACI_AIFSN AciAifsn; + ECW Ecw; + u16 TXOPLimit; + } f; // Field +} AC_PARAM, *PAC_PARAM; /* it is a wrong definition. -xiong-2006-11-17 typedef struct ThreeWireReg { u16 longData; struct { - u8 enableB; - u8 data; - u8 clk; - u8 read_write; + u8 enableB; + u8 data; + u8 clk; + u8 read_write; } struc; } ThreeWireReg; */ -typedef union _ThreeWire{ - struct _ThreeWireStruc{ - u16 data:1; - u16 clk:1; - u16 enableB:1; - u16 read_write:1; - u16 resv1:12; -// u2Byte resv2:14; -// u2Byte ThreeWireEnable:1; -// u2Byte resv3:1; - }struc; - u16 longData; -}ThreeWireReg; +typedef union _ThreeWire { + struct _ThreeWireStruc { + u16 data:1; + u16 clk:1; + u16 enableB:1; + u16 read_write:1; + u16 resv1:12; +// u2Byte resv2:14; +// u2Byte ThreeWireEnable:1; +// u2Byte resv3:1; + } struc; + u16 longData; +} ThreeWireReg; typedef struct buffer @@ -215,28 +215,28 @@ typedef struct Stats } Stats; #define MAX_LD_SLOT_NUM 10 -#define KEEP_ALIVE_INTERVAL 20 // in seconds. -#define CHECK_FOR_HANG_PERIOD 2 //be equal to watchdog check time -#define DEFAULT_KEEP_ALIVE_LEVEL 1 -#define DEFAULT_SLOT_NUM 2 -#define POWER_PROFILE_AC 0 -#define POWER_PROFILE_BATTERY 1 +#define KEEP_ALIVE_INTERVAL 20 // in seconds. +#define CHECK_FOR_HANG_PERIOD 2 //be equal to watchdog check time +#define DEFAULT_KEEP_ALIVE_LEVEL 1 +#define DEFAULT_SLOT_NUM 2 +#define POWER_PROFILE_AC 0 +#define POWER_PROFILE_BATTERY 1 typedef struct _link_detect_t { - u32 RxFrameNum[MAX_LD_SLOT_NUM]; // number of Rx Frame / CheckForHang_period to determine link status - u16 SlotNum; // number of CheckForHang period to determine link status, default is 2 - u16 SlotIndex; + u32 RxFrameNum[MAX_LD_SLOT_NUM]; // number of Rx Frame / CheckForHang_period to determine link status + u16 SlotNum; // number of CheckForHang period to determine link status, default is 2 + u16 SlotIndex; - u32 NumTxOkInPeriod; //number of packet transmitted during CheckForHang - u32 NumRxOkInPeriod; //number of packet received during CheckForHang + u32 NumTxOkInPeriod; //number of packet transmitted during CheckForHang + u32 NumRxOkInPeriod; //number of packet received during CheckForHang - u8 IdleCount; // (KEEP_ALIVE_INTERVAL / CHECK_FOR_HANG_PERIOD) - u32 LastNumTxUnicast; - u32 LastNumRxUnicast; + u8 IdleCount; // (KEEP_ALIVE_INTERVAL / CHECK_FOR_HANG_PERIOD) + u32 LastNumTxUnicast; + u32 LastNumRxUnicast; - bool bBusyTraffic; //when it is set to 1, UI cann't scan at will. -}link_detect_t, *plink_detect_t; + bool bBusyTraffic; //when it is set to 1, UI cann't scan at will. +} link_detect_t, *plink_detect_t; //YJ,modified,080828,end @@ -245,14 +245,14 @@ typedef struct _link_detect_t // LED customization. //================================================================================ -typedef enum _LED_STRATEGY_8185{ +typedef enum _LED_STRATEGY_8185 { SW_LED_MODE0, // SW_LED_MODE1, // HW_LED, // HW control 2 LEDs, LED0 and LED1 (there are 4 different control modes) -}LED_STRATEGY_8185, *PLED_STRATEGY_8185; +} LED_STRATEGY_8185, *PLED_STRATEGY_8185; //by amy for led //by amy for power save -typedef enum _LED_CTL_MODE{ +typedef enum _LED_CTL_MODE { LED_CTL_POWER_ON = 1, LED_CTL_LINK = 2, LED_CTL_NO_LINK = 3, @@ -260,63 +260,63 @@ typedef enum _LED_CTL_MODE{ LED_CTL_RX = 5, LED_CTL_SITE_SURVEY = 6, LED_CTL_POWER_OFF = 7 -}LED_CTL_MODE; +} LED_CTL_MODE; -typedef enum _RT_RF_POWER_STATE +typedef enum _RT_RF_POWER_STATE { eRfOn, eRfSleep, eRfOff -}RT_RF_POWER_STATE; +} RT_RF_POWER_STATE; -enum _ReasonCode{ - unspec_reason = 0x1, - auth_not_valid = 0x2, - deauth_lv_ss = 0x3, - inactivity = 0x4, - ap_overload = 0x5, - class2_err = 0x6, - class3_err = 0x7, - disas_lv_ss = 0x8, - asoc_not_auth = 0x9, +enum _ReasonCode { + unspec_reason = 0x1, + auth_not_valid = 0x2, + deauth_lv_ss = 0x3, + inactivity = 0x4, + ap_overload = 0x5, + class2_err = 0x6, + class3_err = 0x7, + disas_lv_ss = 0x8, + asoc_not_auth = 0x9, //----MIC_CHECK - mic_failure = 0xe, + mic_failure = 0xe, //----END MIC_CHECK // Reason code defined in 802.11i D10.0 p.28. - invalid_IE = 0x0d, - four_way_tmout = 0x0f, - two_way_tmout = 0x10, - IE_dismatch = 0x11, + invalid_IE = 0x0d, + four_way_tmout = 0x0f, + two_way_tmout = 0x10, + IE_dismatch = 0x11, invalid_Gcipher = 0x12, invalid_Pcipher = 0x13, - invalid_AKMP = 0x14, + invalid_AKMP = 0x14, unsup_RSNIEver = 0x15, - invalid_RSNIE = 0x16, - auth_802_1x_fail= 0x17, - ciper_reject = 0x18, + invalid_RSNIE = 0x16, + auth_802_1x_fail = 0x17, + ciper_reject = 0x18, // Reason code defined in 7.3.1.7, 802.1e D13.0, p.42. Added by Annie, 2005-11-15. - QoS_unspec = 0x20, // 32 - QAP_bandwidth = 0x21, // 33 - poor_condition = 0x22, // 34 - no_facility = 0x23, // 35 + QoS_unspec = 0x20, // 32 + QAP_bandwidth = 0x21, // 33 + poor_condition = 0x22, // 34 + no_facility = 0x23, // 35 // Where is 36??? - req_declined = 0x25, // 37 - invalid_param = 0x26, // 38 - req_not_honored= 0x27, // 39 - TS_not_created = 0x2F, // 47 - DL_not_allowed = 0x30, // 48 - dest_not_exist = 0x31, // 49 - dest_not_QSTA = 0x32, // 50 + req_declined = 0x25, // 37 + invalid_param = 0x26, // 38 + req_not_honored = 0x27, // 39 + TS_not_created = 0x2F, // 47 + DL_not_allowed = 0x30, // 48 + dest_not_exist = 0x31, // 49 + dest_not_QSTA = 0x32, // 50 }; -typedef enum _RT_PS_MODE +typedef enum _RT_PS_MODE { eActive, // Active/Continuous access. eMaxPs, // Max power save mode. eFastPs // Fast power save mode. -}RT_PS_MODE; +} RT_PS_MODE; //by amy for power save typedef struct r8180_priv { @@ -359,8 +359,8 @@ typedef struct r8180_priv short antb; short diversity; u32 key0[4]; - short (*rf_set_sens)(struct net_device *dev,short sens); - void (*rf_set_chan)(struct net_device *dev,short ch); + short (*rf_set_sens)(struct net_device *dev, short sens); + void (*rf_set_chan)(struct net_device *dev, short ch); void (*rf_close)(struct net_device *dev); void (*rf_init)(struct net_device *dev); void (*rf_sleep)(struct net_device *dev); @@ -477,21 +477,21 @@ typedef struct r8180_priv struct timer_list watch_dog_timer; bool bInactivePs; bool bSwRfProcessing; - RT_RF_POWER_STATE eInactivePowerState; + RT_RF_POWER_STATE eInactivePowerState; RT_RF_POWER_STATE eRFPowerState; u32 RfOffReason; bool RFChangeInProgress; bool SetRFPowerStateInProgress; - u8 RFProgType; + u8 RFProgType; bool bLeisurePs; RT_PS_MODE dot11PowerSaveMode; //u32 NumRxOkInPeriod; //YJ,del,080828 //u32 NumTxOkInPeriod; //YJ,del,080828 - u8 TxPollingTimes; + u8 TxPollingTimes; - bool bApBufOurFrame;// TRUE if AP buffer our unicast data , we will keep eAwake until receive data or timeout. - u8 WaitBufDataBcnCount; - u8 WaitBufDataTimeOut; + bool bApBufOurFrame;// TRUE if AP buffer our unicast data , we will keep eAwake until receive data or timeout. + u8 WaitBufDataBcnCount; + u8 WaitBufDataTimeOut; //by amy for power save //by amy for antenna @@ -504,11 +504,11 @@ typedef struct r8180_priv u8 SignalStrength; long Stats_SignalStrength; long LastSignalStrengthInPercent; // In percentage, used for smoothing, e.g. Moving Average. - u8 SignalQuality; // in 0-100 index. + u8 SignalQuality; // in 0-100 index. long Stats_SignalQuality; long RecvSignalPower; // in dBm. long Stats_RecvSignalPower; - u8 LastRxPktAntenna; // +by amy 080312 Antenna which received the lasted packet. 0: Aux, 1:Main. Added by Roger, 2008.01.25. + u8 LastRxPktAntenna; // +by amy 080312 Antenna which received the lasted packet. 0: Aux, 1:Main. Added by Roger, 2008.01.25. u32 AdRxOkCnt; long AdRxSignalStrength; u8 CurrAntennaIndex; // Index to current Antenna (both Tx and Rx). @@ -527,80 +527,80 @@ typedef struct r8180_priv // Crystal calibration. // Added by Roger, 2007.12.11. // - bool bXtalCalibration; // Crystal calibration. - u8 XtalCal_Xin; // Crystal calibration for Xin. 0~7.5pF - u8 XtalCal_Xout; // Crystal calibration for Xout. 0~7.5pF + bool bXtalCalibration; // Crystal calibration. + u8 XtalCal_Xin; // Crystal calibration for Xin. 0~7.5pF + u8 XtalCal_Xout; // Crystal calibration for Xout. 0~7.5pF // // Tx power tracking with thermal meter indication. // Added by Roger, 2007.12.11. // - bool bTxPowerTrack; // Tx Power tracking. - u8 ThermalMeter; // Thermal meter reference indication. + bool bTxPowerTrack; // Tx Power tracking. + u8 ThermalMeter; // Thermal meter reference indication. // // Dynamic Initial Gain Adjustment Mechanism. Added by Bruce, 2007-02-14. // - bool bDigMechanism; // TRUE if DIG is enabled, FALSE ow. - bool bRegHighPowerMechanism; // For High Power Mechanism. 061010, by rcnjko. - u32 FalseAlarmRegValue; - u8 RegDigOfdmFaUpTh; // Upper threshold of OFDM false alarm, which is used in DIG. - u8 DIG_NumberFallbackVote; - u8 DIG_NumberUpgradeVote; + bool bDigMechanism; // TRUE if DIG is enabled, FALSE ow. + bool bRegHighPowerMechanism; // For High Power Mechanism. 061010, by rcnjko. + u32 FalseAlarmRegValue; + u8 RegDigOfdmFaUpTh; // Upper threshold of OFDM false alarm, which is used in DIG. + u8 DIG_NumberFallbackVote; + u8 DIG_NumberUpgradeVote; // For HW antenna diversity, added by Roger, 2008.01.30. - u32 AdMainAntennaRxOkCnt; // Main antenna Rx OK count. - u32 AdAuxAntennaRxOkCnt; // Aux antenna Rx OK count. - bool bHWAdSwitched; // TRUE if we has switched default antenna by HW evaluation. + u32 AdMainAntennaRxOkCnt; // Main antenna Rx OK count. + u32 AdAuxAntennaRxOkCnt; // Aux antenna Rx OK count. + bool bHWAdSwitched; // TRUE if we has switched default antenna by HW evaluation. // RF High Power upper/lower threshold. - u8 RegHiPwrUpperTh; - u8 RegHiPwrLowerTh; + u8 RegHiPwrUpperTh; + u8 RegHiPwrLowerTh; // RF RSSI High Power upper/lower Threshold. - u8 RegRSSIHiPwrUpperTh; - u8 RegRSSIHiPwrLowerTh; + u8 RegRSSIHiPwrUpperTh; + u8 RegRSSIHiPwrLowerTh; // Current CCK RSSI value to determine CCK high power, asked by SD3 DZ, by Bruce, 2007-04-12. - u8 CurCCKRSSI; - bool bCurCCKPkt; + u8 CurCCKRSSI; + bool bCurCCKPkt; // // High Power Mechanism. Added by amy, 080312. // - bool bToUpdateTxPwr; - long UndecoratedSmoothedSS; - long UndercorateSmoothedRxPower; - u8 RSSI; - char RxPower; - u8 InitialGain; + bool bToUpdateTxPwr; + long UndecoratedSmoothedSS; + long UndercorateSmoothedRxPower; + u8 RSSI; + char RxPower; + u8 InitialGain; //For adjust Dig Threshold during Legacy/Leisure Power Save Mode - u32 DozePeriodInPast2Sec; + u32 DozePeriodInPast2Sec; // Don't access BB/RF under disable PLL situation. - u8 InitialGainBackUp; - u8 RegBModeGainStage; + u8 InitialGainBackUp; + u8 RegBModeGainStage; //by amy for rate adaptive - struct timer_list rateadapter_timer; - u32 RateAdaptivePeriod; - bool bEnhanceTxPwr; - bool bUpdateARFR; - int ForcedDataRate; // Force Data Rate. 0: Auto, 0x02: 1M ~ 0x6C: 54M.) - u32 NumTxUnicast; //YJ,add,080828,for keep alive - u8 keepAliveLevel; //YJ,add,080828,for KeepAlive - unsigned long NumTxOkTotal; - u16 LastRetryCnt; - u16 LastRetryRate; - unsigned long LastTxokCnt; - unsigned long LastRxokCnt; - u16 CurrRetryCnt; - unsigned long LastTxOKBytes; - unsigned long NumTxOkBytesTotal; - u8 LastFailTxRate; - long LastFailTxRateSS; - u8 FailTxRateCount; - u32 LastTxThroughput; - //for up rate - unsigned short bTryuping; - u8 CurrTxRate; //the rate before up - u16 CurrRetryRate; - u16 TryupingCount; - u8 TryDownCountLowData; - u8 TryupingCountNoData; + struct timer_list rateadapter_timer; + u32 RateAdaptivePeriod; + bool bEnhanceTxPwr; + bool bUpdateARFR; + int ForcedDataRate; // Force Data Rate. 0: Auto, 0x02: 1M ~ 0x6C: 54M.) + u32 NumTxUnicast; //YJ,add,080828,for keep alive + u8 keepAliveLevel; //YJ,add,080828,for KeepAlive + unsigned long NumTxOkTotal; + u16 LastRetryCnt; + u16 LastRetryRate; + unsigned long LastTxokCnt; + unsigned long LastRxokCnt; + u16 CurrRetryCnt; + unsigned long LastTxOKBytes; + unsigned long NumTxOkBytesTotal; + u8 LastFailTxRate; + long LastFailTxRateSS; + u8 FailTxRateCount; + u32 LastTxThroughput; + //for up rate + unsigned short bTryuping; + u8 CurrTxRate; //the rate before up + u16 CurrRetryRate; + u16 TryupingCount; + u8 TryDownCountLowData; + u8 TryupingCountNoData; - u8 CurrentOperaRate; + u8 CurrentOperaRate; //by amy for rate adaptive //by amy 080312} // short wq_hurryup; @@ -619,8 +619,8 @@ typedef struct r8180_priv u32 ReceiveConfig; u32 IntrMask; - struct ChnlAccessSetting ChannelAccessSetting; -}r8180_priv; + struct ChnlAccessSetting ChannelAccessSetting; +} r8180_priv; #define MANAGE_PRIORITY 0 #define BK_PRIORITY 1