mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2024-11-24 13:33:45 +00:00
rtl8188eu: Fix chackpatch errors in include/*.h - part 2
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
2db42a3fbf
commit
7120e63109
38 changed files with 2302 additions and 2664 deletions
|
@ -148,7 +148,7 @@
|
||||||
#define rCCK0_RxHP 0xa14
|
#define rCCK0_RxHP 0xa14
|
||||||
|
|
||||||
/* Timing recovery & Channel estimation threshold */
|
/* Timing recovery & Channel estimation threshold */
|
||||||
#define rCCK0_DSPParameter1 0xa18i
|
#define rCCK0_DSPParameter1 0xa18
|
||||||
#define rCCK0_DSPParameter2 0xa1c /* SQ threshold */
|
#define rCCK0_DSPParameter2 0xa1c /* SQ threshold */
|
||||||
|
|
||||||
#define rCCK0_TxFilter1 0xa20
|
#define rCCK0_TxFilter1 0xa20
|
||||||
|
@ -192,7 +192,7 @@
|
||||||
#define rOFDM0_XDRxAFE 0xc28
|
#define rOFDM0_XDRxAFE 0xc28
|
||||||
#define rOFDM0_XDRxIQImbalance 0xc2c
|
#define rOFDM0_XDRxIQImbalance 0xc2c
|
||||||
|
|
||||||
#define rOFDM0_RxDetector1 0xc30 /* PD,BW & SBD DM tune init gain */
|
#define rOFDM0_RxDetector1 0xc30 /*PD,BW & SBD DM tune init gain*/
|
||||||
#define rOFDM0_RxDetector2 0xc34 /* SBD & Fame Sync. */
|
#define rOFDM0_RxDetector2 0xc34 /* SBD & Fame Sync. */
|
||||||
#define rOFDM0_RxDetector3 0xc38 /* Frame Sync. */
|
#define rOFDM0_RxDetector3 0xc38 /* Frame Sync. */
|
||||||
#define rOFDM0_RxDetector4 0xc3c /* PD, SBD, Frame Sync & Short-GI */
|
#define rOFDM0_RxDetector4 0xc3c /* PD, SBD, Frame Sync & Short-GI */
|
||||||
|
|
|
@ -25,26 +25,26 @@ Major Change History:
|
||||||
/* TX report 2 format in Rx desc */
|
/* TX report 2 format in Rx desc */
|
||||||
/* */
|
/* */
|
||||||
#define GET_TX_RPT2_DESC_PKT_LEN_88E(__pRxStatusDesc) \
|
#define GET_TX_RPT2_DESC_PKT_LEN_88E(__pRxStatusDesc) \
|
||||||
LE_BITS_TO_4BYTE( __pRxStatusDesc, 0, 9)
|
LE_BITS_TO_4BYTE(__pRxStatusDesc, 0, 9)
|
||||||
#define GET_TX_RPT2_DESC_MACID_VALID_1_88E(__pRxStatusDesc) \
|
#define GET_TX_RPT2_DESC_MACID_VALID_1_88E(__pRxStatusDesc) \
|
||||||
LE_BITS_TO_4BYTE( __pRxStatusDesc+16, 0, 32)
|
LE_BITS_TO_4BYTE(__pRxStatusDesc+16, 0, 32)
|
||||||
#define GET_TX_RPT2_DESC_MACID_VALID_2_88E(__pRxStatusDesc) \
|
#define GET_TX_RPT2_DESC_MACID_VALID_2_88E(__pRxStatusDesc) \
|
||||||
LE_BITS_TO_4BYTE( __pRxStatusDesc+20, 0, 32)
|
LE_BITS_TO_4BYTE(__pRxStatusDesc+20, 0, 32)
|
||||||
|
|
||||||
#define GET_TX_REPORT_TYPE1_RERTY_0(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_RERTY_0(__pAddr) \
|
||||||
LE_BITS_TO_4BYTE( __pAddr, 0, 16)
|
LE_BITS_TO_4BYTE(__pAddr, 0, 16)
|
||||||
#define GET_TX_REPORT_TYPE1_RERTY_1(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_RERTY_1(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+2, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+2, 0, 8)
|
||||||
#define GET_TX_REPORT_TYPE1_RERTY_2(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_RERTY_2(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+3, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+3, 0, 8)
|
||||||
#define GET_TX_REPORT_TYPE1_RERTY_3(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_RERTY_3(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+4, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+4, 0, 8)
|
||||||
#define GET_TX_REPORT_TYPE1_RERTY_4(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_RERTY_4(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+4+1, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+4+1, 0, 8)
|
||||||
#define GET_TX_REPORT_TYPE1_DROP_0(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_DROP_0(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+4+2, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+4+2, 0, 8)
|
||||||
#define GET_TX_REPORT_TYPE1_DROP_1(__pAddr) \
|
#define GET_TX_REPORT_TYPE1_DROP_1(__pAddr) \
|
||||||
LE_BITS_TO_1BYTE( __pAddr+4+3, 0, 8)
|
LE_BITS_TO_1BYTE(__pAddr+4+3, 0, 8)
|
||||||
|
|
||||||
/* End rate adaptive define */
|
/* End rate adaptive define */
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ void PHY_LCCalibrate_8188E(struct adapter *pAdapter);
|
||||||
/* AP calibrate */
|
/* AP calibrate */
|
||||||
void PHY_APCalibrate_8188E(struct adapter *pAdapter, s8 delta);
|
void PHY_APCalibrate_8188E(struct adapter *pAdapter, s8 delta);
|
||||||
|
|
||||||
void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter);
|
void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter);
|
||||||
|
|
||||||
void _PHY_SaveADDARegisters(struct adapter *pAdapter, u32 *ADDAReg,
|
void _PHY_SaveADDARegisters(struct adapter *pAdapter, u32 *ADDAReg,
|
||||||
u32 *ADDABackup, u32 RegisterNum);
|
u32 *ADDABackup, u32 RegisterNum);
|
||||||
|
@ -56,7 +56,7 @@ void _PHY_PathADDAOn(struct adapter *pAdapter, u32 *ADDAReg,
|
||||||
bool isPathAOn, bool is2T);
|
bool isPathAOn, bool is2T);
|
||||||
|
|
||||||
void _PHY_MACSettingCalibration(struct adapter *pAdapter, u32 *MACReg,
|
void _PHY_MACSettingCalibration(struct adapter *pAdapter, u32 *MACReg,
|
||||||
u32 *MACBackup);
|
u32 *MACBackup);
|
||||||
|
|
||||||
void _PHY_PathAStandBy(struct adapter *pAdapter);
|
void _PHY_PathAStandBy(struct adapter *pAdapter);
|
||||||
|
|
||||||
|
|
|
@ -138,20 +138,20 @@ struct HAL_VERSION {
|
||||||
((IS_81XXC(version) && IS_2T2R(version)) ? true : false)
|
((IS_81XXC(version) && IS_2T2R(version)) ? true : false)
|
||||||
#define IS_81xxC_VENDOR_UMC_A_CUT(version) \
|
#define IS_81xxC_VENDOR_UMC_A_CUT(version) \
|
||||||
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
||||||
(IS_A_CUT(version) ? true : false) : false): false)
|
(IS_A_CUT(version) ? true : false) : false) : false)
|
||||||
#define IS_81xxC_VENDOR_UMC_B_CUT(version) \
|
#define IS_81xxC_VENDOR_UMC_B_CUT(version) \
|
||||||
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
||||||
(IS_B_CUT(version) ? true : false) : false): false)
|
(IS_B_CUT(version) ? true : false) : false) : false)
|
||||||
#define IS_81xxC_VENDOR_UMC_C_CUT(version) \
|
#define IS_81xxC_VENDOR_UMC_C_CUT(version) \
|
||||||
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
(IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
|
||||||
(IS_C_CUT(version) ? true : false) : false): false)
|
(IS_C_CUT(version) ? true : false) : false) : false)
|
||||||
|
|
||||||
#define IS_NORMAL_CHIP92D(version) \
|
#define IS_NORMAL_CHIP92D(version) \
|
||||||
(( IS_92D(version)) ? \
|
((IS_92D(version)) ? \
|
||||||
((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP)? true : false) : false)
|
((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP) ? true : false) : false)
|
||||||
|
|
||||||
#define IS_92D_SINGLEPHY(version) \
|
#define IS_92D_SINGLEPHY(version) \
|
||||||
((IS_92D(version)) ? (IS_2T2R(version) ? true: false) : false)
|
((IS_92D(version)) ? (IS_2T2R(version) ? true : false) : false)
|
||||||
#define IS_92D_C_CUT(version) \
|
#define IS_92D_C_CUT(version) \
|
||||||
((IS_92D(version)) ? (IS_C_CUT(version) ? true : false) : false)
|
((IS_92D(version)) ? (IS_C_CUT(version) ? true : false) : false)
|
||||||
#define IS_92D_D_CUT(version) \
|
#define IS_92D_D_CUT(version) \
|
||||||
|
@ -160,8 +160,8 @@ struct HAL_VERSION {
|
||||||
((IS_92D(version)) ? (IS_E_CUT(version) ? true : false) : false)
|
((IS_92D(version)) ? (IS_E_CUT(version) ? true : false) : false)
|
||||||
|
|
||||||
#define IS_8723A_A_CUT(version) \
|
#define IS_8723A_A_CUT(version) \
|
||||||
((IS_8723_SERIES(version)) ? ( IS_A_CUT(version)?true : false) : false)
|
((IS_8723_SERIES(version)) ? (IS_A_CUT(version) ? true : false) : false)
|
||||||
#define IS_8723A_B_CUT(version) \
|
#define IS_8723A_B_CUT(version) \
|
||||||
((IS_8723_SERIES(version)) ? ( IS_B_CUT(version)?true : false) : false)
|
((IS_8723_SERIES(version)) ? (IS_B_CUT(version) ? true : false) : false)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -157,31 +157,25 @@ value to host byte ordering.*/
|
||||||
* Set subfield of little-endian 4-byte value to specified value.
|
* Set subfield of little-endian 4-byte value to specified value.
|
||||||
*/
|
*/
|
||||||
#define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
#define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
||||||
do { \
|
|
||||||
*((u32 *)(__pstart)) = \
|
*((u32 *)(__pstart)) = \
|
||||||
( \
|
( \
|
||||||
LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
|
LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
|
||||||
((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) << (__bitoffset)) \
|
((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) << (__bitoffset)) \
|
||||||
); \
|
)
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define SET_BITS_TO_LE_2BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
#define SET_BITS_TO_LE_2BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
||||||
do { \
|
|
||||||
*((u16 *)(__pstart)) = \
|
*((u16 *)(__pstart)) = \
|
||||||
( \
|
( \
|
||||||
LE_BITS_CLEARED_TO_2BYTE(__pstart, __bitoffset, __bitlen) | \
|
LE_BITS_CLEARED_TO_2BYTE(__pstart, __bitoffset, __bitlen) | \
|
||||||
((((u16)__val) & BIT_LEN_MASK_16(__bitlen)) << (__bitoffset)) \
|
((((u16)__val) & BIT_LEN_MASK_16(__bitlen)) << (__bitoffset)) \
|
||||||
); \
|
);
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define SET_BITS_TO_LE_1BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
#define SET_BITS_TO_LE_1BYTE(__pstart, __bitoffset, __bitlen, __val) \
|
||||||
do { \
|
|
||||||
*((u8 *)(__pstart)) = EF1BYTE \
|
*((u8 *)(__pstart)) = EF1BYTE \
|
||||||
( \
|
( \
|
||||||
LE_BITS_CLEARED_TO_1BYTE(__pstart, __bitoffset, __bitlen) | \
|
LE_BITS_CLEARED_TO_1BYTE(__pstart, __bitoffset, __bitlen) | \
|
||||||
((((u8)__val) & BIT_LEN_MASK_8(__bitlen)) << (__bitoffset)) \
|
((((u8)__val) & BIT_LEN_MASK_8(__bitlen)) << (__bitoffset)) \
|
||||||
); \
|
)
|
||||||
} while (0)
|
|
||||||
|
|
||||||
/* Get the N-bytes aligment offset from the current length */
|
/* Get the N-bytes aligment offset from the current length */
|
||||||
#define N_BYTE_ALIGMENT(__value, __aligment) ((__aligment == 1) ? \
|
#define N_BYTE_ALIGMENT(__value, __aligment) ((__aligment == 1) ? \
|
||||||
|
|
|
@ -20,8 +20,5 @@
|
||||||
#ifndef __CIRC_BUF_H_
|
#ifndef __CIRC_BUF_H_
|
||||||
#define __CIRC_BUF_H_ 1
|
#define __CIRC_BUF_H_ 1
|
||||||
|
|
||||||
//#define CIRC_CNT(head, tail, size) (((head) - (tail)) & ((size)-1))
|
|
||||||
|
|
||||||
//#define CIRC_SPACE(head, tail, size) CIRC_CNT((tail), ((head)+1), (size))
|
|
||||||
|
|
||||||
#endif /* _CIRC_BUF_H_ */
|
#endif /* _CIRC_BUF_H_ */
|
||||||
|
|
|
@ -245,7 +245,7 @@ struct hal_ops {
|
||||||
void (*ReadEFuse)(struct adapter *padapter, u8 efuseType, u16 _offset,
|
void (*ReadEFuse)(struct adapter *padapter, u8 efuseType, u16 _offset,
|
||||||
u16 _size_byte, u8 *pbuf, bool bPseudoTest);
|
u16 _size_byte, u8 *pbuf, bool bPseudoTest);
|
||||||
void (*EFUSEGetEfuseDefinition)(struct adapter *padapter, u8 efuseType,
|
void (*EFUSEGetEfuseDefinition)(struct adapter *padapter, u8 efuseType,
|
||||||
u8 type, void *pOut, bool bPseudoTest);
|
u8 type, void *pOut, bool bPseudoTest);
|
||||||
u16 (*EfuseGetCurrentSize)(struct adapter *padapter, u8 efuseType,
|
u16 (*EfuseGetCurrentSize)(struct adapter *padapter, u8 efuseType,
|
||||||
bool bPseudoTest);
|
bool bPseudoTest);
|
||||||
int (*Efuse_PgPacketRead)(struct adapter *adapter, u8 offset,
|
int (*Efuse_PgPacketRead)(struct adapter *adapter, u8 offset,
|
||||||
|
@ -269,8 +269,8 @@ struct hal_ops {
|
||||||
struct xmit_frame *frame, u32 max_wait,
|
struct xmit_frame *frame, u32 max_wait,
|
||||||
u32 bndy_cnt);
|
u32 bndy_cnt);
|
||||||
|
|
||||||
void (*hal_notch_filter)(struct adapter * adapter, bool enable);
|
void (*hal_notch_filter)(struct adapter *adapter, bool enable);
|
||||||
void (*hal_reset_security_engine)(struct adapter * adapter);
|
void (*hal_reset_security_engine)(struct adapter *adapter);
|
||||||
s32 (*c2h_handler)(struct adapter *padapter,
|
s32 (*c2h_handler)(struct adapter *padapter,
|
||||||
struct c2h_evt_hdr *c2h_evt);
|
struct c2h_evt_hdr *c2h_evt);
|
||||||
c2h_id_filter c2h_id_filter_ccx;
|
c2h_id_filter c2h_id_filter_ccx;
|
||||||
|
@ -313,38 +313,38 @@ enum hardware_type {
|
||||||
|
|
||||||
/* RTL8192C Series */
|
/* RTL8192C Series */
|
||||||
#define IS_HARDWARE_TYPE_8192CE(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192CE(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8192CE)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8192CE)
|
||||||
#define IS_HARDWARE_TYPE_8192CU(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192CU(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8192CU)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8192CU)
|
||||||
#define IS_HARDWARE_TYPE_8192C(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192C(_Adapter) \
|
||||||
(IS_HARDWARE_TYPE_8192CE(_Adapter) || IS_HARDWARE_TYPE_8192CU(_Adapter))
|
(IS_HARDWARE_TYPE_8192CE(_Adapter) || IS_HARDWARE_TYPE_8192CU(_Adapter))
|
||||||
|
|
||||||
/* RTL8192D Series */
|
/* RTL8192D Series */
|
||||||
#define IS_HARDWARE_TYPE_8192DE(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192DE(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8192DE)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8192DE)
|
||||||
#define IS_HARDWARE_TYPE_8192DU(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192DU(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8192DU)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8192DU)
|
||||||
#define IS_HARDWARE_TYPE_8192D(_Adapter) \
|
#define IS_HARDWARE_TYPE_8192D(_Adapter) \
|
||||||
(IS_HARDWARE_TYPE_8192DE(_Adapter) || IS_HARDWARE_TYPE_8192DU(_Adapter))
|
(IS_HARDWARE_TYPE_8192DE(_Adapter) || IS_HARDWARE_TYPE_8192DU(_Adapter))
|
||||||
|
|
||||||
/* RTL8723A Series */
|
/* RTL8723A Series */
|
||||||
#define IS_HARDWARE_TYPE_8723AE(_Adapter) \
|
#define IS_HARDWARE_TYPE_8723AE(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8723AE)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8723AE)
|
||||||
#define IS_HARDWARE_TYPE_8723AU(_Adapter) \
|
#define IS_HARDWARE_TYPE_8723AU(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8723AU)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8723AU)
|
||||||
#define IS_HARDWARE_TYPE_8723AS(_Adapter) \
|
#define IS_HARDWARE_TYPE_8723AS(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8723AS)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8723AS)
|
||||||
#define IS_HARDWARE_TYPE_8723A(_Adapter) \
|
#define IS_HARDWARE_TYPE_8723A(_Adapter) \
|
||||||
(IS_HARDWARE_TYPE_8723AE(_Adapter) || IS_HARDWARE_TYPE_8723AU(_Adapter) || \
|
(IS_HARDWARE_TYPE_8723AE(_Adapter) || IS_HARDWARE_TYPE_8723AU(_Adapter) || \
|
||||||
IS_HARDWARE_TYPE_8723AS(_Adapter))
|
IS_HARDWARE_TYPE_8723AS(_Adapter))
|
||||||
|
|
||||||
/* RTL8188E Series */
|
/* RTL8188E Series */
|
||||||
#define IS_HARDWARE_TYPE_8188EE(_Adapter) \
|
#define IS_HARDWARE_TYPE_8188EE(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8188EE)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188EE)
|
||||||
#define IS_HARDWARE_TYPE_8188EU(_Adapter) \
|
#define IS_HARDWARE_TYPE_8188EU(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8188EU)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188EU)
|
||||||
#define IS_HARDWARE_TYPE_8188ES(_Adapter) \
|
#define IS_HARDWARE_TYPE_8188ES(_Adapter) \
|
||||||
(((struct adapter *)_Adapter)->HardwareType==HARDWARE_TYPE_RTL8188ES)
|
(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188ES)
|
||||||
#define IS_HARDWARE_TYPE_8188E(_Adapter) \
|
#define IS_HARDWARE_TYPE_8188E(_Adapter) \
|
||||||
(IS_HARDWARE_TYPE_8188EE(_Adapter) || IS_HARDWARE_TYPE_8188EU(_Adapter) || \
|
(IS_HARDWARE_TYPE_8188EE(_Adapter) || IS_HARDWARE_TYPE_8188EU(_Adapter) || \
|
||||||
IS_HARDWARE_TYPE_8188ES(_Adapter))
|
IS_HARDWARE_TYPE_8188ES(_Adapter))
|
||||||
|
@ -368,7 +368,7 @@ enum wowlan_subcode {
|
||||||
WOWLAN_DEBUG_2 = 11
|
WOWLAN_DEBUG_2 = 11
|
||||||
};
|
};
|
||||||
|
|
||||||
struct wowlan_ioctl_param{
|
struct wowlan_ioctl_param {
|
||||||
unsigned int subcode;
|
unsigned int subcode;
|
||||||
unsigned int subcode_value;
|
unsigned int subcode_value;
|
||||||
unsigned int wakeup_reason;
|
unsigned int wakeup_reason;
|
||||||
|
@ -399,8 +399,8 @@ u32 rtw_hal_power_on(struct adapter *padapter);
|
||||||
uint rtw_hal_init(struct adapter *padapter);
|
uint rtw_hal_init(struct adapter *padapter);
|
||||||
uint rtw_hal_deinit(struct adapter *padapter);
|
uint rtw_hal_deinit(struct adapter *padapter);
|
||||||
void rtw_hal_stop(struct adapter *padapter);
|
void rtw_hal_stop(struct adapter *padapter);
|
||||||
void rtw_hal_set_hwreg(struct adapter * padapter, u8 variable, u8 *val);
|
void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val);
|
||||||
void rtw_hal_get_hwreg(struct adapter * padapter, u8 variable, u8 *val);
|
void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val);
|
||||||
|
|
||||||
void rtw_hal_chip_configure(struct adapter *padapter);
|
void rtw_hal_chip_configure(struct adapter *padapter);
|
||||||
void rtw_hal_read_chip_info(struct adapter *padapter);
|
void rtw_hal_read_chip_info(struct adapter *padapter);
|
||||||
|
@ -471,17 +471,17 @@ void rtw_hal_sreset_init(struct adapter *padapter);
|
||||||
void rtw_hal_sreset_reset(struct adapter *padapter);
|
void rtw_hal_sreset_reset(struct adapter *padapter);
|
||||||
void rtw_hal_sreset_reset_value(struct adapter *padapter);
|
void rtw_hal_sreset_reset_value(struct adapter *padapter);
|
||||||
void rtw_hal_sreset_xmit_status_check(struct adapter *padapter);
|
void rtw_hal_sreset_xmit_status_check(struct adapter *padapter);
|
||||||
void rtw_hal_sreset_linked_status_check (struct adapter *padapter);
|
void rtw_hal_sreset_linked_status_check(struct adapter *padapter);
|
||||||
u8 rtw_hal_sreset_get_wifi_status(struct adapter *padapter);
|
u8 rtw_hal_sreset_get_wifi_status(struct adapter *padapter);
|
||||||
|
|
||||||
int rtw_hal_iol_cmd(struct adapter *adapter, struct xmit_frame *xmit_frame,
|
int rtw_hal_iol_cmd(struct adapter *adapter, struct xmit_frame *xmit_frame,
|
||||||
u32 max_wating_ms, u32 bndy_cnt);
|
u32 max_wating_ms, u32 bndy_cnt);
|
||||||
|
|
||||||
void rtw_hal_notch_filter(struct adapter * adapter, bool enable);
|
void rtw_hal_notch_filter(struct adapter *adapter, bool enable);
|
||||||
void rtw_hal_reset_security_engine(struct adapter * adapter);
|
void rtw_hal_reset_security_engine(struct adapter *adapter);
|
||||||
|
|
||||||
s32 rtw_hal_c2h_handler(struct adapter *adapter,
|
s32 rtw_hal_c2h_handler(struct adapter *adapter,
|
||||||
struct c2h_evt_hdr *c2h_evt);
|
struct c2h_evt_hdr *c2h_evt);
|
||||||
c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter);
|
c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter);
|
||||||
|
|
||||||
#endif /* __HAL_INTF_H__ */
|
#endif /* __HAL_INTF_H__ */
|
||||||
|
|
|
@ -162,21 +162,27 @@ enum ratr_table_mode {
|
||||||
enum NETWORK_TYPE {
|
enum NETWORK_TYPE {
|
||||||
WIRELESS_INVALID = 0,
|
WIRELESS_INVALID = 0,
|
||||||
/* Sub-Element */
|
/* Sub-Element */
|
||||||
WIRELESS_11B = BIT(0), /* tx: cck only, rx: cck only, hw: cck */
|
WIRELESS_11B = BIT(0), /* tx:cck only, rx:cck only, hw: cck */
|
||||||
WIRELESS_11G = BIT(1), /* tx: ofdm only, rx: ofdm & cck, hw: cck & ofdm */
|
WIRELESS_11G = BIT(1), /* tx:ofdm only, rx:ofdm & cck, hw:cck & ofdm*/
|
||||||
WIRELESS_11A = BIT(2), /* tx: ofdm only, rx: ofdm only, hw: ofdm only */
|
WIRELESS_11A = BIT(2), /* tx:ofdm only, rx: ofdm only, hw:ofdm only */
|
||||||
WIRELESS_11_24N = BIT(3), /* tx: MCS only, rx: MCS & cck, hw: MCS & cck */
|
WIRELESS_11_24N = BIT(3), /* tx:MCS only, rx:MCS & cck, hw:MCS & cck */
|
||||||
WIRELESS_11_5N = BIT(4), /* tx: MCS only, rx: MCS & ofdm, hw: ofdm only */
|
WIRELESS_11_5N = BIT(4), /* tx:MCS only, rx:MCS & ofdm, hw:ofdm only */
|
||||||
/* WIRELESS_AUTO = BIT(5), */
|
|
||||||
WIRELESS_AC = BIT(6),
|
WIRELESS_AC = BIT(6),
|
||||||
|
|
||||||
/* Combination */
|
/* Combination */
|
||||||
WIRELESS_11BG = (WIRELESS_11B|WIRELESS_11G), /* tx: cck & ofdm, rx: cck & ofdm & MCS, hw: cck & ofdm */
|
/* tx: cck & ofdm, rx: cck & ofdm & MCS, hw: cck & ofdm */
|
||||||
WIRELESS_11G_24N = (WIRELESS_11G|WIRELESS_11_24N), /* tx: ofdm & MCS, rx: ofdm & cck & MCS, hw: cck & ofdm */
|
WIRELESS_11BG = (WIRELESS_11B | WIRELESS_11G),
|
||||||
WIRELESS_11A_5N = (WIRELESS_11A|WIRELESS_11_5N), /* tx: ofdm & MCS, rx: ofdm & MCS, hw: ofdm only */
|
/* tx: ofdm & MCS, rx: ofdm & cck & MCS, hw: cck & ofdm */
|
||||||
WIRELESS_11BG_24N = (WIRELESS_11B|WIRELESS_11G|WIRELESS_11_24N), /* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
|
WIRELESS_11G_24N = (WIRELESS_11G | WIRELESS_11_24N),
|
||||||
WIRELESS_11AGN = (WIRELESS_11A|WIRELESS_11G|WIRELESS_11_24N|WIRELESS_11_5N), /* tx: ofdm & MCS, rx: ofdm & MCS, hw: ofdm only */
|
/* tx: ofdm & MCS, rx: ofdm & MCS, hw: ofdm only */
|
||||||
WIRELESS_11ABGN = (WIRELESS_11A|WIRELESS_11B|WIRELESS_11G|WIRELESS_11_24N|WIRELESS_11_5N),
|
WIRELESS_11A_5N = (WIRELESS_11A | WIRELESS_11_5N),
|
||||||
|
/* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
|
||||||
|
WIRELESS_11BG_24N = (WIRELESS_11B | WIRELESS_11G | WIRELESS_11_24N),
|
||||||
|
/* tx: ofdm & MCS, rx: ofdm & MCS, hw: ofdm only */
|
||||||
|
WIRELESS_11AGN = (WIRELESS_11A | WIRELESS_11G | WIRELESS_11_24N |
|
||||||
|
WIRELESS_11_5N),
|
||||||
|
WIRELESS_11ABGN = (WIRELESS_11A | WIRELESS_11B | WIRELESS_11G |
|
||||||
|
WIRELESS_11_24N | WIRELESS_11_5N),
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SUPPORTED_24G_NETTYPE_MSK \
|
#define SUPPORTED_24G_NETTYPE_MSK \
|
||||||
|
@ -257,7 +263,7 @@ struct ieee_param_ex {
|
||||||
u8 data[0];
|
u8 data[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sta_data{
|
struct sta_data {
|
||||||
u16 aid;
|
u16 aid;
|
||||||
u16 capability;
|
u16 capability;
|
||||||
int flags;
|
int flags;
|
||||||
|
@ -373,21 +379,21 @@ enum eap_type {
|
||||||
|
|
||||||
/* Frame control field constants */
|
/* Frame control field constants */
|
||||||
#define RTW_IEEE80211_FCTL_VERS 0x0003
|
#define RTW_IEEE80211_FCTL_VERS 0x0003
|
||||||
#define RTW_IEEE80211_FCTL_FTYPE 0x000c
|
#define RTW_IEEE80211_FCTL_FTYPE 0x000c
|
||||||
#define RTW_IEEE80211_FCTL_STYPE 0x00f0
|
#define RTW_IEEE80211_FCTL_STYPE 0x00f0
|
||||||
#define RTW_IEEE80211_FCTL_TODS 0x0100
|
#define RTW_IEEE80211_FCTL_TODS 0x0100
|
||||||
#define RTW_IEEE80211_FCTL_FROMDS 0x0200
|
#define RTW_IEEE80211_FCTL_FROMDS 0x0200
|
||||||
#define RTW_IEEE80211_FCTL_MOREFRAGS 0x0400
|
#define RTW_IEEE80211_FCTL_MOREFRAGS 0x0400
|
||||||
#define RTW_IEEE80211_FCTL_RETRY 0x0800
|
#define RTW_IEEE80211_FCTL_RETRY 0x0800
|
||||||
#define RTW_IEEE80211_FCTL_PM 0x1000
|
#define RTW_IEEE80211_FCTL_PM 0x1000
|
||||||
#define RTW_IEEE80211_FCTL_MOREDATA 0x2000
|
#define RTW_IEEE80211_FCTL_MOREDATA 0x2000
|
||||||
#define RTW_IEEE80211_FCTL_PROTECTED 0x4000
|
#define RTW_IEEE80211_FCTL_PROTECTED 0x4000
|
||||||
#define RTW_IEEE80211_FCTL_ORDER 0x8000
|
#define RTW_IEEE80211_FCTL_ORDER 0x8000
|
||||||
#define RTW_IEEE80211_FCTL_CTL_EXT 0x0f00
|
#define RTW_IEEE80211_FCTL_CTL_EXT 0x0f00
|
||||||
|
|
||||||
#define RTW_IEEE80211_FTYPE_MGMT 0x0000
|
#define RTW_IEEE80211_FTYPE_MGMT 0x0000
|
||||||
#define RTW_IEEE80211_FTYPE_CTL 0x0004
|
#define RTW_IEEE80211_FTYPE_CTL 0x0004
|
||||||
#define RTW_IEEE80211_FTYPE_DATA 0x0008
|
#define RTW_IEEE80211_FTYPE_DATA 0x0008
|
||||||
#define RTW_IEEE80211_FTYPE_EXT 0x000c
|
#define RTW_IEEE80211_FTYPE_EXT 0x000c
|
||||||
|
|
||||||
/* management */
|
/* management */
|
||||||
|
@ -397,36 +403,36 @@ enum eap_type {
|
||||||
#define RTW_IEEE80211_STYPE_REASSOC_RESP 0x0030
|
#define RTW_IEEE80211_STYPE_REASSOC_RESP 0x0030
|
||||||
#define RTW_IEEE80211_STYPE_PROBE_REQ 0x0040
|
#define RTW_IEEE80211_STYPE_PROBE_REQ 0x0040
|
||||||
#define RTW_IEEE80211_STYPE_PROBE_RESP 0x0050
|
#define RTW_IEEE80211_STYPE_PROBE_RESP 0x0050
|
||||||
#define RTW_IEEE80211_STYPE_BEACON 0x0080
|
#define RTW_IEEE80211_STYPE_BEACON 0x0080
|
||||||
#define RTW_IEEE80211_STYPE_ATIM 0x0090
|
#define RTW_IEEE80211_STYPE_ATIM 0x0090
|
||||||
#define RTW_IEEE80211_STYPE_DISASSOC 0x00A0
|
#define RTW_IEEE80211_STYPE_DISASSOC 0x00A0
|
||||||
#define RTW_IEEE80211_STYPE_AUTH 0x00B0
|
#define RTW_IEEE80211_STYPE_AUTH 0x00B0
|
||||||
#define RTW_IEEE80211_STYPE_DEAUTH 0x00C0
|
#define RTW_IEEE80211_STYPE_DEAUTH 0x00C0
|
||||||
#define RTW_IEEE80211_STYPE_ACTION 0x00D0
|
#define RTW_IEEE80211_STYPE_ACTION 0x00D0
|
||||||
|
|
||||||
/* control */
|
/* control */
|
||||||
#define RTW_IEEE80211_STYPE_CTL_EXT 0x0060
|
#define RTW_IEEE80211_STYPE_CTL_EXT 0x0060
|
||||||
#define RTW_IEEE80211_STYPE_BACK_REQ 0x0080
|
#define RTW_IEEE80211_STYPE_BACK_REQ 0x0080
|
||||||
#define RTW_IEEE80211_STYPE_BACK 0x0090
|
#define RTW_IEEE80211_STYPE_BACK 0x0090
|
||||||
#define RTW_IEEE80211_STYPE_PSPOLL 0x00A0
|
#define RTW_IEEE80211_STYPE_PSPOLL 0x00A0
|
||||||
#define RTW_IEEE80211_STYPE_RTS 0x00B0
|
#define RTW_IEEE80211_STYPE_RTS 0x00B0
|
||||||
#define RTW_IEEE80211_STYPE_CTS 0x00C0
|
#define RTW_IEEE80211_STYPE_CTS 0x00C0
|
||||||
#define RTW_IEEE80211_STYPE_ACK 0x00D0
|
#define RTW_IEEE80211_STYPE_ACK 0x00D0
|
||||||
#define RTW_IEEE80211_STYPE_CFEND 0x00E0
|
#define RTW_IEEE80211_STYPE_CFEND 0x00E0
|
||||||
#define RTW_IEEE80211_STYPE_CFENDACK 0x00F0
|
#define RTW_IEEE80211_STYPE_CFENDACK 0x00F0
|
||||||
|
|
||||||
/* data */
|
/* data */
|
||||||
#define RTW_IEEE80211_STYPE_DATA 0x0000
|
#define RTW_IEEE80211_STYPE_DATA 0x0000
|
||||||
#define RTW_IEEE80211_STYPE_DATA_CFACK 0x0010
|
#define RTW_IEEE80211_STYPE_DATA_CFACK 0x0010
|
||||||
#define RTW_IEEE80211_STYPE_DATA_CFPOLL 0x0020
|
#define RTW_IEEE80211_STYPE_DATA_CFPOLL 0x0020
|
||||||
#define RTW_IEEE80211_STYPE_DATA_CFACKPOLL 0x0030
|
#define RTW_IEEE80211_STYPE_DATA_CFACKPOLL 0x0030
|
||||||
#define RTW_IEEE80211_STYPE_NULLFUNC 0x0040
|
#define RTW_IEEE80211_STYPE_NULLFUNC 0x0040
|
||||||
#define RTW_IEEE80211_STYPE_CFACK 0x0050
|
#define RTW_IEEE80211_STYPE_CFACK 0x0050
|
||||||
#define RTW_IEEE80211_STYPE_CFPOLL 0x0060
|
#define RTW_IEEE80211_STYPE_CFPOLL 0x0060
|
||||||
#define RTW_IEEE80211_STYPE_CFACKPOLL 0x0070
|
#define RTW_IEEE80211_STYPE_CFACKPOLL 0x0070
|
||||||
#define RTW_IEEE80211_STYPE_QOS_DATA 0x0080
|
#define RTW_IEEE80211_STYPE_QOS_DATA 0x0080
|
||||||
#define RTW_IEEE80211_STYPE_QOS_DATA_CFACK 0x0090
|
#define RTW_IEEE80211_STYPE_QOS_DATA_CFACK 0x0090
|
||||||
#define RTW_IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0
|
#define RTW_IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0
|
||||||
#define RTW_IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0
|
#define RTW_IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0
|
||||||
#define RTW_IEEE80211_STYPE_QOS_NULLFUNC 0x00C0
|
#define RTW_IEEE80211_STYPE_QOS_NULLFUNC 0x00C0
|
||||||
#define RTW_IEEE80211_STYPE_QOS_CFACK 0x00D0
|
#define RTW_IEEE80211_STYPE_QOS_CFACK 0x00D0
|
||||||
|
@ -445,7 +451,7 @@ enum eap_type {
|
||||||
/* QoS, QOS */
|
/* QoS, QOS */
|
||||||
#define NORMAL_ACK 0
|
#define NORMAL_ACK 0
|
||||||
#define NO_ACK 1
|
#define NO_ACK 1
|
||||||
#define NON_EXPLICIT_ACK 2
|
#define NON_EXPLICIT_ACK 2
|
||||||
#define BLOCK_ACK 3
|
#define BLOCK_ACK 3
|
||||||
|
|
||||||
#ifndef ETH_P_PAE
|
#ifndef ETH_P_PAE
|
||||||
|
@ -618,22 +624,25 @@ struct ieee80211_snap_hdr {
|
||||||
#define IEEE80211_CCK_RATES_MASK 0x0000000F
|
#define IEEE80211_CCK_RATES_MASK 0x0000000F
|
||||||
#define IEEE80211_CCK_BASIC_RATES_MASK (IEEE80211_CCK_RATE_1MB_MASK | \
|
#define IEEE80211_CCK_BASIC_RATES_MASK (IEEE80211_CCK_RATE_1MB_MASK | \
|
||||||
IEEE80211_CCK_RATE_2MB_MASK)
|
IEEE80211_CCK_RATE_2MB_MASK)
|
||||||
#define IEEE80211_CCK_DEFAULT_RATES_MASK (IEEE80211_CCK_BASIC_RATES_MASK | \
|
#define IEEE80211_CCK_DEFAULT_RATES_MASK \
|
||||||
IEEE80211_CCK_RATE_5MB_MASK | \
|
(IEEE80211_CCK_BASIC_RATES_MASK | \
|
||||||
|
IEEE80211_CCK_RATE_5MB_MASK | \
|
||||||
IEEE80211_CCK_RATE_11MB_MASK)
|
IEEE80211_CCK_RATE_11MB_MASK)
|
||||||
|
|
||||||
#define IEEE80211_OFDM_RATES_MASK 0x00000FF0
|
#define IEEE80211_OFDM_RATES_MASK 0x00000FF0
|
||||||
#define IEEE80211_OFDM_BASIC_RATES_MASK (IEEE80211_OFDM_RATE_6MB_MASK | \
|
#define IEEE80211_OFDM_BASIC_RATES_MASK (IEEE80211_OFDM_RATE_6MB_MASK | \
|
||||||
IEEE80211_OFDM_RATE_12MB_MASK | \
|
IEEE80211_OFDM_RATE_12MB_MASK | \
|
||||||
IEEE80211_OFDM_RATE_24MB_MASK)
|
IEEE80211_OFDM_RATE_24MB_MASK)
|
||||||
#define IEEE80211_OFDM_DEFAULT_RATES_MASK (IEEE80211_OFDM_BASIC_RATES_MASK | \
|
#define IEEE80211_OFDM_DEFAULT_RATES_MASK \
|
||||||
IEEE80211_OFDM_RATE_9MB_MASK | \
|
(IEEE80211_OFDM_BASIC_RATES_MASK | \
|
||||||
IEEE80211_OFDM_RATE_18MB_MASK | \
|
IEEE80211_OFDM_RATE_9MB_MASK | \
|
||||||
IEEE80211_OFDM_RATE_36MB_MASK | \
|
IEEE80211_OFDM_RATE_18MB_MASK | \
|
||||||
IEEE80211_OFDM_RATE_48MB_MASK | \
|
IEEE80211_OFDM_RATE_36MB_MASK | \
|
||||||
|
IEEE80211_OFDM_RATE_48MB_MASK | \
|
||||||
IEEE80211_OFDM_RATE_54MB_MASK)
|
IEEE80211_OFDM_RATE_54MB_MASK)
|
||||||
#define IEEE80211_DEFAULT_RATES_MASK (IEEE80211_OFDM_DEFAULT_RATES_MASK | \
|
#define IEEE80211_DEFAULT_RATES_MASK \
|
||||||
IEEE80211_CCK_DEFAULT_RATES_MASK)
|
(IEEE80211_OFDM_DEFAULT_RATES_MASK | \
|
||||||
|
IEEE80211_CCK_DEFAULT_RATES_MASK)
|
||||||
|
|
||||||
#define IEEE80211_NUM_OFDM_RATES 8
|
#define IEEE80211_NUM_OFDM_RATES 8
|
||||||
#define IEEE80211_NUM_CCK_RATES 4
|
#define IEEE80211_NUM_CCK_RATES 4
|
||||||
|
@ -952,7 +961,7 @@ static inline int is_multicast_mac_addr(const u8 *addr)
|
||||||
|
|
||||||
static inline int is_broadcast_mac_addr(const u8 *addr)
|
static inline int is_broadcast_mac_addr(const u8 *addr)
|
||||||
{
|
{
|
||||||
return (addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
|
return (addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&
|
||||||
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff);
|
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1001,7 +1010,7 @@ enum rtw_ieee80211_spectrum_mgmt_actioncode {
|
||||||
RTW_WLAN_ACTION_SPCT_EXT_CHL_SWITCH = 5,
|
RTW_WLAN_ACTION_SPCT_EXT_CHL_SWITCH = 5,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum _PUBLIC_ACTION{
|
enum _PUBLIC_ACTION {
|
||||||
ACT_PUBLIC_BSSCOEXIST = 0, /* 20/40 BSS Coexistence */
|
ACT_PUBLIC_BSSCOEXIST = 0, /* 20/40 BSS Coexistence */
|
||||||
ACT_PUBLIC_DSE_ENABLE = 1,
|
ACT_PUBLIC_DSE_ENABLE = 1,
|
||||||
ACT_PUBLIC_DSE_DEENABLE = 2,
|
ACT_PUBLIC_DSE_DEENABLE = 2,
|
||||||
|
@ -1031,14 +1040,14 @@ enum rtw_ieee80211_back_actioncode {
|
||||||
/* HT features action code */
|
/* HT features action code */
|
||||||
enum rtw_ieee80211_ht_actioncode {
|
enum rtw_ieee80211_ht_actioncode {
|
||||||
RTW_WLAN_ACTION_NOTIFY_CH_WIDTH = 0,
|
RTW_WLAN_ACTION_NOTIFY_CH_WIDTH = 0,
|
||||||
RTW_WLAN_ACTION_SM_PS = 1,
|
RTW_WLAN_ACTION_SM_PS = 1,
|
||||||
RTW_WLAN_ACTION_PSPM = 2,
|
RTW_WLAN_ACTION_PSPM = 2,
|
||||||
RTW_WLAN_ACTION_PCO_PHASE = 3,
|
RTW_WLAN_ACTION_PCO_PHASE = 3,
|
||||||
RTW_WLAN_ACTION_MIMO_CSI_MX = 4,
|
RTW_WLAN_ACTION_MIMO_CSI_MX = 4,
|
||||||
RTW_WLAN_ACTION_MIMO_NONCP_BF = 5,
|
RTW_WLAN_ACTION_MIMO_NONCP_BF = 5,
|
||||||
RTW_WLAN_ACTION_MIMP_CP_BF = 6,
|
RTW_WLAN_ACTION_MIMP_CP_BF = 6,
|
||||||
RTW_WLAN_ACTION_ASEL_INDICATES_FB = 7,
|
RTW_WLAN_ACTION_ASEL_INDICATES_FB = 7,
|
||||||
RTW_WLAN_ACTION_HI_INFO_EXCHG = 8,
|
RTW_WLAN_ACTION_HI_INFO_EXCHG = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* BACK (block-ack) parties */
|
/* BACK (block-ack) parties */
|
||||||
|
@ -1192,7 +1201,7 @@ u8 *rtw_set_ie_secondary_ch_offset(u8 *buf, u32 *buf_len,
|
||||||
u8 *rtw_set_ie_mesh_ch_switch_parm(u8 *buf, u32 *buf_len, u8 ttl,
|
u8 *rtw_set_ie_mesh_ch_switch_parm(u8 *buf, u32 *buf_len, u8 ttl,
|
||||||
u8 flags, u16 reason, u16 precedence);
|
u8 flags, u16 reason, u16 precedence);
|
||||||
|
|
||||||
u8 *rtw_get_ie(u8*pbuf, int index, int *len, int limit);
|
u8 *rtw_get_ie(u8 *pbuf, int index, int *len, int limit);
|
||||||
u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui,
|
u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui,
|
||||||
u8 oui_len, u8 *ie, uint *ielen);
|
u8 oui_len, u8 *ie, uint *ielen);
|
||||||
int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset,
|
int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset,
|
||||||
|
@ -1205,9 +1214,9 @@ unsigned char *rtw_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit);
|
||||||
int rtw_get_wpa_cipher_suite(u8 *s);
|
int rtw_get_wpa_cipher_suite(u8 *s);
|
||||||
int rtw_get_wpa2_cipher_suite(u8 *s);
|
int rtw_get_wpa2_cipher_suite(u8 *s);
|
||||||
int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len);
|
int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len);
|
||||||
int rtw_parse_wpa_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher,
|
int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher,
|
||||||
int *pairwise_cipher, int *is_8021x);
|
int *pairwise_cipher, int *is_8021x);
|
||||||
int rtw_parse_wpa2_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher,
|
int rtw_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher,
|
||||||
int *pairwise_cipher, int *is_8021x);
|
int *pairwise_cipher, int *is_8021x);
|
||||||
|
|
||||||
int rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len,
|
int rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len,
|
||||||
|
@ -1227,8 +1236,8 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
|
||||||
* @buf_len:
|
* @buf_len:
|
||||||
*/
|
*/
|
||||||
#define for_each_ie(ie, buf, buf_len) \
|
#define for_each_ie(ie, buf, buf_len) \
|
||||||
for (ie = (void*)buf; (((u8*)ie) - ((u8*)buf) + 1) < buf_len; \
|
for (ie = (void *)buf; (((u8 *)ie) - ((u8 *)buf) + 1) < buf_len; \
|
||||||
ie = (void*)(((u8*)ie) + *(((u8*)ie)+1) + 2))
|
ie = (void *)(((u8 *)ie) + *(((u8 *)ie)+1) + 2))
|
||||||
|
|
||||||
void dump_ies(u8 *buf, u32 buf_len);
|
void dump_ies(u8 *buf, u32 buf_len);
|
||||||
void dump_wps_ie(u8 *ie, u32 ie_len);
|
void dump_wps_ie(u8 *ie, u32 ie_len);
|
||||||
|
@ -1267,7 +1276,7 @@ void rtw_macaddr_cfg(u8 *mac_addr);
|
||||||
u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40,
|
u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40,
|
||||||
unsigned char *MCS_rate);
|
unsigned char *MCS_rate);
|
||||||
|
|
||||||
int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8* category,
|
int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category,
|
||||||
u8 *action);
|
u8 *action);
|
||||||
const char *action_public_str(u8 action);
|
const char *action_public_str(u8 action);
|
||||||
|
|
||||||
|
|
|
@ -284,6 +284,7 @@ struct ieee80211_mgmt {
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
/* mgmt header + 1 byte category code */
|
/* mgmt header + 1 byte category code */
|
||||||
#define IEEE80211_MIN_ACTION_SIZE FIELD_OFFSET(struct ieee80211_mgmt, u.action.u)
|
#define IEEE80211_MIN_ACTION_SIZE \
|
||||||
|
FIELD_OFFSET(struct ieee80211_mgmt, u.action.u)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
#define ETH_P_ARP 0x0806 /* Address Resolution packet */
|
#define ETH_P_ARP 0x0806 /* Address Resolution packet */
|
||||||
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet */
|
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet */
|
||||||
#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
|
#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
|
||||||
#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP */
|
#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP */
|
||||||
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
|
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
|
||||||
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
|
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
|
||||||
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
|
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
|
||||||
|
@ -90,8 +90,7 @@
|
||||||
* This is an Ethernet frame header.
|
* This is an Ethernet frame header.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct ethhdr
|
struct ethhdr {
|
||||||
{
|
|
||||||
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
||||||
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
||||||
unsigned short h_proto; /* packet type ID field */
|
unsigned short h_proto; /* packet type ID field */
|
||||||
|
@ -103,9 +102,9 @@ struct _vlan {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define get_vlan_id(pvlan) \
|
#define get_vlan_id(pvlan) \
|
||||||
((ntohs((unsigned short )pvlan->h_vlan_TCI)) & 0xfff)
|
((ntohs((unsigned short)pvlan->h_vlan_TCI)) & 0xfff)
|
||||||
#define get_vlan_priority(pvlan) \
|
#define get_vlan_priority(pvlan) \
|
||||||
((ntohs((unsigned short )pvlan->h_vlan_TCI))>>13)
|
((ntohs((unsigned short)pvlan->h_vlan_TCI))>>13)
|
||||||
#define get_vlan_encap_proto(pvlan) \
|
#define get_vlan_encap_proto(pvlan) \
|
||||||
(ntohs((unsigned short)pvlan->h_vlan_encapsulated_proto))
|
(ntohs((unsigned short)pvlan->h_vlan_encapsulated_proto))
|
||||||
|
|
||||||
|
|
|
@ -61,9 +61,6 @@ struct rtw_wdev_priv {
|
||||||
|
|
||||||
#define wdev_to_priv(w) ((struct rtw_wdev_priv *)(wdev_priv(w)))
|
#define wdev_to_priv(w) ((struct rtw_wdev_priv *)(wdev_priv(w)))
|
||||||
|
|
||||||
#define wiphy_tostruct adapter(x) \
|
|
||||||
((struct adapter *)(((struct rtw_wdev_priv *)wiphy_priv(x))->padapter))
|
|
||||||
|
|
||||||
#define wiphy_to_wdev(x) \
|
#define wiphy_to_wdev(x) \
|
||||||
((struct wireless_dev *)(((struct rtw_wdev_priv *)wiphy_priv(x))->rtw_wdev))
|
((struct wireless_dev *)(((struct rtw_wdev_priv *)wiphy_priv(x))->rtw_wdev))
|
||||||
|
|
||||||
|
@ -102,8 +99,8 @@ int rtw_cfg80211_set_mgnt_wpsp2pie(struct net_device *net,
|
||||||
|
|
||||||
bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter);
|
bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter);
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && \
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)) && \
|
||||||
!defined(COMPAT_KERNEL_RELEASE)
|
!defined(COMPAT_KERNEL_RELEASE)
|
||||||
#define rtw_cfg80211_rx_mgmt(dev, freq, sig_dbm, buf, len, gfp) \
|
#define rtw_cfg80211_rx_mgmt(dev, freq, sig_dbm, buf, len, gfp) \
|
||||||
cfg80211_rx_mgmt(dev, freq, buf, len, gfp)
|
cfg80211_rx_mgmt(dev, freq, buf, len, gfp)
|
||||||
#define rtw_cfg80211_send_rx_assoc(dev, bss, buf, len) \
|
#define rtw_cfg80211_send_rx_assoc(dev, bss, buf, len) \
|
||||||
|
|
|
@ -107,7 +107,7 @@ struct iphdr {
|
||||||
#if defined(__LITTLE_ENDIAN_BITFIELD)
|
#if defined(__LITTLE_ENDIAN_BITFIELD)
|
||||||
__u8 ihl:4,
|
__u8 ihl:4,
|
||||||
version:4;
|
version:4;
|
||||||
#elif defined (__BIG_ENDIAN_BITFIELD)
|
#elif defined(__BIG_ENDIAN_BITFIELD)
|
||||||
__u8 version:4,
|
__u8 version:4,
|
||||||
ihl:4;
|
ihl:4;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
#include <osdep_service.h>
|
#include <osdep_service.h>
|
||||||
#include <drv_types.h>
|
#include <drv_types.h>
|
||||||
|
|
||||||
extern void rtw_init_mlme_timer(struct adapter *padapter);
|
void rtw_init_mlme_timer(struct adapter *padapter);
|
||||||
extern void rtw_os_indicate_disconnect( struct adapter *adapter );
|
void rtw_os_indicate_disconnect(struct adapter *adapter);
|
||||||
extern void rtw_os_indicate_connect( struct adapter *adapter );
|
void rtw_os_indicate_connect(struct adapter *adapter);
|
||||||
void rtw_os_indicate_scan_done( struct adapter *padapter, bool aborted);
|
void rtw_os_indicate_scan_done(struct adapter *padapter, bool aborted);
|
||||||
extern void rtw_report_sec_ie(struct adapter *adapter,u8 authmode,u8 *sec_ie);
|
void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie);
|
||||||
|
|
||||||
void rtw_reset_securitypriv( struct adapter *adapter );
|
void rtw_reset_securitypriv(struct adapter *adapter);
|
||||||
void indicate_wx_scan_complete_event(struct adapter *padapter);
|
void indicate_wx_scan_complete_event(struct adapter *padapter);
|
||||||
|
|
||||||
#endif /* _MLME_OSDEP_H_ */
|
#endif /* _MLME_OSDEP_H_ */
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
/* For Production Kit with Agilent Equipments */
|
/* For Production Kit with Agilent Equipments */
|
||||||
/* in order to make our custom oids hopefully somewhat unique */
|
/* in order to make our custom oids hopefully somewhat unique */
|
||||||
/* we will use 0xFF (indicating implementation specific OID) */
|
/* we will use 0xFF (indicating implementation specific OID) */
|
||||||
/* 81(first byte of non zero Realtek unique identifier) */
|
/* 81(first byte of non zero Realtek unique identifier) */
|
||||||
/* 80 (second byte of non zero Realtek unique identifier) */
|
/* 80 (second byte of non zero Realtek unique identifier) */
|
||||||
/* XX (the custom OID number - providing 255 possible custom oids) */
|
/* XX (the custom OID number - providing 255 possible custom oids) */
|
||||||
|
|
||||||
#define OID_RT_PRO_RESET_DUT 0xFF818000
|
#define OID_RT_PRO_RESET_DUT 0xFF818000
|
||||||
#define OID_RT_PRO_SET_DATA_RATE 0xFF818001
|
#define OID_RT_PRO_SET_DATA_RATE 0xFF818001
|
||||||
|
@ -98,13 +98,14 @@
|
||||||
|
|
||||||
|
|
||||||
/* by Owen for RTL8185 Phy Status Report Utility */
|
/* by Owen for RTL8185 Phy Status Report Utility */
|
||||||
#define OID_RT_UTILITY_false_ALARM_COUNTERS 0xFF818580
|
#define OID_RT_UTILITY_false_ALARM_COUNTERS 0xFF818580
|
||||||
#define OID_RT_UTILITY_SELECT_DEBUG_MODE 0xFF818581
|
#define OID_RT_UTILITY_SELECT_DEBUG_MODE 0xFF818581
|
||||||
#define OID_RT_UTILITY_SELECT_SUBCARRIER_NUMBER 0xFF818582
|
#define OID_RT_UTILITY_SELECT_SUBCARRIER_NUMBER 0xFF818582
|
||||||
#define OID_RT_UTILITY_GET_RSSI_STATUS 0xFF818583
|
#define OID_RT_UTILITY_GET_RSSI_STATUS 0xFF818583
|
||||||
#define OID_RT_UTILITY_GET_FRAME_DETECTION_STATUS 0xFF818584
|
#define OID_RT_UTILITY_GET_FRAME_DETECTION_STATUS 0xFF818584
|
||||||
#define OID_RT_UTILITY_GET_AGC_AND_FREQUENCY_OFFSET_ESTIMATION_STATUS 0xFF818585
|
#define OID_RT_UTILITY_GET_AGC_AND_FREQUENCY_OFFSET_ESTIMATION_STATUS \
|
||||||
#define OID_RT_UTILITY_GET_CHANNEL_ESTIMATION_STATUS 0xFF818586
|
0xFF818585
|
||||||
|
#define OID_RT_UTILITY_GET_CHANNEL_ESTIMATION_STATUS 0xFF818586
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
/* by Owen on 03/09/19-03/09/22 for RTL8185 */
|
/* by Owen on 03/09/19-03/09/22 for RTL8185 */
|
||||||
|
@ -199,13 +200,9 @@
|
||||||
/* Vincent 8185MP */
|
/* Vincent 8185MP */
|
||||||
#define OID_RT_PRO_RX_FILTER 0xFF0111C0
|
#define OID_RT_PRO_RX_FILTER 0xFF0111C0
|
||||||
|
|
||||||
/* Andy TEST */
|
|
||||||
/* define OID_RT_PRO_WRITE_REGISTRY 0xFF0111C1 */
|
|
||||||
/* define OID_RT_PRO_READ_REGISTRY 0xFF0111C2 */
|
|
||||||
#define OID_CE_USB_WRITE_REGISTRY 0xFF0111C1
|
#define OID_CE_USB_WRITE_REGISTRY 0xFF0111C1
|
||||||
#define OID_CE_USB_READ_REGISTRY 0xFF0111C2
|
#define OID_CE_USB_READ_REGISTRY 0xFF0111C2
|
||||||
|
|
||||||
|
|
||||||
#define OID_RT_PRO_SET_INITIAL_GA 0xFF0111C3
|
#define OID_RT_PRO_SET_INITIAL_GA 0xFF0111C3
|
||||||
#define OID_RT_PRO_SET_BB_RF_STANDBY_MODE 0xFF0111C4
|
#define OID_RT_PRO_SET_BB_RF_STANDBY_MODE 0xFF0111C4
|
||||||
#define OID_RT_PRO_SET_BB_RF_SHUTDOWN_MODE 0xFF0111C5
|
#define OID_RT_PRO_SET_BB_RF_SHUTDOWN_MODE 0xFF0111C5
|
||||||
|
@ -220,8 +217,10 @@
|
||||||
#define OID_RT_AP_GET_CURRENT_TIME_STAMP 0xFF010301
|
#define OID_RT_AP_GET_CURRENT_TIME_STAMP 0xFF010301
|
||||||
#define OID_RT_AP_SWITCH_INTO_AP_MODE 0xFF010302
|
#define OID_RT_AP_SWITCH_INTO_AP_MODE 0xFF010302
|
||||||
#define OID_RT_AP_SET_DTIM_PERIOD 0xFF010303
|
#define OID_RT_AP_SET_DTIM_PERIOD 0xFF010303
|
||||||
#define OID_RT_AP_SUPPORTED 0xFF010304 /* Determine if driver supports AP mode. 2004.08.27, by rcnjko. */
|
/* Determine if driver supports AP mode. */
|
||||||
#define OID_RT_AP_SET_PASSPHRASE 0xFF010305 /* Set WPA-PSK passphrase into authenticator. 2005.07.08, byrcnjko. */
|
#define OID_RT_AP_SUPPORTED 0xFF010304
|
||||||
|
/* Set WPA-PSK passphrase into authenticator. */
|
||||||
|
#define OID_RT_AP_SET_PASSPHRASE 0xFF010305
|
||||||
|
|
||||||
/* 8187MP. 2004.09.06, by rcnjko. */
|
/* 8187MP. 2004.09.06, by rcnjko. */
|
||||||
#define OID_RT_PRO8187_WI_POLL 0xFF818780
|
#define OID_RT_PRO8187_WI_POLL 0xFF818780
|
||||||
|
|
849
include/odm.h
849
include/odm.h
File diff suppressed because it is too large
Load diff
|
@ -18,24 +18,19 @@
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifndef __HALHWOUTSRC_H__
|
#ifndef __HALHWOUTSRC_H__
|
||||||
#define __HALHWOUTSRC_H__
|
#define __HALHWOUTSRC_H__
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Definition */
|
/* Definition */
|
||||||
/* */
|
|
||||||
/* */
|
|
||||||
/* */
|
|
||||||
/* CCK Rates, TxHT = 0 */
|
/* CCK Rates, TxHT = 0 */
|
||||||
#define DESC92C_RATE1M 0x00
|
#define DESC92C_RATE1M 0x00
|
||||||
#define DESC92C_RATE2M 0x01
|
#define DESC92C_RATE2M 0x01
|
||||||
#define DESC92C_RATE5_5M 0x02
|
#define DESC92C_RATE5_5M 0x02
|
||||||
#define DESC92C_RATE11M 0x03
|
#define DESC92C_RATE11M 0x03
|
||||||
|
|
||||||
/* OFDM Rates, TxHT = 0 */
|
/* OFDM Rates, TxHT = 0 */
|
||||||
#define DESC92C_RATE6M 0x04
|
#define DESC92C_RATE6M 0x04
|
||||||
#define DESC92C_RATE9M 0x05
|
#define DESC92C_RATE9M 0x05
|
||||||
#define DESC92C_RATE12M 0x06
|
#define DESC92C_RATE12M 0x06
|
||||||
#define DESC92C_RATE18M 0x07
|
#define DESC92C_RATE18M 0x07
|
||||||
#define DESC92C_RATE24M 0x08
|
#define DESC92C_RATE24M 0x08
|
||||||
|
@ -44,35 +39,32 @@
|
||||||
#define DESC92C_RATE54M 0x0b
|
#define DESC92C_RATE54M 0x0b
|
||||||
|
|
||||||
/* MCS Rates, TxHT = 1 */
|
/* MCS Rates, TxHT = 1 */
|
||||||
#define DESC92C_RATEMCS0 0x0c
|
#define DESC92C_RATEMCS0 0x0c
|
||||||
#define DESC92C_RATEMCS1 0x0d
|
#define DESC92C_RATEMCS1 0x0d
|
||||||
#define DESC92C_RATEMCS2 0x0e
|
#define DESC92C_RATEMCS2 0x0e
|
||||||
#define DESC92C_RATEMCS3 0x0f
|
#define DESC92C_RATEMCS3 0x0f
|
||||||
#define DESC92C_RATEMCS4 0x10
|
#define DESC92C_RATEMCS4 0x10
|
||||||
#define DESC92C_RATEMCS5 0x11
|
#define DESC92C_RATEMCS5 0x11
|
||||||
#define DESC92C_RATEMCS6 0x12
|
#define DESC92C_RATEMCS6 0x12
|
||||||
#define DESC92C_RATEMCS7 0x13
|
#define DESC92C_RATEMCS7 0x13
|
||||||
#define DESC92C_RATEMCS8 0x14
|
#define DESC92C_RATEMCS8 0x14
|
||||||
#define DESC92C_RATEMCS9 0x15
|
#define DESC92C_RATEMCS9 0x15
|
||||||
#define DESC92C_RATEMCS10 0x16
|
#define DESC92C_RATEMCS10 0x16
|
||||||
#define DESC92C_RATEMCS11 0x17
|
#define DESC92C_RATEMCS11 0x17
|
||||||
#define DESC92C_RATEMCS12 0x18
|
#define DESC92C_RATEMCS12 0x18
|
||||||
#define DESC92C_RATEMCS13 0x19
|
#define DESC92C_RATEMCS13 0x19
|
||||||
#define DESC92C_RATEMCS14 0x1a
|
#define DESC92C_RATEMCS14 0x1a
|
||||||
#define DESC92C_RATEMCS15 0x1b
|
#define DESC92C_RATEMCS15 0x1b
|
||||||
#define DESC92C_RATEMCS15_SG 0x1c
|
#define DESC92C_RATEMCS15_SG 0x1c
|
||||||
#define DESC92C_RATEMCS32 0x20
|
#define DESC92C_RATEMCS32 0x20
|
||||||
|
|
||||||
|
|
||||||
/* */
|
|
||||||
/* structure and define */
|
/* structure and define */
|
||||||
/* */
|
|
||||||
|
|
||||||
struct phy_rx_agc_info {
|
struct phy_rx_agc_info {
|
||||||
#ifdef __LITTLE_ENDIAN
|
#ifdef __LITTLE_ENDIAN
|
||||||
u8 gain:7,trsw:1;
|
u8 gain:7, trsw:1;
|
||||||
#else
|
#else
|
||||||
u8 trsw:1,gain:7;
|
u8 trsw:1, gain:7;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,45 +106,27 @@ struct phy_status_rpt {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void odm_Init_RSSIForDM(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_Init_RSSIForDM(
|
|
||||||
struct odm_dm_struct *pDM_Odm
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void ODM_PhyStatusQuery(struct odm_dm_struct *pDM_Odm,
|
||||||
ODM_PhyStatusQuery(
|
|
||||||
struct odm_dm_struct * pDM_Odm,
|
|
||||||
struct odm_phy_status_info *pPhyInfo,
|
struct odm_phy_status_info *pPhyInfo,
|
||||||
u8 *pPhyStatus,
|
u8 *pPhyStatus,
|
||||||
struct odm_per_pkt_info *pPktinfo
|
struct odm_per_pkt_info *pPktinfo);
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void ODM_MacStatusQuery(struct odm_dm_struct *pDM_Odm,
|
||||||
ODM_MacStatusQuery(
|
|
||||||
struct odm_dm_struct * pDM_Odm,
|
|
||||||
u8 *pMacStatus,
|
u8 *pMacStatus,
|
||||||
u8 MacID,
|
u8 MacID,
|
||||||
bool bPacketMatchBSSID,
|
bool bPacketMatchBSSID,
|
||||||
bool bPacketToSelf,
|
bool bPacketToSelf,
|
||||||
bool bPacketBeacon
|
bool bPacketBeacon);
|
||||||
);
|
|
||||||
|
|
||||||
enum HAL_STATUS
|
enum HAL_STATUS ODM_ConfigRFWithHeaderFile(struct odm_dm_struct *pDM_Odm,
|
||||||
ODM_ConfigRFWithHeaderFile(
|
enum ODM_RF_RADIO_PATH Content,
|
||||||
struct odm_dm_struct * pDM_Odm,
|
enum ODM_RF_RADIO_PATH eRFPath);
|
||||||
enum ODM_RF_RADIO_PATH Content,
|
|
||||||
enum ODM_RF_RADIO_PATH eRFPath
|
|
||||||
);
|
|
||||||
|
|
||||||
enum HAL_STATUS
|
enum HAL_STATUS ODM_ConfigBBWithHeaderFile(struct odm_dm_struct *pDM_Odm,
|
||||||
ODM_ConfigBBWithHeaderFile(
|
enum odm_bb_config_type ConfigType);
|
||||||
struct odm_dm_struct * pDM_Odm,
|
|
||||||
enum odm_bb_config_type ConfigType
|
|
||||||
);
|
|
||||||
|
|
||||||
enum HAL_STATUS
|
enum HAL_STATUS ODM_ConfigMACWithHeaderFile(struct odm_dm_struct *pDM_Odm);
|
||||||
ODM_ConfigMACWithHeaderFile(
|
|
||||||
struct odm_dm_struct *pDM_Odm
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -33,41 +33,24 @@ void ODM_AntennaDiversityInit_88E(struct odm_dm_struct *pDM_Odm);
|
||||||
|
|
||||||
void ODM_AntennaDiversity_88E(struct odm_dm_struct *pDM_Odm);
|
void ODM_AntennaDiversity_88E(struct odm_dm_struct *pDM_Odm);
|
||||||
|
|
||||||
void ODM_SetTxAntByTxInfo_88E(struct odm_dm_struct *pDM_Odm, u8 *pDesc, u8 macId);
|
void ODM_SetTxAntByTxInfo_88E(struct odm_dm_struct *pDM_Odm, u8 *pDesc,
|
||||||
|
u8 macId);
|
||||||
|
|
||||||
void ODM_UpdateRxIdleAnt_88E(struct odm_dm_struct *pDM_Odm, u8 Ant);
|
void ODM_UpdateRxIdleAnt_88E(struct odm_dm_struct *pDM_Odm, u8 Ant);
|
||||||
|
|
||||||
void ODM_AntselStatistics_88E(struct odm_dm_struct *pDM_Odm,
|
void ODM_AntselStatistics_88E(struct odm_dm_struct *pDM_Odm, u8 antsel_tr_mux,
|
||||||
u8 antsel_tr_mux,
|
u32 MacId, u8 RxPWDBAll);
|
||||||
u32 MacId,
|
|
||||||
u8 RxPWDBAll
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_FastAntTraining(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_FastAntTraining(
|
|
||||||
struct odm_dm_struct *pDM_Odm
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_FastAntTrainingCallback(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_FastAntTrainingCallback(
|
|
||||||
struct odm_dm_struct *pDM_Odm
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_FastAntTrainingWorkItemCallback(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_FastAntTrainingWorkItemCallback(
|
|
||||||
struct odm_dm_struct *pDM_Odm
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_PrimaryCCA_Init(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_PrimaryCCA_Init(
|
|
||||||
struct odm_dm_struct *pDM_Odm);
|
|
||||||
|
|
||||||
bool
|
bool ODM_DynamicPrimaryCCA_DupRTS(struct odm_dm_struct *pDM_Odm);
|
||||||
ODM_DynamicPrimaryCCA_DupRTS(
|
|
||||||
struct odm_dm_struct *pDM_Odm);
|
|
||||||
|
|
||||||
void
|
void odm_DynamicPrimaryCCA(struct odm_dm_struct *pDM_Odm);
|
||||||
odm_DynamicPrimaryCCA(
|
|
||||||
struct odm_dm_struct *pDM_Odm);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,48 +23,21 @@
|
||||||
void odm_ConfigRFReg_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u32 Data,
|
void odm_ConfigRFReg_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u32 Data,
|
||||||
enum ODM_RF_RADIO_PATH RF_PATH, u32 RegAddr);
|
enum ODM_RF_RADIO_PATH RF_PATH, u32 RegAddr);
|
||||||
|
|
||||||
void
|
void odm_ConfigRF_RadioA_8188E(struct odm_dm_struct *pDM_Odm,
|
||||||
odm_ConfigRF_RadioA_8188E(
|
u32 Addr, u32 Data);
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
|
||||||
u32 Data
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_ConfigRF_RadioB_8188E(struct odm_dm_struct *pDM_Odm,
|
||||||
odm_ConfigRF_RadioB_8188E(
|
u32 Addr, u32 Data);
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
|
||||||
u32 Data
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_ConfigMAC_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u8 Data);
|
||||||
odm_ConfigMAC_8188E(
|
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
|
||||||
u8 Data
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_ConfigBB_AGC_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr,
|
||||||
odm_ConfigBB_AGC_8188E(
|
u32 Bitmask, u32 Data);
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
|
||||||
u32 Bitmask,
|
|
||||||
u32 Data
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
void odm_ConfigBB_PHY_REG_PG_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr,
|
||||||
odm_ConfigBB_PHY_REG_PG_8188E(
|
u32 Bitmask, u32 Data);
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
void odm_ConfigBB_PHY_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr,
|
||||||
u32 Bitmask,
|
u32 Bitmask, u32 Data);
|
||||||
u32 Data
|
|
||||||
);
|
|
||||||
|
|
||||||
void
|
|
||||||
odm_ConfigBB_PHY_8188E(
|
|
||||||
struct odm_dm_struct *pDM_Odm,
|
|
||||||
u32 Addr,
|
|
||||||
u32 Bitmask,
|
|
||||||
u32 Data
|
|
||||||
);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -24,133 +24,122 @@
|
||||||
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
/* Define the debug levels */
|
/* Define the debug levels */
|
||||||
/* */
|
/* */
|
||||||
/* 1. DBG_TRACE and DBG_LOUD are used for normal cases. */
|
/* 1. DBG_TRACE and DBG_LOUD are used for normal cases. */
|
||||||
/* So that, they can help SW engineer to develope or trace states changed */
|
/* They can help SW engineer to develope or trace states changed */
|
||||||
/* and also help HW enginner to trace every operation to and from HW, */
|
/* and also help HW enginner to trace every operation to and from HW, */
|
||||||
/* e.g IO, Tx, Rx. */
|
/* e.g IO, Tx, Rx. */
|
||||||
/* */
|
/* */
|
||||||
/* 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases, */
|
/* 2. DBG_WARNNING and DBG_SERIOUS are used for unusual or error cases, */
|
||||||
/* which help us to debug SW or HW. */
|
/* which help us to debug SW or HW. */
|
||||||
/* */
|
|
||||||
/* */
|
|
||||||
/* */
|
|
||||||
/* Never used in a call to ODM_RT_TRACE()! */
|
|
||||||
/* */
|
|
||||||
#define ODM_DBG_OFF 1
|
|
||||||
|
|
||||||
/* */
|
/* Never used in a call to ODM_RT_TRACE()! */
|
||||||
/* Fatal bug. */
|
#define ODM_DBG_OFF 1
|
||||||
/* For example, Tx/Rx/IO locked up, OS hangs, memory access violation, */
|
|
||||||
/* resource allocation failed, unexpected HW behavior, HW BUG and so on. */
|
/* Fatal bug. */
|
||||||
/* */
|
/* For example, Tx/Rx/IO locked up, OS hangs, memory access violation, */
|
||||||
|
/* resource allocation failed, unexpected HW behavior, HW BUG and so on. */
|
||||||
#define ODM_DBG_SERIOUS 2
|
#define ODM_DBG_SERIOUS 2
|
||||||
|
|
||||||
/* */
|
/* Abnormal, rare, or unexpeted cases. */
|
||||||
/* Abnormal, rare, or unexpeted cases. */
|
/* For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. */
|
||||||
/* For example, IRP/Packet/OID canceled, device suprisely unremoved and so on. */
|
|
||||||
/* */
|
|
||||||
#define ODM_DBG_WARNING 3
|
#define ODM_DBG_WARNING 3
|
||||||
|
|
||||||
/* */
|
/* Normal case with useful information about current SW or HW state. */
|
||||||
/* Normal case with useful information about current SW or HW state. */
|
/* For example, Tx/Rx descriptor to fill, Tx/Rx descr. completed status, */
|
||||||
/* For example, Tx/Rx descriptor to fill, Tx/Rx descriptor completed status, */
|
/* SW protocol state change, dynamic mechanism state change and so on. */
|
||||||
/* SW protocol state change, dynamic mechanism state change and so on. */
|
|
||||||
/* */
|
/* */
|
||||||
#define ODM_DBG_LOUD 4
|
#define ODM_DBG_LOUD 4
|
||||||
|
|
||||||
/* */
|
/* Normal case with detail execution flow or information. */
|
||||||
/* Normal case with detail execution flow or information. */
|
|
||||||
/* */
|
|
||||||
#define ODM_DBG_TRACE 5
|
#define ODM_DBG_TRACE 5
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Define the tracing components */
|
/* Define the tracing components */
|
||||||
/* */
|
|
||||||
/* */
|
|
||||||
/* BB Functions */
|
/* BB Functions */
|
||||||
#define ODM_COMP_DIG BIT0
|
#define ODM_COMP_DIG BIT0
|
||||||
#define ODM_COMP_RA_MASK BIT1
|
#define ODM_COMP_RA_MASK BIT1
|
||||||
#define ODM_COMP_DYNAMIC_TXPWR BIT2
|
#define ODM_COMP_DYNAMIC_TXPWR BIT2
|
||||||
#define ODM_COMP_FA_CNT BIT3
|
#define ODM_COMP_FA_CNT BIT3
|
||||||
#define ODM_COMP_RSSI_MONITOR BIT4
|
#define ODM_COMP_RSSI_MONITOR BIT4
|
||||||
#define ODM_COMP_CCK_PD BIT5
|
#define ODM_COMP_CCK_PD BIT5
|
||||||
#define ODM_COMP_ANT_DIV BIT6
|
#define ODM_COMP_ANT_DIV BIT6
|
||||||
#define ODM_COMP_PWR_SAVE BIT7
|
#define ODM_COMP_PWR_SAVE BIT7
|
||||||
#define ODM_COMP_PWR_TRA BIT8
|
#define ODM_COMP_PWR_TRA BIT8
|
||||||
#define ODM_COMP_RATE_ADAPTIVE BIT9
|
#define ODM_COMP_RATE_ADAPTIVE BIT9
|
||||||
#define ODM_COMP_PATH_DIV BIT10
|
#define ODM_COMP_PATH_DIV BIT10
|
||||||
#define ODM_COMP_PSD BIT11
|
#define ODM_COMP_PSD BIT11
|
||||||
#define ODM_COMP_DYNAMIC_PRICCA BIT12
|
#define ODM_COMP_DYNAMIC_PRICCA BIT12
|
||||||
#define ODM_COMP_RXHP BIT13
|
#define ODM_COMP_RXHP BIT13
|
||||||
/* MAC Functions */
|
/* MAC Functions */
|
||||||
#define ODM_COMP_EDCA_TURBO BIT16
|
#define ODM_COMP_EDCA_TURBO BIT16
|
||||||
#define ODM_COMP_EARLY_MODE BIT17
|
#define ODM_COMP_EARLY_MODE BIT17
|
||||||
/* RF Functions */
|
/* RF Functions */
|
||||||
#define ODM_COMP_TX_PWR_TRACK BIT24
|
#define ODM_COMP_TX_PWR_TRACK BIT24
|
||||||
#define ODM_COMP_RX_GAIN_TRACK BIT25
|
#define ODM_COMP_RX_GAIN_TRACK BIT25
|
||||||
#define ODM_COMP_CALIBRATION BIT26
|
#define ODM_COMP_CALIBRATION BIT26
|
||||||
/* Common Functions */
|
/* Common Functions */
|
||||||
#define ODM_COMP_COMMON BIT30
|
#define ODM_COMP_COMMON BIT30
|
||||||
#define ODM_COMP_INIT BIT31
|
#define ODM_COMP_INIT BIT31
|
||||||
|
|
||||||
/*------------------------Export Marco Definition---------------------------*/
|
/*------------------------Export Marco Definition---------------------------*/
|
||||||
#define DbgPrint printk
|
#define DbgPrint pr_info
|
||||||
#define RT_PRINTK(fmt, args...) DbgPrint( "%s(): " fmt, __func__, ## args);
|
#define RT_PRINTK(fmt, args...) \
|
||||||
|
DbgPrint( "%s(): " fmt, __func__, ## args);
|
||||||
|
|
||||||
#ifndef ASSERT
|
#ifndef ASSERT
|
||||||
#define ASSERT(expr)
|
#define ASSERT(expr)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if DBG
|
#if DBG
|
||||||
#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt) \
|
#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt) \
|
||||||
if (((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
|
if (((comp) & pDM_Odm->DebugComponents) && \
|
||||||
{ \
|
(level <= pDM_Odm->DebugLevel)) { \
|
||||||
if (pDM_Odm->SupportICType == ODM_RTL8192C) \
|
if (pDM_Odm->SupportICType == ODM_RTL8192C) \
|
||||||
DbgPrint("[ODM-92C] "); \
|
DbgPrint("[ODM-92C] "); \
|
||||||
else if (pDM_Odm->SupportICType == ODM_RTL8192D) \
|
else if (pDM_Odm->SupportICType == ODM_RTL8192D) \
|
||||||
DbgPrint("[ODM-92D] "); \
|
DbgPrint("[ODM-92D] "); \
|
||||||
else if (pDM_Odm->SupportICType == ODM_RTL8723A) \
|
else if (pDM_Odm->SupportICType == ODM_RTL8723A) \
|
||||||
DbgPrint("[ODM-8723A] "); \
|
DbgPrint("[ODM-8723A] "); \
|
||||||
else if (pDM_Odm->SupportICType == ODM_RTL8188E) \
|
else if (pDM_Odm->SupportICType == ODM_RTL8188E) \
|
||||||
DbgPrint("[ODM-8188E] "); \
|
DbgPrint("[ODM-8188E] "); \
|
||||||
else if (pDM_Odm->SupportICType == ODM_RTL8812) \
|
else if (pDM_Odm->SupportICType == ODM_RTL8812) \
|
||||||
DbgPrint("[ODM-8812] "); \
|
DbgPrint("[ODM-8812] "); \
|
||||||
else if (pDM_Odm->SupportICType == ODM_RTL8821) \
|
else if (pDM_Odm->SupportICType == ODM_RTL8821) \
|
||||||
DbgPrint("[ODM-8821] "); \
|
DbgPrint("[ODM-8821] "); \
|
||||||
RT_PRINTK fmt; \
|
RT_PRINTK fmt; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt) \
|
#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt) \
|
||||||
if (((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
|
if (((comp) & pDM_Odm->DebugComponents) && \
|
||||||
{ \
|
(level <= pDM_Odm->DebugLevel)) { \
|
||||||
RT_PRINTK fmt; \
|
RT_PRINTK fmt; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ODM_RT_ASSERT(pDM_Odm, expr, fmt) \
|
#define ODM_RT_ASSERT(pDM_Odm, expr, fmt) \
|
||||||
if (!(expr)) { \
|
if (!(expr)) { \
|
||||||
DbgPrint( "Assertion failed! %s at ......\n", #expr); \
|
DbgPrint( "Assertion failed! %s at ......\n", #expr); \
|
||||||
DbgPrint( " ......%s,%s,line=%d\n",__FILE__,__func__,__LINE__); \
|
DbgPrint( " ......%s,%s,line=%d\n", __FILE__, \
|
||||||
RT_PRINTK fmt; \
|
__func__, __LINE__); \
|
||||||
ASSERT(false); \
|
RT_PRINTK fmt; \
|
||||||
}
|
ASSERT(false); \
|
||||||
|
}
|
||||||
#define ODM_dbg_enter() { DbgPrint("==> %s\n", __func__); }
|
#define ODM_dbg_enter() { DbgPrint("==> %s\n", __func__); }
|
||||||
#define ODM_dbg_exit() { DbgPrint("<== %s\n", __func__); }
|
#define ODM_dbg_exit() { DbgPrint("<== %s\n", __func__); }
|
||||||
#define ODM_dbg_trace(str) { DbgPrint("%s:%s\n", __func__, str); }
|
#define ODM_dbg_trace(str) { DbgPrint("%s:%s\n", __func__, str); }
|
||||||
|
|
||||||
#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr) \
|
#define ODM_PRINT_ADDR(pDM_Odm, comp, level, title_str, ptr) \
|
||||||
if (((comp) & pDM_Odm->DebugComponents) && (level <= pDM_Odm->DebugLevel)) \
|
if (((comp) & pDM_Odm->DebugComponents) && \
|
||||||
{ \
|
(level <= pDM_Odm->DebugLevel)) { \
|
||||||
int __i; \
|
int __i; \
|
||||||
pu8 __ptr = (pu8)ptr; \
|
u8 *__ptr = (u8 *)ptr; \
|
||||||
DbgPrint("[ODM] "); \
|
DbgPrint("[ODM] "); \
|
||||||
DbgPrint(title_str); \
|
DbgPrint(title_str); \
|
||||||
DbgPrint(" "); \
|
DbgPrint(" "); \
|
||||||
for ( __i=0; __i<6; __i++ ) \
|
for (__i = 0; __i < 6; __i++) \
|
||||||
DbgPrint("%02X%s", __ptr[__i], (__i==5)?"":"-"); \
|
DbgPrint("%02X%s", __ptr[__i], (__i==5)?"":"-");\
|
||||||
DbgPrint("\n"); \
|
DbgPrint("\n"); \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt)
|
#define ODM_RT_TRACE(pDM_Odm, comp, level, fmt)
|
||||||
#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt)
|
#define ODM_RT_TRACE_F(pDM_Odm, comp, level, fmt)
|
||||||
|
|
|
@ -49,39 +49,33 @@ ODM_REG(DIG,_pDM_Odm)
|
||||||
#define _bit_11N(_name) ODM_BIT_##_name##_11N
|
#define _bit_11N(_name) ODM_BIT_##_name##_11N
|
||||||
#define _bit_11AC(_name) ODM_BIT_##_name##_11AC
|
#define _bit_11AC(_name) ODM_BIT_##_name##_11AC
|
||||||
|
|
||||||
#define _cat(_name, _ic_type, _func) \
|
#define _cat(_name, _ic_type, _func) \
|
||||||
( \
|
( \
|
||||||
((_ic_type) & ODM_IC_11N_SERIES)? _func##_11N(_name): \
|
((_ic_type) & ODM_IC_11N_SERIES) ? _func##_11N(_name) : \
|
||||||
_func##_11AC(_name) \
|
_func##_11AC(_name) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* _name: name of register or bit. */
|
/* _name: name of register or bit. */
|
||||||
/* Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)" */
|
/* Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)" */
|
||||||
/* gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C", depends on SupportICType. */
|
/* gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C",
|
||||||
#define ODM_REG(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _reg)
|
* depends on SupportICType. */
|
||||||
#define ODM_BIT(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _bit)
|
#define ODM_REG(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _reg)
|
||||||
|
#define ODM_BIT(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _bit)
|
||||||
|
|
||||||
enum odm_h2c_cmd {
|
enum odm_h2c_cmd {
|
||||||
ODM_H2C_RSSI_REPORT = 0,
|
ODM_H2C_RSSI_REPORT = 0,
|
||||||
ODM_H2C_PSD_RESULT=1,
|
ODM_H2C_PSD_RESULT= 1,
|
||||||
ODM_H2C_PathDiv = 2,
|
ODM_H2C_PathDiv = 2,
|
||||||
ODM_MAX_H2CCMD
|
ODM_MAX_H2CCMD
|
||||||
};
|
};
|
||||||
|
|
||||||
/* */
|
|
||||||
/* 2012/02/17 MH For non-MP compile pass only. Linux does not support workitem. */
|
/* 2012/02/17 MH For non-MP compile pass only. Linux does not support workitem. */
|
||||||
/* Suggest HW team to use thread instead of workitem. Windows also support the feature. */
|
/* Suggest HW team to use thread instead of workitem. Windows also support the feature. */
|
||||||
/* */
|
typedef void (*RT_WORKITEM_CALL_BACK)(void *pContext);
|
||||||
typedef void (*RT_WORKITEM_CALL_BACK)(void * pContext);
|
|
||||||
|
|
||||||
/* */
|
|
||||||
/* =========== Extern Variable ??? It should be forbidden. */
|
/* =========== Extern Variable ??? It should be forbidden. */
|
||||||
/* */
|
|
||||||
|
|
||||||
|
|
||||||
/* */
|
|
||||||
/* =========== EXtern Function Prototype */
|
/* =========== EXtern Function Prototype */
|
||||||
/* */
|
|
||||||
|
|
||||||
u8 ODM_Read1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr);
|
u8 ODM_Read1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr);
|
||||||
|
|
||||||
|
@ -95,36 +89,37 @@ void ODM_Write2Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u16 Data);
|
||||||
|
|
||||||
void ODM_Write4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 Data);
|
void ODM_Write4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 Data);
|
||||||
|
|
||||||
void ODM_SetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask, u32 Data);
|
void ODM_SetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr,
|
||||||
|
u32 BitMask, u32 Data);
|
||||||
|
|
||||||
u32 ODM_GetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask);
|
u32 ODM_GetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask);
|
||||||
|
|
||||||
void ODM_SetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask, u32 Data);
|
void ODM_SetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr,
|
||||||
|
u32 BitMask, u32 Data);
|
||||||
|
|
||||||
u32 ODM_GetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask);
|
u32 ODM_GetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask);
|
||||||
|
|
||||||
void ODM_SetRFReg(struct odm_dm_struct *pDM_Odm, enum ODM_RF_RADIO_PATH eRFPath, u32 RegAddr, u32 BitMask, u32 Data);
|
void ODM_SetRFReg(struct odm_dm_struct *pDM_Odm, enum ODM_RF_RADIO_PATH eRFPath,
|
||||||
|
u32 RegAddr, u32 BitMask, u32 Data);
|
||||||
|
|
||||||
u32 ODM_GetRFReg(struct odm_dm_struct *pDM_Odm, enum ODM_RF_RADIO_PATH eRFPath, u32 RegAddr, u32 BitMask);
|
u32 ODM_GetRFReg(struct odm_dm_struct *pDM_Odm, enum ODM_RF_RADIO_PATH eRFPath,
|
||||||
|
u32 RegAddr, u32 BitMask);
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Memory Relative Function. */
|
/* Memory Relative Function. */
|
||||||
/* */
|
|
||||||
void ODM_AllocateMemory(struct odm_dm_struct *pDM_Odm, void **pPtr, u32 length);
|
void ODM_AllocateMemory(struct odm_dm_struct *pDM_Odm, void **pPtr, u32 length);
|
||||||
void ODM_FreeMemory(struct odm_dm_struct *pDM_Odm, void *pPtr, u32 length);
|
void ODM_FreeMemory(struct odm_dm_struct *pDM_Odm, void *pPtr, u32 length);
|
||||||
|
|
||||||
s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2, u32 length);
|
s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2,
|
||||||
|
u32 length);
|
||||||
|
|
||||||
/* */
|
|
||||||
/* ODM MISC-spin lock relative API. */
|
/* ODM MISC-spin lock relative API. */
|
||||||
/* */
|
void ODM_AcquireSpinLock(struct odm_dm_struct *pDM_Odm,
|
||||||
void ODM_AcquireSpinLock(struct odm_dm_struct *pDM_Odm, enum RT_SPINLOCK_TYPE type);
|
enum RT_SPINLOCK_TYPE type);
|
||||||
|
|
||||||
void ODM_ReleaseSpinLock(struct odm_dm_struct *pDM_Odm, enum RT_SPINLOCK_TYPE type);
|
void ODM_ReleaseSpinLock(struct odm_dm_struct *pDM_Odm,
|
||||||
|
enum RT_SPINLOCK_TYPE type);
|
||||||
|
|
||||||
/* */
|
|
||||||
/* ODM MISC-workitem relative API. */
|
/* ODM MISC-workitem relative API. */
|
||||||
/* */
|
|
||||||
void ODM_InitializeWorkItem(struct odm_dm_struct *pDM_Odm, void *pRtWorkItem,
|
void ODM_InitializeWorkItem(struct odm_dm_struct *pDM_Odm, void *pRtWorkItem,
|
||||||
RT_WORKITEM_CALL_BACK RtWorkItemCallback,
|
RT_WORKITEM_CALL_BACK RtWorkItemCallback,
|
||||||
void *pContext, const char *szID);
|
void *pContext, const char *szID);
|
||||||
|
@ -139,9 +134,7 @@ void ODM_ScheduleWorkItem(void *pRtWorkItem);
|
||||||
|
|
||||||
void ODM_IsWorkItemScheduled(void *pRtWorkItem);
|
void ODM_IsWorkItemScheduled(void *pRtWorkItem);
|
||||||
|
|
||||||
/* */
|
|
||||||
/* ODM Timer relative API. */
|
/* ODM Timer relative API. */
|
||||||
/* */
|
|
||||||
void ODM_StallExecution(u32 usDelay);
|
void ODM_StallExecution(u32 usDelay);
|
||||||
|
|
||||||
void ODM_delay_ms(u32 ms);
|
void ODM_delay_ms(u32 ms);
|
||||||
|
@ -152,17 +145,20 @@ void ODM_sleep_ms(u32 ms);
|
||||||
|
|
||||||
void ODM_sleep_us(u32 us);
|
void ODM_sleep_us(u32 us);
|
||||||
|
|
||||||
void ODM_SetTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer, u32 msDelay);
|
void ODM_SetTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer,
|
||||||
|
u32 msDelay);
|
||||||
|
|
||||||
void ODM_InitializeTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer, void *CallBackFunc, void *pContext, const char *szID);
|
void ODM_InitializeTimer(struct odm_dm_struct *pDM_Odm,
|
||||||
|
struct timer_list *pTimer, void *CallBackFunc,
|
||||||
|
void *pContext, const char *szID);
|
||||||
|
|
||||||
void ODM_CancelTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
|
void ODM_CancelTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
|
||||||
|
|
||||||
void ODM_ReleaseTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
|
void ODM_ReleaseTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
|
||||||
|
|
||||||
/* */
|
|
||||||
/* ODM FW relative API. */
|
/* ODM FW relative API. */
|
||||||
/* */
|
u32 ODM_FillH2CCmd(u8 *pH2CBuffer, u32 H2CBufferLen, u32 CmdNum,
|
||||||
u32 ODM_FillH2CCmd(u8 *pH2CBuffer, u32 H2CBufferLen, u32 CmdNum, u32 *pElementID, u32 *pCmdLen, u8 **pCmbBuffer, u8 *CmdStartSeq);
|
u32 *pElementID, u32 *pCmdLen, u8 **pCmbBuffer,
|
||||||
|
u8 *CmdStartSeq);
|
||||||
|
|
||||||
#endif /* __ODM_INTERFACE_H__ */
|
#endif /* __ODM_INTERFACE_H__ */
|
||||||
|
|
|
@ -38,16 +38,19 @@ enum HAL_STATUS {
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RT_SPINLOCK_TYPE {
|
enum RT_SPINLOCK_TYPE {
|
||||||
RT_TEMP =1,
|
RT_TEMP = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <basic_types.h>
|
#include <basic_types.h>
|
||||||
|
|
||||||
#define DEV_BUS_TYPE RT_USB_INTERFACE
|
#define DEV_BUS_TYPE RT_USB_INTERFACE
|
||||||
|
|
||||||
#define SET_TX_DESC_ANTSEL_A_88E(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 24, 1, __Value)
|
#define SET_TX_DESC_ANTSEL_A_88E(__pTxDesc, __Value) \
|
||||||
#define SET_TX_DESC_ANTSEL_B_88E(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 25, 1, __Value)
|
SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 24, 1, __Value)
|
||||||
#define SET_TX_DESC_ANTSEL_C_88E(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 29, 1, __Value)
|
#define SET_TX_DESC_ANTSEL_B_88E(__pTxDesc, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 25, 1, __Value)
|
||||||
|
#define SET_TX_DESC_ANTSEL_C_88E(__pTxDesc, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 29, 1, __Value)
|
||||||
|
|
||||||
/* define useless flag to avoid compile warning */
|
/* define useless flag to avoid compile warning */
|
||||||
#define USE_WORKITEM 0
|
#define USE_WORKITEM 0
|
||||||
|
|
|
@ -25,14 +25,13 @@
|
||||||
#include <drv_types.h>
|
#include <drv_types.h>
|
||||||
|
|
||||||
struct intf_priv {
|
struct intf_priv {
|
||||||
|
|
||||||
u8 *intf_dev;
|
u8 *intf_dev;
|
||||||
u32 max_iosz; /* USB2.0: 128, USB1.1: 64, SDIO:64 */
|
u32 max_iosz; /* USB2.0: 128, USB1.1: 64, SDIO:64 */
|
||||||
u32 max_xmitsz; /* USB2.0: unlimited, SDIO:512 */
|
u32 max_xmitsz; /* USB2.0: unlimited, SDIO:512 */
|
||||||
u32 max_recvsz; /* USB2.0: unlimited, SDIO:512 */
|
u32 max_recvsz; /* USB2.0: unlimited, SDIO:512 */
|
||||||
|
|
||||||
volatile u8 *io_rwmem;
|
u8 *io_rwmem;
|
||||||
volatile u8 *allocated_io_rwmem;
|
u8 *allocated_io_rwmem;
|
||||||
u32 io_wsz; /* unit: 4bytes */
|
u32 io_wsz; /* unit: 4bytes */
|
||||||
u32 io_rsz;/* unit: 4bytes */
|
u32 io_rsz;/* unit: 4bytes */
|
||||||
u8 intf_status;
|
u8 intf_status;
|
||||||
|
@ -49,7 +48,7 @@ The protection mechanism is through the pending queue.
|
||||||
struct mutex ioctl_mutex;
|
struct mutex ioctl_mutex;
|
||||||
/* when in USB, IO is through interrupt in/out endpoints */
|
/* when in USB, IO is through interrupt in/out endpoints */
|
||||||
struct usb_device *udev;
|
struct usb_device *udev;
|
||||||
struct urb * piorw_urb;
|
struct urb *piorw_urb;
|
||||||
u8 io_irp_cnt;
|
u8 io_irp_cnt;
|
||||||
u8 bio_irp_pending;
|
u8 bio_irp_pending;
|
||||||
struct semaphore io_retevt;
|
struct semaphore io_retevt;
|
||||||
|
@ -74,9 +73,9 @@ int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
||||||
int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
|
int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
|
||||||
struct net_device *rtw_init_netdev(struct adapter *padapter);
|
struct net_device *rtw_init_netdev(struct adapter *padapter);
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,35))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35))
|
||||||
u16 rtw_recv_select_queue(struct sk_buff *skb);
|
u16 rtw_recv_select_queue(struct sk_buff *skb);
|
||||||
#endif /* LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,35) */
|
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35) */
|
||||||
|
|
||||||
void rtw_proc_init_one(struct net_device *dev);
|
void rtw_proc_init_one(struct net_device *dev);
|
||||||
void rtw_proc_remove_one(struct net_device *dev);
|
void rtw_proc_remove_one(struct net_device *dev);
|
||||||
|
@ -85,7 +84,7 @@ void rtw_ips_dev_unload(struct adapter *padapter);
|
||||||
|
|
||||||
int rtw_ips_pwr_up(struct adapter *padapter);
|
int rtw_ips_pwr_up(struct adapter *padapter);
|
||||||
void rtw_ips_pwr_down(struct adapter *padapter);
|
void rtw_ips_pwr_down(struct adapter *padapter);
|
||||||
int rtw_hw_suspend(struct adapter *padapter );
|
int rtw_hw_suspend(struct adapter *padapter);
|
||||||
int rtw_hw_resume(struct adapter *padapter);
|
int rtw_hw_resume(struct adapter *padapter);
|
||||||
|
|
||||||
#endif /* _OSDEP_INTF_H_ */
|
#endif /* _OSDEP_INTF_H_ */
|
||||||
|
|
|
@ -34,21 +34,17 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,5))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 5))
|
||||||
#include <linux/kref.h>
|
#include <linux/kref.h>
|
||||||
#endif
|
#endif
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
#include <linux/circ_buf.h>
|
#include <linux/circ_buf.h>
|
||||||
#include <asm/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/atomic.h>
|
#include <linux/atomic.h>
|
||||||
#include <asm/io.h>
|
#include <linux/io.h>
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26))
|
|
||||||
#include <asm/semaphore.h>
|
|
||||||
#else
|
|
||||||
#include <linux/semaphore.h>
|
#include <linux/semaphore.h>
|
||||||
#endif
|
|
||||||
#include <linux/sem.h>
|
#include <linux/sem.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/etherdevice.h>
|
#include <linux/etherdevice.h>
|
||||||
|
@ -63,24 +59,23 @@
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
|
|
||||||
#include <linux/usb.h>
|
#include <linux/usb.h>
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21))
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 21))
|
||||||
#include <linux/usb_ch9.h>
|
#include <linux/usb_ch9.h>
|
||||||
#else
|
#else
|
||||||
#include <linux/usb/ch9.h>
|
#include <linux/usb/ch9.h>
|
||||||
#endif
|
#endif
|
||||||
|
struct __queue {
|
||||||
|
struct list_head queue;
|
||||||
|
spinlock_t lock;
|
||||||
|
};
|
||||||
|
|
||||||
struct __queue {
|
#define thread_exit() complete_and_exit(NULL, 0)
|
||||||
struct list_head queue;
|
|
||||||
spinlock_t lock;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define thread_exit() complete_and_exit(NULL, 0)
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24))
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
|
|
||||||
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
|
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22))
|
||||||
/* Porting from linux kernel, for compatible with old kernel. */
|
/* Porting from linux kernel, for compatible with old kernel. */
|
||||||
static inline unsigned char *skb_tail_pointer(const struct sk_buff *skb)
|
static inline unsigned char *skb_tail_pointer(const struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
@ -103,12 +98,12 @@ static inline unsigned char *skb_end_pointer(const struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__inline static struct list_head *get_next(struct list_head *list)
|
static inline struct list_head *get_next(struct list_head *list)
|
||||||
{
|
{
|
||||||
return list->next;
|
return list->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static struct list_head *get_list_head(struct __queue *queue)
|
static inline struct list_head *get_list_head(struct __queue *queue)
|
||||||
{
|
{
|
||||||
return (&(queue->queue));
|
return (&(queue->queue));
|
||||||
}
|
}
|
||||||
|
@ -118,37 +113,37 @@ __inline static struct list_head *get_list_head(struct __queue *queue)
|
||||||
((type *)((char *)(ptr)-(size_t)(&((type *)0)->member)))
|
((type *)((char *)(ptr)-(size_t)(&((type *)0)->member)))
|
||||||
|
|
||||||
|
|
||||||
__inline static void _enter_critical(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _enter_critical(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_lock_irqsave(plock, *pirqL);
|
spin_lock_irqsave(plock, *pirqL);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _exit_critical(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _exit_critical(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_unlock_irqrestore(plock, *pirqL);
|
spin_unlock_irqrestore(plock, *pirqL);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _enter_critical_ex(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _enter_critical_ex(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_lock_irqsave(plock, *pirqL);
|
spin_lock_irqsave(plock, *pirqL);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _exit_critical_ex(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _exit_critical_ex(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_unlock_irqrestore(plock, *pirqL);
|
spin_unlock_irqrestore(plock, *pirqL);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _enter_critical_bh(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _enter_critical_bh(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_lock_bh(plock);
|
spin_lock_bh(plock);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _exit_critical_bh(spinlock_t *plock, unsigned long *pirqL)
|
static inline void _exit_critical_bh(spinlock_t *plock, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
spin_unlock_bh(plock);
|
spin_unlock_bh(plock);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static int _enter_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
|
static inline int _enter_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
|
||||||
|
@ -160,7 +155,7 @@ __inline static int _enter_critical_mutex(struct mutex *pmutex, unsigned long *p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__inline static void _exit_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
|
static inline void _exit_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
|
||||||
{
|
{
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
|
||||||
mutex_unlock(pmutex);
|
mutex_unlock(pmutex);
|
||||||
|
@ -169,24 +164,24 @@ __inline static void _exit_critical_mutex(struct mutex *pmutex, unsigned long *p
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void rtw_list_delete(struct list_head *plist)
|
static inline void rtw_list_delete(struct list_head *plist)
|
||||||
{
|
{
|
||||||
list_del_init(plist);
|
list_del_init(plist);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _init_timer(struct timer_list *ptimer,struct net_device *nic_hdl,void *pfunc,void* cntx)
|
static inline void _init_timer(struct timer_list *ptimer,struct net_device *nic_hdl,void *pfunc,void* cntx)
|
||||||
{
|
{
|
||||||
ptimer->function = pfunc;
|
ptimer->function = pfunc;
|
||||||
ptimer->data = (unsigned long)cntx;
|
ptimer->data = (unsigned long)cntx;
|
||||||
init_timer(ptimer);
|
init_timer(ptimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _set_timer(struct timer_list *ptimer,u32 delay_time)
|
static inline void _set_timer(struct timer_list *ptimer,u32 delay_time)
|
||||||
{
|
{
|
||||||
mod_timer(ptimer , (jiffies+(delay_time*HZ/1000)));
|
mod_timer(ptimer , (jiffies+(delay_time*HZ/1000)));
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _cancel_timer(struct timer_list *ptimer,u8 *bcancelled)
|
static inline void _cancel_timer(struct timer_list *ptimer,u8 *bcancelled)
|
||||||
{
|
{
|
||||||
del_timer_sync(ptimer);
|
del_timer_sync(ptimer);
|
||||||
*bcancelled= true;/* true ==1; false==0 */
|
*bcancelled= true;/* true ==1; false==0 */
|
||||||
|
@ -196,7 +191,7 @@ __inline static void _cancel_timer(struct timer_list *ptimer,u8 *bcancelled)
|
||||||
#define RTW_TIMER_HDL_NAME(name) rtw_##name##_timer_hdl
|
#define RTW_TIMER_HDL_NAME(name) rtw_##name##_timer_hdl
|
||||||
#define RTW_DECLARE_TIMER_HDL(name) void RTW_TIMER_HDL_NAME(name)(RTW_TIMER_HDL_ARGS)
|
#define RTW_DECLARE_TIMER_HDL(name) void RTW_TIMER_HDL_NAME(name)(RTW_TIMER_HDL_ARGS)
|
||||||
|
|
||||||
__inline static void _init_workitem(struct work_struct *pwork, void *pfunc, void * cntx)
|
static inline void _init_workitem(struct work_struct *pwork, void *pfunc, void * cntx)
|
||||||
{
|
{
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
||||||
INIT_WORK(pwork, pfunc);
|
INIT_WORK(pwork, pfunc);
|
||||||
|
@ -205,12 +200,12 @@ __inline static void _init_workitem(struct work_struct *pwork, void *pfunc, void
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _set_workitem(struct work_struct *pwork)
|
static inline void _set_workitem(struct work_struct *pwork)
|
||||||
{
|
{
|
||||||
schedule_work(pwork);
|
schedule_work(pwork);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _cancel_workitem_sync(struct work_struct *pwork)
|
static inline void _cancel_workitem_sync(struct work_struct *pwork)
|
||||||
{
|
{
|
||||||
#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,22))
|
#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,22))
|
||||||
cancel_work_sync(pwork);
|
cancel_work_sync(pwork);
|
||||||
|
@ -401,7 +396,7 @@ extern void rtw_udelay_os(int us);
|
||||||
|
|
||||||
extern void rtw_yield_os(void);
|
extern void rtw_yield_os(void);
|
||||||
|
|
||||||
__inline static unsigned char _cancel_timer_ex(struct timer_list *ptimer)
|
static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer)
|
||||||
{
|
{
|
||||||
return del_timer_sync(ptimer);
|
return del_timer_sync(ptimer);
|
||||||
}
|
}
|
||||||
|
@ -414,13 +409,13 @@ static __inline void thread_enter(char *name)
|
||||||
allow_signal(SIGTERM);
|
allow_signal(SIGTERM);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void flush_signals_thread(void)
|
static inline void flush_signals_thread(void)
|
||||||
{
|
{
|
||||||
if (signal_pending (current))
|
if (signal_pending (current))
|
||||||
flush_signals(current);
|
flush_signals(current);
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static int res_to_status(int res)
|
static inline int res_to_status(int res)
|
||||||
{
|
{
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -428,7 +423,7 @@ __inline static int res_to_status(int res)
|
||||||
#define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r))
|
#define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r))
|
||||||
#define RND4(x) (((x >> 2) + (((x & 3) == 0) ? 0: 1)) << 2)
|
#define RND4(x) (((x >> 2) + (((x & 3) == 0) ? 0: 1)) << 2)
|
||||||
|
|
||||||
__inline static u32 _RND4(u32 sz)
|
static inline u32 _RND4(u32 sz)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -436,7 +431,7 @@ __inline static u32 _RND4(u32 sz)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static u32 _RND8(u32 sz)
|
static inline u32 _RND8(u32 sz)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -444,7 +439,7 @@ __inline static u32 _RND8(u32 sz)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static u32 _RND128(u32 sz)
|
static inline u32 _RND128(u32 sz)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -452,7 +447,7 @@ __inline static u32 _RND128(u32 sz)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static u32 _RND256(u32 sz)
|
static inline u32 _RND256(u32 sz)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -460,7 +455,7 @@ __inline static u32 _RND256(u32 sz)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static u32 _RND512(u32 sz)
|
static inline u32 _RND512(u32 sz)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
@ -468,7 +463,7 @@ __inline static u32 _RND512(u32 sz)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static u32 bitshift(u32 bitmask)
|
static inline u32 bitshift(u32 bitmask)
|
||||||
{
|
{
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
|
@ -477,47 +472,47 @@ __inline static u32 bitshift(u32 bitmask)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define STRUCT_PACKED __attribute__ ((packed))
|
|
||||||
|
|
||||||
/* limitation of path length */
|
/* limitation of path length */
|
||||||
#define PATH_LENGTH_MAX PATH_MAX
|
#define PATH_LENGTH_MAX PATH_MAX
|
||||||
|
|
||||||
extern void rtw_suspend_lock_init(void);
|
void rtw_suspend_lock_init(void);
|
||||||
extern void rtw_suspend_lock_uninit(void);
|
void rtw_suspend_lock_uninit(void);
|
||||||
extern void rtw_lock_suspend(void);
|
void rtw_lock_suspend(void);
|
||||||
extern void rtw_unlock_suspend(void);
|
void rtw_unlock_suspend(void);
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
extern void rtw_lock_suspend_timeout(long timeout);
|
void rtw_lock_suspend_timeout(long timeout);
|
||||||
#endif /* CONFIG_WOWLAN */
|
#endif /* CONFIG_WOWLAN */
|
||||||
|
|
||||||
/* Atomic integer operations */
|
/* Atomic integer operations */
|
||||||
#define ATOMIC_T atomic_t
|
#define ATOMIC_T atomic_t
|
||||||
|
|
||||||
extern void ATOMIC_SET(ATOMIC_T *v, int i);
|
void ATOMIC_SET(ATOMIC_T *v, int i);
|
||||||
extern int ATOMIC_READ(ATOMIC_T *v);
|
int ATOMIC_READ(ATOMIC_T *v);
|
||||||
extern void ATOMIC_ADD(ATOMIC_T *v, int i);
|
void ATOMIC_ADD(ATOMIC_T *v, int i);
|
||||||
extern void ATOMIC_SUB(ATOMIC_T *v, int i);
|
void ATOMIC_SUB(ATOMIC_T *v, int i);
|
||||||
extern void ATOMIC_INC(ATOMIC_T *v);
|
void ATOMIC_INC(ATOMIC_T *v);
|
||||||
extern void ATOMIC_DEC(ATOMIC_T *v);
|
void ATOMIC_DEC(ATOMIC_T *v);
|
||||||
extern int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i);
|
int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i);
|
||||||
extern int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i);
|
int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i);
|
||||||
extern int ATOMIC_INC_RETURN(ATOMIC_T *v);
|
int ATOMIC_INC_RETURN(ATOMIC_T *v);
|
||||||
extern int ATOMIC_DEC_RETURN(ATOMIC_T *v);
|
int ATOMIC_DEC_RETURN(ATOMIC_T *v);
|
||||||
|
|
||||||
/* File operation APIs, just for linux now */
|
/* File operation APIs, just for linux now */
|
||||||
extern int rtw_is_file_readable(char *path);
|
int rtw_is_file_readable(char *path);
|
||||||
extern int rtw_retrive_from_file(char *path, u8 __user *buf, u32 sz);
|
int rtw_retrive_from_file(char *path, u8 __user *buf, u32 sz);
|
||||||
extern int rtw_store_to_file(char *path, u8 __user *buf, u32 sz);
|
int rtw_store_to_file(char *path, u8 __user *buf, u32 sz);
|
||||||
|
|
||||||
struct rtw_netdev_priv_indicator {
|
struct rtw_netdev_priv_indicator {
|
||||||
void *priv;
|
void *priv;
|
||||||
u32 sizeof_priv;
|
u32 sizeof_priv;
|
||||||
};
|
};
|
||||||
struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv);
|
struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv,
|
||||||
extern struct net_device * rtw_alloc_etherdev(int sizeof_priv);
|
void *old_priv);
|
||||||
|
struct net_device *rtw_alloc_etherdev(int sizeof_priv);
|
||||||
|
|
||||||
#define rtw_netdev_priv(netdev) ( ((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv )
|
#define rtw_netdev_priv(netdev) \
|
||||||
extern void rtw_free_netdev(struct net_device * netdev);
|
(((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv)
|
||||||
|
void rtw_free_netdev(struct net_device *netdev);
|
||||||
|
|
||||||
#define NDEV_FMT "%s"
|
#define NDEV_FMT "%s"
|
||||||
#define NDEV_ARG(ndev) ndev->name
|
#define NDEV_ARG(ndev) ndev->name
|
||||||
|
@ -534,8 +529,8 @@ extern void rtw_free_netdev(struct net_device * netdev);
|
||||||
#define rtw_signal_process(pid, sig) kill_proc((pid), (sig), 1)
|
#define rtw_signal_process(pid, sig) kill_proc((pid), (sig), 1)
|
||||||
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)) */
|
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)) */
|
||||||
|
|
||||||
extern u64 rtw_modular64(u64 x, u64 y);
|
u64 rtw_modular64(u64 x, u64 y);
|
||||||
extern u64 rtw_division64(u64 x, u64 y);
|
u64 rtw_division64(u64 x, u64 y);
|
||||||
|
|
||||||
/* Macros for handling unaligned memory accesses */
|
/* Macros for handling unaligned memory accesses */
|
||||||
|
|
||||||
|
|
|
@ -24,29 +24,26 @@
|
||||||
#include <drv_types.h>
|
#include <drv_types.h>
|
||||||
|
|
||||||
|
|
||||||
extern int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
|
int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
|
||||||
extern void _rtw_free_recv_priv (struct recv_priv *precvpriv);
|
void _rtw_free_recv_priv(struct recv_priv *precvpriv);
|
||||||
|
|
||||||
|
|
||||||
extern s32 rtw_recv_entry(union recv_frame *precv_frame);
|
s32 rtw_recv_entry(union recv_frame *precv_frame);
|
||||||
extern int rtw_recv_indicatepkt(struct adapter *adapter, union recv_frame *precv_frame);
|
int rtw_recv_indicatepkt(struct adapter *adapter, union recv_frame *recv_frame);
|
||||||
extern void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *preturnedpkt);
|
void rtw_recv_returnpacket(struct net_device *cnxt, struct sk_buff *retpkt);
|
||||||
|
|
||||||
extern void rtw_hostapd_mlme_rx(struct adapter *padapter, union recv_frame *precv_frame);
|
void rtw_hostapd_mlme_rx(struct adapter *padapter, union recv_frame *recv_fr);
|
||||||
extern void rtw_handle_tkip_mic_err(struct adapter *padapter,u8 bgroup);
|
void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup);
|
||||||
|
|
||||||
|
int rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
|
||||||
|
void rtw_free_recv_priv(struct recv_priv *precvpriv);
|
||||||
|
|
||||||
int rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
|
int rtw_os_recv_resource_init(struct recv_priv *recvpr, struct adapter *adapt);
|
||||||
void rtw_free_recv_priv (struct recv_priv *precvpriv);
|
int rtw_os_recv_resource_alloc(struct adapter *adapt, union recv_frame *recvfr);
|
||||||
|
|
||||||
|
|
||||||
int rtw_os_recv_resource_init(struct recv_priv *precvpriv, struct adapter *padapter);
|
|
||||||
int rtw_os_recv_resource_alloc(struct adapter *padapter, union recv_frame *precvframe);
|
|
||||||
void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
|
void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
|
||||||
|
|
||||||
|
int rtw_os_recvbuf_resource_alloc(struct adapter *adapt, struct recv_buf *buf);
|
||||||
int rtw_os_recvbuf_resource_alloc(struct adapter *padapter, struct recv_buf *precvbuf);
|
int rtw_os_recvbuf_resource_free(struct adapter *adapt, struct recv_buf *buf);
|
||||||
int rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *precvbuf);
|
|
||||||
|
|
||||||
void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf);
|
void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf);
|
||||||
|
|
||||||
|
@ -56,5 +53,4 @@ int _netdev_open(struct net_device *pnetdev);
|
||||||
int netdev_open(struct net_device *pnetdev);
|
int netdev_open(struct net_device *pnetdev);
|
||||||
static int netdev_close(struct net_device *pnetdev);
|
static int netdev_close(struct net_device *pnetdev);
|
||||||
|
|
||||||
|
|
||||||
#endif /* */
|
#endif /* */
|
||||||
|
|
|
@ -22,46 +22,46 @@
|
||||||
|
|
||||||
enum RTL8188E_H2C_CMD_ID {
|
enum RTL8188E_H2C_CMD_ID {
|
||||||
/* Class Common */
|
/* Class Common */
|
||||||
H2C_COM_RSVD_PAGE =0x00,
|
H2C_COM_RSVD_PAGE = 0x00,
|
||||||
H2C_COM_MEDIA_STATUS_RPT =0x01,
|
H2C_COM_MEDIA_STATUS_RPT = 0x01,
|
||||||
H2C_COM_SCAN =0x02,
|
H2C_COM_SCAN = 0x02,
|
||||||
H2C_COM_KEEP_ALIVE =0x03,
|
H2C_COM_KEEP_ALIVE = 0x03,
|
||||||
H2C_COM_DISCNT_DECISION =0x04,
|
H2C_COM_DISCNT_DECISION = 0x04,
|
||||||
#ifndef CONFIG_WOWLAN
|
#ifndef CONFIG_WOWLAN
|
||||||
H2C_COM_WWLAN =0x05,
|
H2C_COM_WWLAN = 0x05,
|
||||||
#endif
|
#endif
|
||||||
H2C_COM_INIT_OFFLOAD =0x06,
|
H2C_COM_INIT_OFFLOAD = 0x06,
|
||||||
H2C_COM_REMOTE_WAKE_CTL =0x07,
|
H2C_COM_REMOTE_WAKE_CTL = 0x07,
|
||||||
H2C_COM_AP_OFFLOAD =0x08,
|
H2C_COM_AP_OFFLOAD = 0x08,
|
||||||
H2C_COM_BCN_RSVD_PAGE =0x09,
|
H2C_COM_BCN_RSVD_PAGE = 0x09,
|
||||||
H2C_COM_PROB_RSP_RSVD_PAGE =0x0A,
|
H2C_COM_PROB_RSP_RSVD_PAGE = 0x0A,
|
||||||
|
|
||||||
/* Class PS */
|
/* Class PS */
|
||||||
H2C_PS_PWR_MODE =0x20,
|
H2C_PS_PWR_MODE = 0x20,
|
||||||
H2C_PS_TUNE_PARA =0x21,
|
H2C_PS_TUNE_PARA = 0x21,
|
||||||
H2C_PS_TUNE_PARA_2 =0x22,
|
H2C_PS_TUNE_PARA_2 = 0x22,
|
||||||
H2C_PS_LPS_PARA =0x23,
|
H2C_PS_LPS_PARA = 0x23,
|
||||||
H2C_PS_P2P_OFFLOAD =0x24,
|
H2C_PS_P2P_OFFLOAD = 0x24,
|
||||||
|
|
||||||
/* Class DM */
|
/* Class DM */
|
||||||
H2C_DM_MACID_CFG =0x40,
|
H2C_DM_MACID_CFG = 0x40,
|
||||||
H2C_DM_TXBF =0x41,
|
H2C_DM_TXBF = 0x41,
|
||||||
|
|
||||||
/* Class BT */
|
/* Class BT */
|
||||||
H2C_BT_COEX_MASK =0x60,
|
H2C_BT_COEX_MASK = 0x60,
|
||||||
H2C_BT_COEX_GPIO_MODE =0x61,
|
H2C_BT_COEX_GPIO_MODE = 0x61,
|
||||||
H2C_BT_DAC_SWING_VAL =0x62,
|
H2C_BT_DAC_SWING_VAL = 0x62,
|
||||||
H2C_BT_PSD_RST =0x63,
|
H2C_BT_PSD_RST = 0x63,
|
||||||
|
|
||||||
/* Class Remote WakeUp */
|
/* Class Remote WakeUp */
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
H2C_COM_WWLAN =0x80,
|
H2C_COM_WWLAN = 0x80,
|
||||||
H2C_COM_REMOTE_WAKE_CTRL =0x81,
|
H2C_COM_REMOTE_WAKE_CTRL = 0x81,
|
||||||
H2C_COM_AOAC_GLOBAL_INFO =0x82,
|
H2C_COM_AOAC_GLOBAL_INFO = 0x82,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Class */
|
/* Class */
|
||||||
H2C_RESET_TSF =0xc0,
|
H2C_RESET_TSF = 0xc0,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cmd_msg_parm {
|
struct cmd_msg_parm {
|
||||||
|
@ -70,22 +70,22 @@ struct cmd_msg_parm {
|
||||||
u8 buf[6];
|
u8 buf[6];
|
||||||
};
|
};
|
||||||
|
|
||||||
enum{
|
enum {
|
||||||
PWRS
|
PWRS
|
||||||
};
|
};
|
||||||
|
|
||||||
struct setpwrmode_parm {
|
struct setpwrmode_parm {
|
||||||
u8 Mode;/* 0:Active,1:LPS,2:WMMPS */
|
u8 Mode;/* 0:Active,1:LPS,2:WMMPS */
|
||||||
u8 SmartPS_RLBM;/* LPS=0:PS_Poll,1:PS_Poll,2:NullData,WMM=0:PS_Poll,1:NullData */
|
u8 SmartPS_RLBM;/* LPS= 0:PS_Poll,1:PS_Poll,2:NullData,WMM= 0:PS_Poll,1:NullData */
|
||||||
u8 AwakeInterval; /* unit: beacon interval */
|
u8 AwakeInterval; /* unit: beacon interval */
|
||||||
u8 bAllQueueUAPSD;
|
u8 bAllQueueUAPSD;
|
||||||
u8 PwrState;/* AllON(0x0c),RFON(0x04),RFOFF(0x00) */
|
u8 PwrState;/* AllON(0x0c),RFON(0x04),RFOFF(0x00) */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct H2C_SS_RFOFF_PARAM{
|
struct H2C_SS_RFOFF_PARAM {
|
||||||
u8 ROFOn; /* 1: on, 0:off */
|
u8 ROFOn; /* 1: on, 0:off */
|
||||||
u16 gpio_period; /* unit: 1024 us */
|
u16 gpio_period; /* unit: 1024 us */
|
||||||
}__attribute__ ((packed));
|
} __packed;
|
||||||
|
|
||||||
struct joinbssrpt_parm {
|
struct joinbssrpt_parm {
|
||||||
u8 OpMode; /* RT_MEDIA_STATUS */
|
u8 OpMode; /* RT_MEDIA_STATUS */
|
||||||
|
@ -117,41 +117,39 @@ struct P2P_PS_CTWPeriod_t {
|
||||||
u8 CTWPeriod; /* TU */
|
u8 CTWPeriod; /* TU */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* host message to firmware cmd */
|
/* host message to firmware cmd */
|
||||||
void rtl8188e_set_FwPwrMode_cmd(struct adapter * padapter, u8 Mode);
|
void rtl8188e_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode);
|
||||||
void rtl8188e_set_FwJoinBssReport_cmd(struct adapter * padapter, u8 mstatus);
|
void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *padapter, u8 mstatus);
|
||||||
u8 rtl8188e_set_rssi_cmd(struct adapter * padapter, u8 *param);
|
u8 rtl8188e_set_rssi_cmd(struct adapter *padapter, u8 *param);
|
||||||
u8 rtl8188e_set_raid_cmd(struct adapter * padapter, u32 mask);
|
u8 rtl8188e_set_raid_cmd(struct adapter *padapter, u32 mask);
|
||||||
void rtl8188e_Add_RateATid(struct adapter * padapter, u32 bitmap, u8 arg, u8 rssi_level);
|
void rtl8188e_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 arg,
|
||||||
/* u8 rtl8192c_set_FwSelectSuspend_cmd(struct adapter * padapter, u8 bfwpoll, u16 period); */
|
u8 rssi_level);
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
void rtl8188e_set_p2p_ps_offload_cmd(struct adapter * padapter, u8 p2p_ps_state);
|
void rtl8188e_set_p2p_ps_offload_cmd(struct adapter *adapt, u8 p2p_ps_state);
|
||||||
#endif /* CONFIG_P2P */
|
#endif /* CONFIG_P2P */
|
||||||
|
|
||||||
void CheckFwRsvdPageContent(struct adapter * padapter);
|
void CheckFwRsvdPageContent(struct adapter *adapt);
|
||||||
void rtl8188e_set_FwMediaStatus_cmd(struct adapter * padapter, __le16 mstatus_rpt);
|
void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt);
|
||||||
|
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
struct setwowlan_parm {
|
struct setwowlan_parm {
|
||||||
u8 mode;
|
u8 mode;
|
||||||
u8 gpio_index;
|
u8 gpio_index;
|
||||||
u8 gpio_duration;
|
u8 gpio_duration;
|
||||||
u8 second_mode;
|
u8 second_mode;
|
||||||
u8 reserve;
|
u8 reserve;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct setaoac_glocal_info {
|
struct setaoac_glocal_info {
|
||||||
u8 pairwiseEncAlg;
|
u8 pairwiseEncAlg;
|
||||||
u8 groupEncAlg;
|
u8 groupEncAlg;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FW_WOWLAN_FUN_EN BIT(0)
|
#define FW_WOWLAN_FUN_EN BIT(0)
|
||||||
#define FW_WOWLAN_PATTERN_MATCH BIT(1)
|
#define FW_WOWLAN_PATTERN_MATCH BIT(1)
|
||||||
#define FW_WOWLAN_MAGIC_PKT BIT(2)
|
#define FW_WOWLAN_MAGIC_PKT BIT(2)
|
||||||
#define FW_WOWLAN_UNICAST BIT(3)
|
#define FW_WOWLAN_UNICAST BIT(3)
|
||||||
#define FW_WOWLAN_ALL_PKT_DROP BIT(4)
|
#define FW_WOWLAN_ALL_PKT_DROP BIT(4)
|
||||||
#define FW_WOWLAN_GPIO_ACTIVE BIT(5)
|
#define FW_WOWLAN_GPIO_ACTIVE BIT(5)
|
||||||
#define FW_WOWLAN_REKEY_WAKEUP BIT(6)
|
#define FW_WOWLAN_REKEY_WAKEUP BIT(6)
|
||||||
|
@ -161,9 +159,9 @@ struct setaoac_glocal_info {
|
||||||
#define FW_FW_PARSE_MAGIC_PKT BIT(1)
|
#define FW_FW_PARSE_MAGIC_PKT BIT(1)
|
||||||
|
|
||||||
#define FW_REMOTE_WAKE_CTRL_EN BIT(0)
|
#define FW_REMOTE_WAKE_CTRL_EN BIT(0)
|
||||||
#define FW_REALWOWLAN_EN BIT(5)
|
#define FW_REALWOWLAN_EN BIT(5)
|
||||||
void rtl8188es_set_wowlan_cmd(struct adapter* padapter, u8 enable);
|
void rtl8188es_set_wowlan_cmd(struct adapter *adapt, u8 enable);
|
||||||
void SetFwRelatedForWoWLAN8188ES(struct adapter* padapter, u8 bHostIsGoingtoSleep);
|
void SetFwRelatedForWoWLAN8188ES(struct adapter *adapt, u8 HostIsGoingtoSleep);
|
||||||
|
|
||||||
#endif/* CONFIG_WOWLAN */
|
#endif/* CONFIG_WOWLAN */
|
||||||
#endif/* __RTL8188E_CMD_H__ */
|
#endif/* __RTL8188E_CMD_H__ */
|
||||||
|
|
|
@ -29,8 +29,7 @@ enum{
|
||||||
#define IQK_BB_REG_NUM 9
|
#define IQK_BB_REG_NUM 9
|
||||||
#define HP_THERMAL_NUM 8
|
#define HP_THERMAL_NUM 8
|
||||||
/* duplicate code,will move to ODM ######### */
|
/* duplicate code,will move to ODM ######### */
|
||||||
struct dm_priv
|
struct dm_priv {
|
||||||
{
|
|
||||||
u8 DM_Type;
|
u8 DM_Type;
|
||||||
u8 DMFlag;
|
u8 DMFlag;
|
||||||
u8 InitDMFlag;
|
u8 InitDMFlag;
|
||||||
|
@ -47,16 +46,17 @@ struct dm_priv
|
||||||
/* for High Power */
|
/* for High Power */
|
||||||
u8 bDynamicTxPowerEnable;
|
u8 bDynamicTxPowerEnable;
|
||||||
u8 LastDTPLvl;
|
u8 LastDTPLvl;
|
||||||
u8 DynamicTxHighPowerLvl;/* Add by Jacken Tx Power Control for Near/Far Range */
|
u8 DynamicTxHighPowerLvl;/* Tx Power Control for Near/Far Range */
|
||||||
u8 PowerIndex_backup[6];
|
u8 PowerIndex_backup[6];
|
||||||
};
|
};
|
||||||
|
|
||||||
void rtl8188e_init_dm_priv(struct adapter * Adapter);
|
void rtl8188e_init_dm_priv(struct adapter *adapt);
|
||||||
void rtl8188e_deinit_dm_priv(struct adapter * Adapter);
|
void rtl8188e_deinit_dm_priv(struct adapter *adapt);
|
||||||
void rtl8188e_InitHalDm(struct adapter * Adapter);
|
void rtl8188e_InitHalDm(struct adapter *adapt);
|
||||||
void rtl8188e_HalDmWatchDog(struct adapter * Adapter);
|
void rtl8188e_HalDmWatchDog(struct adapter *adapt);
|
||||||
|
|
||||||
void AntDivCompare8188E(struct adapter * Adapter, struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src);
|
void AntDivCompare8188E(struct adapter *adapt, struct wlan_bssid_ex *dst,
|
||||||
u8 AntDivBeforeLink8188E(struct adapter * Adapter );
|
struct wlan_bssid_ex *src);
|
||||||
|
u8 AntDivBeforeLink8188E(struct adapter *adapt);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -37,50 +37,48 @@
|
||||||
#include "odm_precomp.h"
|
#include "odm_precomp.h"
|
||||||
|
|
||||||
/* Fw Array */
|
/* Fw Array */
|
||||||
#define Rtl8188E_FwImageArray Rtl8188EFwImgArray
|
#define Rtl8188E_FwImageArray Rtl8188EFwImgArray
|
||||||
#define Rtl8188E_FWImgArrayLength Rtl8188EFWImgArrayLength
|
#define Rtl8188E_FWImgArrayLength Rtl8188EFWImgArrayLength
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
#define Rtl8188E_FwWoWImageArray Array_8188E_FW_WoWLAN
|
#define Rtl8188E_FwWoWImageArray Array_8188E_FW_WoWLAN
|
||||||
#define Rtl8188E_FwWoWImgArrayLength ArrayLength_8188E_FW_WoWLAN
|
#define Rtl8188E_FwWoWImgArrayLength ArrayLength_8188E_FW_WoWLAN
|
||||||
#endif /* CONFIG_WOWLAN */
|
#endif /* CONFIG_WOWLAN */
|
||||||
|
|
||||||
#define RTL8188E_FW_UMC_IMG "rtl8188E\\rtl8188efw.bin"
|
#define RTL8188E_FW_UMC_IMG "rtl8188E\\rtl8188efw.bin"
|
||||||
#define RTL8188E_PHY_REG "rtl8188E\\PHY_REG_1T.txt"
|
#define RTL8188E_PHY_REG "rtl8188E\\PHY_REG_1T.txt"
|
||||||
#define RTL8188E_PHY_RADIO_A "rtl8188E\\radio_a_1T.txt"
|
#define RTL8188E_PHY_RADIO_A "rtl8188E\\radio_a_1T.txt"
|
||||||
#define RTL8188E_PHY_RADIO_B "rtl8188E\\radio_b_1T.txt"
|
#define RTL8188E_PHY_RADIO_B "rtl8188E\\radio_b_1T.txt"
|
||||||
#define RTL8188E_AGC_TAB "rtl8188E\\AGC_TAB_1T.txt"
|
#define RTL8188E_AGC_TAB "rtl8188E\\AGC_TAB_1T.txt"
|
||||||
#define RTL8188E_PHY_MACREG "rtl8188E\\MAC_REG.txt"
|
#define RTL8188E_PHY_MACREG "rtl8188E\\MAC_REG.txt"
|
||||||
#define RTL8188E_PHY_REG_PG "rtl8188E\\PHY_REG_PG.txt"
|
#define RTL8188E_PHY_REG_PG "rtl8188E\\PHY_REG_PG.txt"
|
||||||
#define RTL8188E_PHY_REG_MP "rtl8188E\\PHY_REG_MP.txt"
|
#define RTL8188E_PHY_REG_MP "rtl8188E\\PHY_REG_MP.txt"
|
||||||
|
|
||||||
/* */
|
|
||||||
/* RTL8188E Power Configuration CMDs for USB/SDIO interfaces */
|
/* RTL8188E Power Configuration CMDs for USB/SDIO interfaces */
|
||||||
/* */
|
#define Rtl8188E_NIC_PWR_ON_FLOW rtl8188E_power_on_flow
|
||||||
#define Rtl8188E_NIC_PWR_ON_FLOW rtl8188E_power_on_flow
|
#define Rtl8188E_NIC_RF_OFF_FLOW rtl8188E_radio_off_flow
|
||||||
#define Rtl8188E_NIC_RF_OFF_FLOW rtl8188E_radio_off_flow
|
#define Rtl8188E_NIC_DISABLE_FLOW rtl8188E_card_disable_flow
|
||||||
#define Rtl8188E_NIC_DISABLE_FLOW rtl8188E_card_disable_flow
|
#define Rtl8188E_NIC_ENABLE_FLOW rtl8188E_card_enable_flow
|
||||||
#define Rtl8188E_NIC_ENABLE_FLOW rtl8188E_card_enable_flow
|
#define Rtl8188E_NIC_SUSPEND_FLOW rtl8188E_suspend_flow
|
||||||
#define Rtl8188E_NIC_SUSPEND_FLOW rtl8188E_suspend_flow
|
#define Rtl8188E_NIC_RESUME_FLOW rtl8188E_resume_flow
|
||||||
#define Rtl8188E_NIC_RESUME_FLOW rtl8188E_resume_flow
|
#define Rtl8188E_NIC_PDN_FLOW rtl8188E_hwpdn_flow
|
||||||
#define Rtl8188E_NIC_PDN_FLOW rtl8188E_hwpdn_flow
|
#define Rtl8188E_NIC_LPS_ENTER_FLOW rtl8188E_enter_lps_flow
|
||||||
#define Rtl8188E_NIC_LPS_ENTER_FLOW rtl8188E_enter_lps_flow
|
#define Rtl8188E_NIC_LPS_LEAVE_FLOW rtl8188E_leave_lps_flow
|
||||||
#define Rtl8188E_NIC_LPS_LEAVE_FLOW rtl8188E_leave_lps_flow
|
|
||||||
|
|
||||||
#define DRVINFO_SZ 4 /* unit is 8bytes */
|
#define DRVINFO_SZ 4 /* unit is 8bytes */
|
||||||
#define PageNum_128(_Len) (u32)(((_Len)>>7) + ((_Len)&0x7F ? 1:0))
|
#define PageNum_128(_Len) (u32)(((_Len)>>7) + ((_Len) & 0x7F ? 1 : 0))
|
||||||
|
|
||||||
|
|
||||||
/* download firmware related data structure */
|
/* download firmware related data structure */
|
||||||
#define FW_8188E_SIZE 0x4000 /* 16384,16k */
|
#define FW_8188E_SIZE 0x4000 /* 16384,16k */
|
||||||
#define FW_8188E_START_ADDRESS 0x1000
|
#define FW_8188E_START_ADDRESS 0x1000
|
||||||
#define FW_8188E_END_ADDRESS 0x1FFF /* 0x5FFF */
|
#define FW_8188E_END_ADDRESS 0x1FFF /* 0x5FFF */
|
||||||
|
|
||||||
#define MAX_PAGE_SIZE 4096 /* @ page : 4k bytes */
|
#define MAX_PAGE_SIZE 4096 /* @ page : 4k bytes */
|
||||||
|
|
||||||
#define IS_FW_HEADER_EXIST(_pFwHdr) ((le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x92C0 ||\
|
#define IS_FW_HEADER_EXIST(_pFwHdr) \
|
||||||
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88C0 ||\
|
((le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x92C0 || \
|
||||||
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x2300 ||\
|
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88C0 || \
|
||||||
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88E0)
|
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x2300 || \
|
||||||
|
(le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88E0)
|
||||||
|
|
||||||
enum firmware_source {
|
enum firmware_source {
|
||||||
FW_SOURCE_IMG_FILE = 0,
|
FW_SOURCE_IMG_FILE = 0,
|
||||||
|
@ -89,11 +87,11 @@ enum firmware_source {
|
||||||
|
|
||||||
struct rt_firmware {
|
struct rt_firmware {
|
||||||
enum firmware_source eFWSource;
|
enum firmware_source eFWSource;
|
||||||
u8* szFwBuffer;
|
u8 *szFwBuffer;
|
||||||
u32 ulFwLength;
|
u32 ulFwLength;
|
||||||
|
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
u8* szWoWLANFwBuffer;
|
u8 *szWoWLANFwBuffer;
|
||||||
u32 ulWoWLANFwLength;
|
u32 ulWoWLANFwLength;
|
||||||
#endif /* CONFIG_WOWLAN */
|
#endif /* CONFIG_WOWLAN */
|
||||||
};
|
};
|
||||||
|
@ -102,16 +100,19 @@ struct rt_firmware {
|
||||||
|
|
||||||
struct rt_firmware_hdr {
|
struct rt_firmware_hdr {
|
||||||
/* 8-byte alinment required */
|
/* 8-byte alinment required */
|
||||||
|
|
||||||
/* LONG WORD 0 ---- */
|
/* LONG WORD 0 ---- */
|
||||||
__le16 Signature; /* 92C0: test chip; 92C, 88C0: test chip; 88C1: MP A-cut; 92C1: MP A-cut */
|
__le16 Signature; /* 92C0: test chip; 92C,
|
||||||
|
* 88C0: test chip; 88C1: MP A-cut;
|
||||||
|
* 92C1: MP A-cut */
|
||||||
u8 Category; /* AP/NIC and USB/PCI */
|
u8 Category; /* AP/NIC and USB/PCI */
|
||||||
u8 Function; /* Reserved for different FW function indcation, for further use when driver needs to download different FW in different conditions */
|
u8 Function; /* Reserved for different FW function
|
||||||
__le16 Version; /* FW Version */
|
* indcation, for further use when
|
||||||
|
* driver needs to download different
|
||||||
|
* FW for different conditions */
|
||||||
|
__le16 Version; /* FW Version */
|
||||||
u8 Subversion; /* FW Subversion, default 0x00 */
|
u8 Subversion; /* FW Subversion, default 0x00 */
|
||||||
u16 Rsvd1;
|
u16 Rsvd1;
|
||||||
|
|
||||||
|
|
||||||
/* LONG WORD 1 ---- */
|
/* LONG WORD 1 ---- */
|
||||||
u8 Month; /* Release time Month field */
|
u8 Month; /* Release time Month field */
|
||||||
u8 Date; /* Release time Date field */
|
u8 Date; /* Release time Date field */
|
||||||
|
@ -140,34 +141,38 @@ enum usb_rx_agg_mode {
|
||||||
USB_RX_AGG_MIX
|
USB_RX_AGG_MIX
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_RX_DMA_BUFFER_SIZE_88E 0x2400 /* 9k for 88E nornal chip , MaxRxBuff=10k-max(TxReportSize(64*8), WOLPattern(16*24)) */
|
#define MAX_RX_DMA_BUFFER_SIZE_88E \
|
||||||
|
0x2400 /* 9k for 88E nornal chip , MaxRxBuff=10k-max(TxReportSize(64*8),
|
||||||
|
* WOLPattern(16*24)) */
|
||||||
|
|
||||||
#define MAX_TX_REPORT_BUFFER_SIZE 0x0400 /* 1k */
|
#define MAX_TX_REPORT_BUFFER_SIZE 0x0400 /* 1k */
|
||||||
|
|
||||||
|
|
||||||
/* BK, BE, VI, VO, HCCA, MANAGEMENT, COMMAND, HIGH, BEACON. */
|
/* BK, BE, VI, VO, HCCA, MANAGEMENT, COMMAND, HIGH, BEACON. */
|
||||||
#define MAX_TX_QUEUE 9
|
#define MAX_TX_QUEUE 9
|
||||||
|
|
||||||
#define TX_SELE_HQ BIT(0) /* High Queue */
|
#define TX_SELE_HQ BIT(0) /* High Queue */
|
||||||
#define TX_SELE_LQ BIT(1) /* Low Queue */
|
#define TX_SELE_LQ BIT(1) /* Low Queue */
|
||||||
#define TX_SELE_NQ BIT(2) /* Normal Queue */
|
#define TX_SELE_NQ BIT(2) /* Normal Queue */
|
||||||
|
|
||||||
/* Note: We will divide number of page equally for each queue other than public queue! */
|
/* Note: We will divide number of page equally for each queue other
|
||||||
|
* than public queue! */
|
||||||
/* 22k = 22528 bytes = 176 pages (@page = 128 bytes) */
|
/* 22k = 22528 bytes = 176 pages (@page = 128 bytes) */
|
||||||
/* must reserved about 7 pages for LPS => 176-7 = 169 (0xA9) */
|
/* must reserved about 7 pages for LPS => 176-7 = 169 (0xA9) */
|
||||||
/* 2*BCN / 1*ps-poll / 1*null-data /1*prob_rsp /1*QOS null-data /1*BT QOS null-data */
|
/* 2*BCN / 1*ps-poll / 1*null-data /1*prob_rsp /1*QOS null-data /1*BT QOS
|
||||||
|
* null-data */
|
||||||
|
|
||||||
#define TX_TOTAL_PAGE_NUMBER_88E 0xA9/* 169 (21632=> 21k) */
|
#define TX_TOTAL_PAGE_NUMBER_88E 0xA9/* 169 (21632=> 21k) */
|
||||||
|
|
||||||
#define TX_PAGE_BOUNDARY_88E (TX_TOTAL_PAGE_NUMBER_88E + 1)
|
#define TX_PAGE_BOUNDARY_88E (TX_TOTAL_PAGE_NUMBER_88E + 1)
|
||||||
|
|
||||||
/* Note: For Normal Chip Setting ,modify later */
|
/* Note: For Normal Chip Setting ,modify later */
|
||||||
#define WMM_NORMAL_TX_TOTAL_PAGE_NUMBER TX_TOTAL_PAGE_NUMBER_88E /* 0xA9 , 0xb0=>176=>22k */
|
#define WMM_NORMAL_TX_TOTAL_PAGE_NUMBER \
|
||||||
#define WMM_NORMAL_TX_PAGE_BOUNDARY_88E (WMM_NORMAL_TX_TOTAL_PAGE_NUMBER + 1) /* 0xA9 */
|
TX_TOTAL_PAGE_NUMBER_88E /* 0xA9 , 0xb0=>176=>22k */
|
||||||
|
#define WMM_NORMAL_TX_PAGE_BOUNDARY_88E \
|
||||||
|
(WMM_NORMAL_TX_TOTAL_PAGE_NUMBER + 1) /* 0xA9 */
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Chip specific */
|
/* Chip specific */
|
||||||
/* */
|
|
||||||
#define CHIP_BONDING_IDENTIFIER(_value) (((_value)>>22)&0x3)
|
#define CHIP_BONDING_IDENTIFIER(_value) (((_value)>>22)&0x3)
|
||||||
#define CHIP_BONDING_92C_1T2R 0x1
|
#define CHIP_BONDING_92C_1T2R 0x1
|
||||||
#define CHIP_BONDING_88C_USB_MCARD 0x2
|
#define CHIP_BONDING_88C_USB_MCARD 0x2
|
||||||
|
@ -175,11 +180,8 @@ enum usb_rx_agg_mode {
|
||||||
#include "HalVerDef.h"
|
#include "HalVerDef.h"
|
||||||
#include "hal_com.h"
|
#include "hal_com.h"
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Channel Plan */
|
/* Channel Plan */
|
||||||
/* */
|
enum ChannelPlan {
|
||||||
enum ChannelPlan
|
|
||||||
{
|
|
||||||
CHPL_FCC = 0,
|
CHPL_FCC = 0,
|
||||||
CHPL_IC = 1,
|
CHPL_IC = 1,
|
||||||
CHPL_ETSI = 2,
|
CHPL_ETSI = 2,
|
||||||
|
@ -204,20 +206,19 @@ struct txpowerinfo24g {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define EFUSE_REAL_CONTENT_LEN 512
|
#define EFUSE_REAL_CONTENT_LEN 512
|
||||||
#define EFUSE_MAP_LEN 128
|
#define EFUSE_MAP_LEN 128
|
||||||
#define EFUSE_MAX_SECTION 16
|
#define EFUSE_MAX_SECTION 16
|
||||||
#define EFUSE_IC_ID_OFFSET 506 /* For some inferiority IC purpose. added by Roger, 2009.09.02. */
|
#define EFUSE_IC_ID_OFFSET 506 /* For some inferior IC purpose*/
|
||||||
#define AVAILABLE_EFUSE_ADDR(addr) (addr < EFUSE_REAL_CONTENT_LEN)
|
#define AVAILABLE_EFUSE_ADDR(addr) (addr < EFUSE_REAL_CONTENT_LEN)
|
||||||
/* */
|
|
||||||
/* <Roger_Notes> */
|
|
||||||
/* To prevent out of boundary programming case, */
|
/* To prevent out of boundary programming case, */
|
||||||
/* leave 1byte and program full section */
|
/* leave 1byte and program full section */
|
||||||
/* 9bytes + 1byt + 5bytes and pre 1byte. */
|
/* 9bytes + 1byt + 5bytes and pre 1byte. */
|
||||||
/* For worst case: */
|
/* For worst case: */
|
||||||
/* | 1byte|----8bytes----|1byte|--5bytes--| */
|
/* | 1byte|----8bytes----|1byte|--5bytes--| */
|
||||||
/* | | Reserved(14bytes) | */
|
/* | | Reserved(14bytes) | */
|
||||||
/* */
|
|
||||||
#define EFUSE_OOB_PROTECT_BYTES 15 /* PG data exclude header, dummy 6 bytes frome CP test and reserved 1byte. */
|
/* PG data exclude header, dummy 6 bytes frome CP test and reserved 1byte. */
|
||||||
|
#define EFUSE_OOB_PROTECT_BYTES 15
|
||||||
|
|
||||||
#define HWSET_MAX_SIZE_88E 512
|
#define HWSET_MAX_SIZE_88E 512
|
||||||
|
|
||||||
|
@ -225,28 +226,26 @@ struct txpowerinfo24g {
|
||||||
#define EFUSE_MAP_LEN_88E 512
|
#define EFUSE_MAP_LEN_88E 512
|
||||||
#define EFUSE_MAX_SECTION_88E 64
|
#define EFUSE_MAX_SECTION_88E 64
|
||||||
#define EFUSE_MAX_WORD_UNIT_88E 4
|
#define EFUSE_MAX_WORD_UNIT_88E 4
|
||||||
#define EFUSE_IC_ID_OFFSET_88E 506 /* For some inferiority IC purpose. added by Roger, 2009.09.02. */
|
#define EFUSE_IC_ID_OFFSET_88E 506
|
||||||
#define AVAILABLE_EFUSE_ADDR_88E(addr) (addr < EFUSE_REAL_CONTENT_LEN_88E)
|
#define AVAILABLE_EFUSE_ADDR_88E(addr) \
|
||||||
/* <Roger_Notes> To prevent out of boundary programming case, leave 1byte and program full section */
|
(addr < EFUSE_REAL_CONTENT_LEN_88E)
|
||||||
|
/* To prevent out of boundary programming case, leave 1byte and program
|
||||||
|
* full section */
|
||||||
/* 9bytes + 1byt + 5bytes and pre 1byte. */
|
/* 9bytes + 1byt + 5bytes and pre 1byte. */
|
||||||
/* For worst case: */
|
/* For worst case: */
|
||||||
/* | 2byte|----8bytes----|1byte|--7bytes--| 92D */
|
/* | 2byte|----8bytes----|1byte|--7bytes--| 92D */
|
||||||
#define EFUSE_OOB_PROTECT_BYTES_88E 18 /* PG data exclude header, dummy 7 bytes frome CP test and reserved 1byte. */
|
/* PG data exclude header, dummy 7 bytes frome CP test and reserved 1byte. */
|
||||||
|
#define EFUSE_OOB_PROTECT_BYTES_88E 18
|
||||||
#define EFUSE_PROTECT_BYTES_BANK_88E 16
|
#define EFUSE_PROTECT_BYTES_BANK_88E 16
|
||||||
|
|
||||||
|
|
||||||
/* */
|
|
||||||
/* EFUSE for BT definition */
|
/* EFUSE for BT definition */
|
||||||
/* */
|
#define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */
|
||||||
#define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */
|
#define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */
|
||||||
#define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */
|
#define EFUSE_BT_MAX_SECTION 128 /* 1024/8 */
|
||||||
#define EFUSE_BT_MAX_SECTION 128 /* 1024/8 */
|
|
||||||
|
|
||||||
#define EFUSE_PROTECT_BYTES_BANK 16
|
#define EFUSE_PROTECT_BYTES_BANK 16
|
||||||
|
|
||||||
/* */
|
/* For RTL8723 WiFi/BT/GPS multi-function configuration. */
|
||||||
/* <Roger_Notes> For RTL8723 WiFi/BT/GPS multi-function configuration. 2010.10.06. */
|
|
||||||
/* */
|
|
||||||
enum rt_multi_func {
|
enum rt_multi_func {
|
||||||
RT_MULTI_FUNC_NONE = 0x00,
|
RT_MULTI_FUNC_NONE = 0x00,
|
||||||
RT_MULTI_FUNC_WIFI = 0x01,
|
RT_MULTI_FUNC_WIFI = 0x01,
|
||||||
|
@ -254,9 +253,7 @@ enum rt_multi_func {
|
||||||
RT_MULTI_FUNC_GPS = 0x04,
|
RT_MULTI_FUNC_GPS = 0x04,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* */
|
/* For RTL8723 WiFi PDn/GPIO polarity control configuration. */
|
||||||
/* <Roger_Notes> For RTL8723 WiFi PDn/GPIO polarity control configuration. 2010.10.08. */
|
|
||||||
/* */
|
|
||||||
enum rt_polarity_ctl {
|
enum rt_polarity_ctl {
|
||||||
RT_POLARITY_LOW_ACT = 0,
|
RT_POLARITY_LOW_ACT = 0,
|
||||||
RT_POLARITY_HIGH_ACT = 1,
|
RT_POLARITY_HIGH_ACT = 1,
|
||||||
|
@ -268,7 +265,6 @@ enum rt_regulator_mode {
|
||||||
RT_LDO_REGULATOR = 1,
|
RT_LDO_REGULATOR = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct hal_data_8188e {
|
struct hal_data_8188e {
|
||||||
struct HAL_VERSION VersionID;
|
struct HAL_VERSION VersionID;
|
||||||
enum rt_multi_func MultiFunc; /* For multi-function consideration. */
|
enum rt_multi_func MultiFunc; /* For multi-function consideration. */
|
||||||
|
@ -297,9 +293,7 @@ struct hal_data_8188e {
|
||||||
|
|
||||||
u8 BoardType;
|
u8 BoardType;
|
||||||
|
|
||||||
/* */
|
|
||||||
/* EEPROM setting. */
|
/* EEPROM setting. */
|
||||||
/* */
|
|
||||||
u16 EEPROMVID;
|
u16 EEPROMVID;
|
||||||
u16 EEPROMPID;
|
u16 EEPROMPID;
|
||||||
u16 EEPROMSVID;
|
u16 EEPROMSVID;
|
||||||
|
@ -313,13 +307,11 @@ struct hal_data_8188e {
|
||||||
u8 EEPROMThermalMeter;
|
u8 EEPROMThermalMeter;
|
||||||
u8 bAPKThermalMeterIgnore;
|
u8 bAPKThermalMeterIgnore;
|
||||||
|
|
||||||
bool EepromOrEfuse;
|
bool EepromOrEfuse;
|
||||||
u8 EfuseMap[2][HWSET_MAX_SIZE_512]; /* 92C:256bytes, 88E:512bytes, we use union set (512bytes) */
|
/* 92C:256bytes, 88E:512bytes, we use union set (512bytes) */
|
||||||
u8 EfuseUsedPercentage;
|
u8 EfuseMap[2][HWSET_MAX_SIZE_512];
|
||||||
struct efuse_hal EfuseHal;
|
u8 EfuseUsedPercentage;
|
||||||
|
struct efuse_hal EfuseHal;
|
||||||
/* u8 bIQKInitialized; */
|
|
||||||
|
|
||||||
|
|
||||||
u8 Index24G_CCK_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
|
u8 Index24G_CCK_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
|
||||||
u8 Index24G_BW40_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
|
u8 Index24G_BW40_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
|
||||||
|
@ -330,10 +322,14 @@ struct hal_data_8188e {
|
||||||
s8 BW40_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
|
s8 BW40_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
|
||||||
|
|
||||||
u8 TxPwrLevelCck[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
u8 TxPwrLevelCck[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
u8 TxPwrLevelHT40_1S[RF_PATH_MAX][CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
|
/* For HT 40MHZ pwr */
|
||||||
u8 TxPwrLevelHT40_2S[RF_PATH_MAX][CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
|
u8 TxPwrLevelHT40_1S[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
u8 TxPwrHt20Diff[RF_PATH_MAX][CHANNEL_MAX_NUMBER];/* HT 20<->40 Pwr diff */
|
/* For HT 40MHZ pwr */
|
||||||
u8 TxPwrLegacyHtDiff[RF_PATH_MAX][CHANNEL_MAX_NUMBER];/* For HT<->legacy pwr diff */
|
u8 TxPwrLevelHT40_2S[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
|
/* HT 20<->40 Pwr diff */
|
||||||
|
u8 TxPwrHt20Diff[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
|
/* For HT<->legacy pwr diff */
|
||||||
|
u8 TxPwrLegacyHtDiff[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
/* For power group */
|
/* For power group */
|
||||||
u8 PwrGroupHT20[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
u8 PwrGroupHT20[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
u8 PwrGroupHT40[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
u8 PwrGroupHT40[RF_PATH_MAX][CHANNEL_MAX_NUMBER];
|
||||||
|
@ -356,12 +352,12 @@ struct hal_data_8188e {
|
||||||
u32 CCKTxPowerLevelOriginalOffset;
|
u32 CCKTxPowerLevelOriginalOffset;
|
||||||
|
|
||||||
u8 CrystalCap;
|
u8 CrystalCap;
|
||||||
u32 AntennaTxPath; /* Antenna path Tx */
|
u32 AntennaTxPath; /* Antenna path Tx */
|
||||||
u32 AntennaRxPath; /* Antenna path Rx */
|
u32 AntennaRxPath; /* Antenna path Rx */
|
||||||
u8 BluetoothCoexist;
|
u8 BluetoothCoexist;
|
||||||
u8 ExternalPA;
|
u8 ExternalPA;
|
||||||
|
|
||||||
u8 bLedOpenDrain; /* Support Open-drain arrangement for controlling the LED. Added by Roger, 2009.10.16. */
|
u8 bLedOpenDrain; /* Open-drain support for controlling the LED.*/
|
||||||
|
|
||||||
u8 b1x1RecvCombine; /* for 1T1R receive combining */
|
u8 b1x1RecvCombine; /* for 1T1R receive combining */
|
||||||
|
|
||||||
|
@ -400,7 +396,8 @@ struct hal_data_8188e {
|
||||||
|
|
||||||
u8 bDumpRxPkt;/* for debug */
|
u8 bDumpRxPkt;/* for debug */
|
||||||
u8 bDumpTxPkt;/* for debug */
|
u8 bDumpTxPkt;/* for debug */
|
||||||
u8 FwRsvdPageStartOffset; /* 2010.06.23. Added by tynli. Reserve page start offset except beacon in TxQ. */
|
u8 FwRsvdPageStartOffset; /* Reserve page start offset except
|
||||||
|
* beacon in TxQ. */
|
||||||
|
|
||||||
/* 2010/08/09 MH Add CU power down mode. */
|
/* 2010/08/09 MH Add CU power down mode. */
|
||||||
bool pwrdown;
|
bool pwrdown;
|
||||||
|
@ -411,11 +408,12 @@ struct hal_data_8188e {
|
||||||
u8 OutEpQueueSel;
|
u8 OutEpQueueSel;
|
||||||
u8 OutEpNumber;
|
u8 OutEpNumber;
|
||||||
|
|
||||||
/* 2010/12/10 MH Add for USB aggreation mode dynamic shceme. */
|
/* Add for USB aggreation mode dynamic shceme. */
|
||||||
bool UsbRxHighSpeedMode;
|
bool UsbRxHighSpeedMode;
|
||||||
|
|
||||||
/* 2010/11/22 MH Add for slim combo debug mode selective. */
|
/* 2010/11/22 MH Add for slim combo debug mode selective. */
|
||||||
/* This is used for fix the drawback of CU TSMC-A/UMC-A cut. HW auto suspend ability. Close BT clock. */
|
/* This is used for fix the drawback of CU TSMC-A/UMC-A cut.
|
||||||
|
* HW auto suspend ability. Close BT clock. */
|
||||||
bool SlimComboDbg;
|
bool SlimComboDbg;
|
||||||
|
|
||||||
u16 EfuseUsedBytes;
|
u16 EfuseUsedBytes;
|
||||||
|
@ -424,8 +422,9 @@ struct hal_data_8188e {
|
||||||
struct P2P_PS_Offload_t p2p_ps_offload;
|
struct P2P_PS_Offload_t p2p_ps_offload;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Auto FSM to Turn On, include clock, isolation, power control for MAC only */
|
/* Auto FSM to Turn On, include clock, isolation, power control
|
||||||
u8 bMacPwrCtrlOn;
|
* for MAC only */
|
||||||
|
u8 bMacPwrCtrlOn;
|
||||||
|
|
||||||
u32 UsbBulkOutSize;
|
u32 UsbBulkOutSize;
|
||||||
|
|
||||||
|
@ -435,67 +434,81 @@ struct hal_data_8188e {
|
||||||
u8 C2hArray[16];
|
u8 C2hArray[16];
|
||||||
u8 UsbTxAggMode;
|
u8 UsbTxAggMode;
|
||||||
u8 UsbTxAggDescNum;
|
u8 UsbTxAggDescNum;
|
||||||
u16 HwRxPageSize; /* Hardware setting */
|
u16 HwRxPageSize; /* Hardware setting */
|
||||||
u32 MaxUsbRxAggBlock;
|
u32 MaxUsbRxAggBlock;
|
||||||
|
|
||||||
enum usb_rx_agg_mode UsbRxAggMode;
|
enum usb_rx_agg_mode UsbRxAggMode;
|
||||||
u8 UsbRxAggBlockCount; /* USB Block count. Block size is 512-byte in hight speed and 64-byte in full speed */
|
u8 UsbRxAggBlockCount; /* USB Block count. Block size is
|
||||||
|
* 512-byte in high speed and 64-byte
|
||||||
|
* in full speed */
|
||||||
u8 UsbRxAggBlockTimeout;
|
u8 UsbRxAggBlockTimeout;
|
||||||
u8 UsbRxAggPageCount; /* 8192C DMA page count */
|
u8 UsbRxAggPageCount; /* 8192C DMA page count */
|
||||||
u8 UsbRxAggPageTimeout;
|
u8 UsbRxAggPageTimeout;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GET_HAL_DATA(__pAdapter) ((struct hal_data_8188e *)((__pAdapter)->HalData))
|
#define GET_HAL_DATA(__pAdapter) \
|
||||||
#define GET_RF_TYPE(priv) (GET_HAL_DATA(priv)->rf_type)
|
((struct hal_data_8188e *)((__pAdapter)->HalData))
|
||||||
|
#define GET_RF_TYPE(priv) (GET_HAL_DATA(priv)->rf_type)
|
||||||
|
|
||||||
#define INCLUDE_MULTI_FUNC_BT(_Adapter) (GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_BT)
|
#define INCLUDE_MULTI_FUNC_BT(_Adapter) \
|
||||||
#define INCLUDE_MULTI_FUNC_GPS(_Adapter) (GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_GPS)
|
(GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_BT)
|
||||||
|
#define INCLUDE_MULTI_FUNC_GPS(_Adapter) \
|
||||||
|
(GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_GPS)
|
||||||
|
|
||||||
/* rtl8188e_hal_init.c */
|
/* rtl8188e_hal_init.c */
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
s32 rtl8188e_FirmwareDownload(struct adapter * padapter, bool bUsedWoWLANFw);
|
s32 rtl8188e_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw);
|
||||||
#else
|
#else
|
||||||
s32 rtl8188e_FirmwareDownload(struct adapter * padapter);
|
s32 rtl8188e_FirmwareDownload(struct adapter *padapter);
|
||||||
#endif
|
#endif
|
||||||
void _8051Reset88E(struct adapter * padapter);
|
void _8051Reset88E(struct adapter *padapter);
|
||||||
void rtl8188e_InitializeFirmwareVars(struct adapter * padapter);
|
void rtl8188e_InitializeFirmwareVars(struct adapter *padapter);
|
||||||
|
|
||||||
|
|
||||||
s32 InitLLTTable(struct adapter * padapter, u8 txpktbuf_bndy);
|
s32 InitLLTTable(struct adapter *padapter, u8 txpktbuf_bndy);
|
||||||
|
|
||||||
/* EFuse */
|
/* EFuse */
|
||||||
u8 GetEEPROMSize8188E(struct adapter * padapter);
|
u8 GetEEPROMSize8188E(struct adapter *padapter);
|
||||||
void Hal_InitPGData88E(struct adapter * padapter);
|
void Hal_InitPGData88E(struct adapter *padapter);
|
||||||
void Hal_EfuseParseIDCode88E(struct adapter * padapter, u8 *hwinfo);
|
void Hal_EfuseParseIDCode88E(struct adapter *padapter, u8 *hwinfo);
|
||||||
void Hal_ReadTxPowerInfo88E(struct adapter * padapter,u8* hwinfo,bool AutoLoadFail);
|
void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *hwinfo,
|
||||||
|
bool AutoLoadFail);
|
||||||
|
|
||||||
void Hal_EfuseParseEEPROMVer88E(struct adapter * padapter, u8 *hwinfo, bool AutoLoadFail);
|
void Hal_EfuseParseEEPROMVer88E(struct adapter *padapter, u8 *hwinfo,
|
||||||
void rtl8188e_EfuseParseChnlPlan(struct adapter * padapter, u8 *hwinfo, bool AutoLoadFail);
|
bool AutoLoadFail);
|
||||||
void Hal_EfuseParseCustomerID88E(struct adapter * padapter, u8 *hwinfo, bool AutoLoadFail);
|
void rtl8188e_EfuseParseChnlPlan(struct adapter *padapter, u8 *hwinfo,
|
||||||
void Hal_ReadAntennaDiversity88E (struct adapter * pAdapter,u8*PROMContent,bool AutoLoadFail);
|
bool AutoLoadFail);
|
||||||
void Hal_ReadThermalMeter_88E(struct adapter * Adapter,u8* PROMContent,bool AutoloadFail);
|
void Hal_EfuseParseCustomerID88E(struct adapter *padapter, u8 *hwinfo,
|
||||||
void Hal_EfuseParseXtal_8188E(struct adapter * pAdapter,u8* hwinfo,bool AutoLoadFail);
|
bool AutoLoadFail);
|
||||||
void Hal_EfuseParseBoardType88E(struct adapter * pAdapter,u8* hwinfo,bool AutoLoadFail);
|
void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter,u8 *PROMContent,
|
||||||
void Hal_ReadPowerSavingMode88E(struct adapter * pAdapter,u8* hwinfo,bool AutoLoadFail);
|
bool AutoLoadFail);
|
||||||
|
void Hal_ReadThermalMeter_88E(struct adapter * dapter, u8 *PROMContent,
|
||||||
|
bool AutoloadFail);
|
||||||
|
void Hal_EfuseParseXtal_8188E(struct adapter *pAdapter, u8 *hwinfo,
|
||||||
|
bool AutoLoadFail);
|
||||||
|
void Hal_EfuseParseBoardType88E(struct adapter *pAdapter, u8 *hwinfo,
|
||||||
|
bool AutoLoadFail);
|
||||||
|
void Hal_ReadPowerSavingMode88E(struct adapter *pAdapter, u8 *hwinfo,
|
||||||
|
bool AutoLoadFail);
|
||||||
|
|
||||||
bool HalDetectPwrDownMode88E(struct adapter * Adapter);
|
bool HalDetectPwrDownMode88E(struct adapter *Adapter);
|
||||||
|
|
||||||
#ifdef CONFIG_WOWLAN
|
#ifdef CONFIG_WOWLAN
|
||||||
void Hal_DetectWoWMode(struct adapter * pAdapter);
|
void Hal_DetectWoWMode(struct adapter *pAdapter);
|
||||||
#endif /* CONFIG_WOWLAN */
|
#endif /* CONFIG_WOWLAN */
|
||||||
|
|
||||||
void Hal_InitChannelPlan(struct adapter * padapter);
|
void Hal_InitChannelPlan(struct adapter *padapter);
|
||||||
void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc);
|
void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc);
|
||||||
|
|
||||||
/* register */
|
/* register */
|
||||||
void SetBcnCtrlReg(struct adapter * padapter, u8 SetBits, u8 ClearBits);
|
void SetBcnCtrlReg(struct adapter *padapter, u8 SetBits, u8 ClearBits);
|
||||||
|
|
||||||
void rtl8188e_clone_haldata(struct adapter *dst_adapter, struct adapter *src_adapter);
|
void rtl8188e_clone_haldata(struct adapter *dst, struct adapter *src);
|
||||||
void rtl8188e_start_thread(struct adapter *padapter);
|
void rtl8188e_start_thread(struct adapter *padapter);
|
||||||
void rtl8188e_stop_thread(struct adapter *padapter);
|
void rtl8188e_stop_thread(struct adapter *padapter);
|
||||||
|
|
||||||
void rtw_IOL_cmd_tx_pkt_buf_dump(struct adapter *Adapter,int data_len);
|
void rtw_IOL_cmd_tx_pkt_buf_dump(struct adapter *Adapter, int len);
|
||||||
s32 rtl8188e_iol_efuse_patch(struct adapter * padapter);
|
s32 rtl8188e_iol_efuse_patch(struct adapter *padapter);
|
||||||
void rtw_cancel_all_timer(struct adapter *padapter);
|
void rtw_cancel_all_timer(struct adapter *padapter);
|
||||||
void _ps_open_RF(struct adapter *adapt);
|
void _ps_open_RF(struct adapter *adapt);
|
||||||
|
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
/* */
|
/* */
|
||||||
/* Interface to manipulate LED objects. */
|
/* Interface to manipulate LED objects. */
|
||||||
/* */
|
/* */
|
||||||
void rtl8188eu_InitSwLeds(struct adapter * padapter);
|
void rtl8188eu_InitSwLeds(struct adapter *padapter);
|
||||||
void rtl8188eu_DeInitSwLeds(struct adapter * padapter);
|
void rtl8188eu_DeInitSwLeds(struct adapter *padapter);
|
||||||
void SwLedOn(struct adapter *padapter, struct LED_871x * pLed);
|
void SwLedOn(struct adapter *padapter, struct LED_871x *pLed);
|
||||||
void SwLedOff(struct adapter *padapter, struct LED_871x * pLed);
|
void SwLedOff(struct adapter *padapter, struct LED_871x *pLed);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -56,14 +56,14 @@ enum rx_packet_type {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define INTERRUPT_MSG_FORMAT_LEN 60
|
#define INTERRUPT_MSG_FORMAT_LEN 60
|
||||||
void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *precvbuf);
|
void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *buf);
|
||||||
s32 rtl8188eu_init_recv_priv(struct adapter * padapter);
|
s32 rtl8188eu_init_recv_priv(struct adapter *padapter);
|
||||||
void rtl8188eu_free_recv_priv(struct adapter * padapter);
|
void rtl8188eu_free_recv_priv(struct adapter * padapter);
|
||||||
void rtl8188eu_recv_hdl(struct adapter * padapter, struct recv_buf *precvbuf);
|
void rtl8188eu_recv_hdl(struct adapter * padapter, struct recv_buf *precvbuf);
|
||||||
void rtl8188eu_recv_tasklet(void *priv);
|
void rtl8188eu_recv_tasklet(void *priv);
|
||||||
void rtl8188e_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
|
void rtl8188e_query_rx_phy_status(union recv_frame *fr, struct phy_stat *phy);
|
||||||
void rtl8188e_process_phy_info(struct adapter * padapter, void *prframe);
|
void rtl8188e_process_phy_info(struct adapter * padapter, void *prframe);
|
||||||
void update_recvframe_phyinfo_88e(union recv_frame *precvframe,struct phy_stat *pphy_status);
|
void update_recvframe_phyinfo_88e(union recv_frame *fra, struct phy_stat *phy);
|
||||||
void update_recvframe_attrib_88e( union recv_frame *precvframe, struct recv_stat *prxstat);
|
void update_recvframe_attrib_88e(union recv_frame *fra, struct recv_stat *stat);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -20,17 +20,17 @@
|
||||||
#ifndef __RTL8188E_RF_H__
|
#ifndef __RTL8188E_RF_H__
|
||||||
#define __RTL8188E_RF_H__
|
#define __RTL8188E_RF_H__
|
||||||
|
|
||||||
#define RF6052_MAX_TX_PWR 0x3F
|
#define RF6052_MAX_TX_PWR 0x3F
|
||||||
#define RF6052_MAX_REG 0x3F
|
#define RF6052_MAX_REG 0x3F
|
||||||
#define RF6052_MAX_PATH 2
|
#define RF6052_MAX_PATH 2
|
||||||
|
|
||||||
|
|
||||||
int PHY_RF6052_Config8188E(struct adapter *Adapter);
|
int PHY_RF6052_Config8188E(struct adapter *Adapter);
|
||||||
void rtl8188e_RF_ChangeTxPath(struct adapter *Adapter, u16 DataRate);
|
void rtl8188e_RF_ChangeTxPath(struct adapter *Adapter, u16 DataRate);
|
||||||
void rtl8188e_PHY_RF6052SetBandwidth(struct adapter *Adapter,
|
void rtl8188e_PHY_RF6052SetBandwidth(struct adapter *Adapter,
|
||||||
enum ht_channel_width Bandwidth);
|
enum ht_channel_width Bandwidth);
|
||||||
void rtl8188e_PHY_RF6052SetCckTxPower(struct adapter *Adapter, u8 *pPowerlevel);
|
void rtl8188e_PHY_RF6052SetCckTxPower(struct adapter *Adapter, u8 *level);
|
||||||
void rtl8188e_PHY_RF6052SetOFDMTxPower(struct adapter *Adapter, u8 *pwrofdm,
|
void rtl8188e_PHY_RF6052SetOFDMTxPower(struct adapter *Adapter, u8 *ofdm,
|
||||||
u8 *pwrbw20, u8 *pwrbw40, u8 channel);
|
u8 *pwrbw20, u8 *pwrbw40, u8 channel);
|
||||||
|
|
||||||
#endif/* __RTL8188E_RF_H__ */
|
#endif/* __RTL8188E_RF_H__ */
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,8 +24,8 @@
|
||||||
#include <drv_types.h>
|
#include <drv_types.h>
|
||||||
#include <rtw_sreset.h>
|
#include <rtw_sreset.h>
|
||||||
|
|
||||||
extern void rtl8188e_silentreset_for_specific_platform(struct adapter *padapter);
|
void rtl8188e_silentreset_for_specific_platform(struct adapter *padapter);
|
||||||
extern void rtl8188e_sreset_xmit_status_check(struct adapter *padapter);
|
void rtl8188e_sreset_xmit_status_check(struct adapter *padapter);
|
||||||
extern void rtl8188e_sreset_linked_status_check(struct adapter *padapter);
|
void rtl8188e_sreset_linked_status_check(struct adapter *padapter);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,13 +34,20 @@
|
||||||
#define QSLT_CMD 0x13
|
#define QSLT_CMD 0x13
|
||||||
|
|
||||||
/* For 88e early mode */
|
/* For 88e early mode */
|
||||||
#define SET_EARLYMODE_PKTNUM(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 0, 3, __Value)
|
#define SET_EARLYMODE_PKTNUM(__pAddr, __Value) \
|
||||||
#define SET_EARLYMODE_LEN0(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 4, 12, __Value)
|
SET_BITS_TO_LE_4BYTE(__pAddr, 0, 3, __Value)
|
||||||
#define SET_EARLYMODE_LEN1(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 16, 12, __Value)
|
#define SET_EARLYMODE_LEN0(__pAddr, __Value) \
|
||||||
#define SET_EARLYMODE_LEN2_1(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 28, 4, __Value)
|
SET_BITS_TO_LE_4BYTE(__pAddr, 4, 12, __Value)
|
||||||
#define SET_EARLYMODE_LEN2_2(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 0, 8, __Value)
|
#define SET_EARLYMODE_LEN1(__pAddr, __Value) \
|
||||||
#define SET_EARLYMODE_LEN3(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 8, 12, __Value)
|
SET_BITS_TO_LE_4BYTE(__pAddr, 16, 12, __Value)
|
||||||
#define SET_EARLYMODE_LEN4(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 20, 12, __Value)
|
#define SET_EARLYMODE_LEN2_1(__pAddr, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pAddr, 28, 4, __Value)
|
||||||
|
#define SET_EARLYMODE_LEN2_2(__pAddr, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pAddr+4, 0, 8, __Value)
|
||||||
|
#define SET_EARLYMODE_LEN3(__pAddr, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pAddr+4, 8, 12, __Value)
|
||||||
|
#define SET_EARLYMODE_LEN4(__pAddr, __Value) \
|
||||||
|
SET_BITS_TO_LE_4BYTE(__pAddr+4, 20, 12, __Value)
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
/* defined for TX DESC Operation */
|
/* defined for TX DESC Operation */
|
||||||
|
@ -59,50 +66,50 @@
|
||||||
|
|
||||||
/* OFFSET 4 */
|
/* OFFSET 4 */
|
||||||
#define PKT_OFFSET_SZ 0
|
#define PKT_OFFSET_SZ 0
|
||||||
#define QSEL_SHT 8
|
#define QSEL_SHT 8
|
||||||
#define RATE_ID_SHT 16
|
#define RATE_ID_SHT 16
|
||||||
#define NAVUSEHDR BIT(20)
|
#define NAVUSEHDR BIT(20)
|
||||||
#define SEC_TYPE_SHT 22
|
#define SEC_TYPE_SHT 22
|
||||||
#define PKT_OFFSET_SHT 26
|
#define PKT_OFFSET_SHT 26
|
||||||
|
|
||||||
/* OFFSET 8 */
|
/* OFFSET 8 */
|
||||||
#define AGG_EN BIT(12)
|
#define AGG_EN BIT(12)
|
||||||
#define AGG_BK BIT(16)
|
#define AGG_BK BIT(16)
|
||||||
#define AMPDU_DENSITY_SHT 20
|
#define AMPDU_DENSITY_SHT 20
|
||||||
#define ANTSEL_A BIT(24)
|
#define ANTSEL_A BIT(24)
|
||||||
#define ANTSEL_B BIT(25)
|
#define ANTSEL_B BIT(25)
|
||||||
#define TX_ANT_CCK_SHT 26
|
#define TX_ANT_CCK_SHT 26
|
||||||
#define TX_ANTL_SHT 28
|
#define TX_ANTL_SHT 28
|
||||||
#define TX_ANT_HT_SHT 30
|
#define TX_ANT_HT_SHT 30
|
||||||
|
|
||||||
/* OFFSET 12 */
|
/* OFFSET 12 */
|
||||||
#define SEQ_SHT 16
|
#define SEQ_SHT 16
|
||||||
#define EN_HWSEQ BIT(31)
|
#define EN_HWSEQ BIT(31)
|
||||||
|
|
||||||
/* OFFSET 16 */
|
/* OFFSET 16 */
|
||||||
#define QOS BIT(6)
|
#define QOS BIT(6)
|
||||||
#define HW_SSN BIT(7)
|
#define HW_SSN BIT(7)
|
||||||
#define USERATE BIT(8)
|
#define USERATE BIT(8)
|
||||||
#define DISDATAFB BIT(10)
|
#define DISDATAFB BIT(10)
|
||||||
#define CTS_2_SELF BIT(11)
|
#define CTS_2_SELF BIT(11)
|
||||||
#define RTS_EN BIT(12)
|
#define RTS_EN BIT(12)
|
||||||
#define HW_RTS_EN BIT(13)
|
#define HW_RTS_EN BIT(13)
|
||||||
#define DATA_SHORT BIT(24)
|
#define DATA_SHORT BIT(24)
|
||||||
#define PWR_STATUS_SHT 15
|
#define PWR_STATUS_SHT 15
|
||||||
#define DATA_SC_SHT 20
|
#define DATA_SC_SHT 20
|
||||||
#define DATA_BW BIT(25)
|
#define DATA_BW BIT(25)
|
||||||
|
|
||||||
/* OFFSET 20 */
|
/* OFFSET 20 */
|
||||||
#define RTY_LMT_EN BIT(17)
|
#define RTY_LMT_EN BIT(17)
|
||||||
|
|
||||||
enum TXDESC_SC{
|
enum TXDESC_SC {
|
||||||
SC_DONT_CARE = 0x00,
|
SC_DONT_CARE = 0x00,
|
||||||
SC_UPPER= 0x01,
|
SC_UPPER = 0x01,
|
||||||
SC_LOWER=0x02,
|
SC_LOWER = 0x02,
|
||||||
SC_DUPLICATE=0x03
|
SC_DUPLICATE = 0x03
|
||||||
};
|
};
|
||||||
/* OFFSET 20 */
|
/* OFFSET 20 */
|
||||||
#define SGI BIT(6)
|
#define SGI BIT(6)
|
||||||
#define USB_TXAGG_NUM_SHT 24
|
#define USB_TXAGG_NUM_SHT 24
|
||||||
|
|
||||||
#define txdesc_set_ccx_sw_88e(txdesc, value) \
|
#define txdesc_set_ccx_sw_88e(txdesc, value) \
|
||||||
|
@ -146,21 +153,26 @@ struct txrpt_ccx_88e {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define txrpt_ccx_sw_88e(txrpt_ccx) ((txrpt_ccx)->sw0 + ((txrpt_ccx)->sw1<<8))
|
#define txrpt_ccx_sw_88e(txrpt_ccx) ((txrpt_ccx)->sw0 + ((txrpt_ccx)->sw1<<8))
|
||||||
#define txrpt_ccx_qtime_88e(txrpt_ccx) ((txrpt_ccx)->ccx_qtime0+((txrpt_ccx)->ccx_qtime1<<8))
|
#define txrpt_ccx_qtime_88e(txrpt_ccx) \
|
||||||
|
((txrpt_ccx)->ccx_qtime0+((txrpt_ccx)->ccx_qtime1<<8))
|
||||||
|
|
||||||
void rtl8188e_fill_fake_txdesc(struct adapter * padapter,u8*pDesc,u32 BufferLen,u8 IsPsPoll,u8 IsBTQosNull);
|
void rtl8188e_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc,
|
||||||
s32 rtl8188eu_init_xmit_priv(struct adapter * padapter);
|
u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull);
|
||||||
void rtl8188eu_free_xmit_priv(struct adapter * padapter);
|
s32 rtl8188eu_init_xmit_priv(struct adapter *padapter);
|
||||||
s32 rtl8188eu_hal_xmit(struct adapter * padapter, struct xmit_frame *pxmitframe);
|
void rtl8188eu_free_xmit_priv(struct adapter *padapter);
|
||||||
s32 rtl8188eu_mgnt_xmit(struct adapter * padapter, struct xmit_frame *pmgntframe);
|
s32 rtl8188eu_hal_xmit(struct adapter *padapter, struct xmit_frame *frame);
|
||||||
s32 rtl8188eu_xmit_buf_handler(struct adapter * padapter);
|
s32 rtl8188eu_mgnt_xmit(struct adapter *padapter, struct xmit_frame *frame);
|
||||||
|
s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter);
|
||||||
#define hal_xmit_handler rtl8188eu_xmit_buf_handler
|
#define hal_xmit_handler rtl8188eu_xmit_buf_handler
|
||||||
void rtl8188eu_xmit_tasklet(void *priv);
|
void rtl8188eu_xmit_tasklet(void *priv);
|
||||||
s32 rtl8188eu_xmitframe_complete(struct adapter *padapter, struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
|
s32 rtl8188eu_xmitframe_complete(struct adapter *padapter,
|
||||||
|
struct xmit_priv *pxmitpriv,
|
||||||
|
struct xmit_buf *pxmitbuf);
|
||||||
|
|
||||||
void dump_txrpt_ccx_88e(void *buf);
|
void dump_txrpt_ccx_88e(void *buf);
|
||||||
void handle_txrpt_ccx_88e(struct adapter *adapter, u8 *buf);
|
void handle_txrpt_ccx_88e(struct adapter *adapter, u8 *buf);
|
||||||
|
|
||||||
void _dbg_dump_tx_info(struct adapter *padapter,int frame_tag,struct tx_desc *ptxdesc);
|
void _dbg_dump_tx_info(struct adapter *padapter, int frame_tag,
|
||||||
|
struct tx_desc *ptxdesc);
|
||||||
|
|
||||||
#endif /* __RTL8188E_XMIT_H__ */
|
#endif /* __RTL8188E_XMIT_H__ */
|
||||||
|
|
|
@ -26,17 +26,20 @@
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
|
|
||||||
/* external function */
|
/* external function */
|
||||||
extern void rtw_indicate_sta_assoc_event(struct adapter *padapter, struct sta_info *psta);
|
void rtw_indicate_sta_assoc_event(struct adapter *padapter,
|
||||||
extern void rtw_indicate_sta_disassoc_event(struct adapter *padapter, struct sta_info *psta);
|
struct sta_info *psta);
|
||||||
|
void rtw_indicate_sta_disassoc_event(struct adapter *padapter,
|
||||||
|
struct sta_info *psta);
|
||||||
void init_mlme_ap_info(struct adapter *padapter);
|
void init_mlme_ap_info(struct adapter *padapter);
|
||||||
void free_mlme_ap_info(struct adapter *padapter);
|
void free_mlme_ap_info(struct adapter *padapter);
|
||||||
/* void update_BCNTIM(struct adapter *padapter); */
|
void rtw_add_bcn_ie(struct adapter *padapter, struct wlan_bssid_ex *pnetwork,
|
||||||
void rtw_add_bcn_ie(struct adapter *padapter, struct wlan_bssid_ex *pnetwork, u8 index, u8 *data, u8 len);
|
u8 index, u8 *data, u8 len);
|
||||||
void rtw_remove_bcn_ie(struct adapter *padapter, struct wlan_bssid_ex *pnetwork, u8 index);
|
void rtw_remove_bcn_ie(struct adapter *padapter,
|
||||||
void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx);
|
struct wlan_bssid_ex *pnetwork, u8 index);
|
||||||
void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level);
|
void update_beacon(struct adapter *padapter, u8 ie_id,
|
||||||
|
u8 *oui, u8 tx);
|
||||||
|
void add_RATid(struct adapter *padapter, struct sta_info *psta,
|
||||||
|
u8 rssi_level);
|
||||||
void expire_timeout_chk(struct adapter *padapter);
|
void expire_timeout_chk(struct adapter *padapter);
|
||||||
void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta);
|
void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta);
|
||||||
int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len);
|
int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len);
|
||||||
|
@ -50,9 +53,10 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
|
||||||
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta);
|
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta);
|
||||||
void sta_info_update(struct adapter *padapter, struct sta_info *psta);
|
void sta_info_update(struct adapter *padapter, struct sta_info *psta);
|
||||||
void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta);
|
void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta);
|
||||||
u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active, u16 reason);
|
u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta,
|
||||||
|
bool active, u16 reason);
|
||||||
int rtw_sta_flush(struct adapter *padapter);
|
int rtw_sta_flush(struct adapter *padapter);
|
||||||
int rtw_ap_inform_ch_switch (struct adapter *padapter, u8 new_ch, u8 ch_offset);
|
int rtw_ap_inform_ch_switch(struct adapter *padapter, u8 new_ch, u8 ch_offset);
|
||||||
void start_ap_mode(struct adapter *padapter);
|
void start_ap_mode(struct adapter *padapter);
|
||||||
void stop_ap_mode(struct adapter *padapter);
|
void stop_ap_mode(struct adapter *padapter);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -56,7 +56,7 @@ struct br_ext_info {
|
||||||
unsigned int nat25_disable;
|
unsigned int nat25_disable;
|
||||||
unsigned int macclone_enable;
|
unsigned int macclone_enable;
|
||||||
unsigned int dhcp_bcst_disable;
|
unsigned int dhcp_bcst_disable;
|
||||||
int addPPPoETag; /* 1: Add PPPoE relay-SID, 0: disable */
|
int addPPPoETag; /* 1: Add PPPoE relay-SID, 0: disable */
|
||||||
unsigned char nat25_dmzMac[MACADDRLEN];
|
unsigned char nat25_dmzMac[MACADDRLEN];
|
||||||
unsigned int nat25sc_disable;
|
unsigned int nat25sc_disable;
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
#include <osdep_service.h>
|
#include <osdep_service.h>
|
||||||
#include <ieee80211.h> /* <ieee80211/ieee80211.h> */
|
#include <ieee80211.h> /* <ieee80211/ieee80211.h> */
|
||||||
|
|
||||||
|
|
||||||
#define FREE_CMDOBJ_SZ 128
|
#define FREE_CMDOBJ_SZ 128
|
||||||
|
|
||||||
#define MAX_CMDSZ 1024
|
#define MAX_CMDSZ 1024
|
||||||
|
@ -81,7 +80,7 @@ do {\
|
||||||
_rtw_init_listhead(&pcmd->list);\
|
_rtw_init_listhead(&pcmd->list);\
|
||||||
pcmd->cmdcode = code;\
|
pcmd->cmdcode = code;\
|
||||||
pcmd->parmbuf = (u8 *)(pparm);\
|
pcmd->parmbuf = (u8 *)(pparm);\
|
||||||
pcmd->cmdsz = sizeof (*pparm);\
|
pcmd->cmdsz = sizeof(*pparm);\
|
||||||
pcmd->rsp = NULL;\
|
pcmd->rsp = NULL;\
|
||||||
pcmd->rspsz = 0;\
|
pcmd->rspsz = 0;\
|
||||||
} while (0)
|
} while (0)
|
||||||
|
@ -95,25 +94,24 @@ struct c2h_evt_hdr {
|
||||||
|
|
||||||
#define c2h_evt_exist(c2h_evt) ((c2h_evt)->id || (c2h_evt)->plen)
|
#define c2h_evt_exist(c2h_evt) ((c2h_evt)->id || (c2h_evt)->plen)
|
||||||
|
|
||||||
extern u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *obj);
|
u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *obj);
|
||||||
extern struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv);
|
struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv);
|
||||||
extern void rtw_free_cmd_obj(struct cmd_obj *pcmd);
|
void rtw_free_cmd_obj(struct cmd_obj *pcmd);
|
||||||
|
|
||||||
int rtw_cmd_thread(void *context);
|
int rtw_cmd_thread(void *context);
|
||||||
|
|
||||||
extern u32 rtw_init_cmd_priv (struct cmd_priv *pcmdpriv);
|
u32 rtw_init_cmd_priv(struct cmd_priv *pcmdpriv);
|
||||||
extern void rtw_free_cmd_priv (struct cmd_priv *pcmdpriv);
|
void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv);
|
||||||
|
|
||||||
extern u32 rtw_init_evt_priv (struct evt_priv *pevtpriv);
|
u32 rtw_init_evt_priv(struct evt_priv *pevtpriv);
|
||||||
extern void rtw_free_evt_priv (struct evt_priv *pevtpriv);
|
void rtw_free_evt_priv(struct evt_priv *pevtpriv);
|
||||||
extern void rtw_cmd_clr_isr(struct cmd_priv *pcmdpriv);
|
void rtw_cmd_clr_isr(struct cmd_priv *pcmdpriv);
|
||||||
extern void rtw_evt_notify_isr(struct evt_priv *pevtpriv);
|
void rtw_evt_notify_isr(struct evt_priv *pevtpriv);
|
||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
u8 p2p_protocol_wk_cmd(struct adapter*padapter, int intCmdType );
|
u8 p2p_protocol_wk_cmd(struct adapter *padapter, int intCmdType);
|
||||||
#endif /* CONFIG_P2P */
|
#endif /* CONFIG_P2P */
|
||||||
|
|
||||||
enum rtw_drvextra_cmd_id
|
enum rtw_drvextra_cmd_id {
|
||||||
{
|
|
||||||
NONE_WK_CID,
|
NONE_WK_CID,
|
||||||
DYNAMIC_CHK_WK_CID,
|
DYNAMIC_CHK_WK_CID,
|
||||||
DM_CTRL_WK_CID,
|
DM_CTRL_WK_CID,
|
||||||
|
@ -130,14 +128,13 @@ enum rtw_drvextra_cmd_id
|
||||||
MAX_WK_CID
|
MAX_WK_CID
|
||||||
};
|
};
|
||||||
|
|
||||||
enum LPS_CTRL_TYPE
|
enum LPS_CTRL_TYPE {
|
||||||
{
|
LPS_CTRL_SCAN = 0,
|
||||||
LPS_CTRL_SCAN=0,
|
LPS_CTRL_JOINBSS = 1,
|
||||||
LPS_CTRL_JOINBSS=1,
|
LPS_CTRL_CONNECT = 2,
|
||||||
LPS_CTRL_CONNECT=2,
|
LPS_CTRL_DISCONNECT = 3,
|
||||||
LPS_CTRL_DISCONNECT=3,
|
LPS_CTRL_SPECIAL_PACKET = 4,
|
||||||
LPS_CTRL_SPECIAL_PACKET=4,
|
LPS_CTRL_LEAVE = 5,
|
||||||
LPS_CTRL_LEAVE=5,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RFINTFS {
|
enum RFINTFS {
|
||||||
|
@ -253,11 +250,12 @@ when 802.1x ==> keyid > 2 ==> unicast key
|
||||||
|
|
||||||
*/
|
*/
|
||||||
struct setkey_parm {
|
struct setkey_parm {
|
||||||
u8 algorithm; /* encryption algorithm, could be none, wep40, TKIP, CCMP, wep104 */
|
u8 algorithm; /* could be none, wep40, TKIP, CCMP, wep104 */
|
||||||
u8 keyid;
|
u8 keyid;
|
||||||
u8 grpkey; /* 1: this is the grpkey for 802.1x. 0: this is the unicast key for 802.1x */
|
u8 grpkey; /* 1: this is the grpkey for 802.1x.
|
||||||
u8 set_tx; /* 1: main tx key for wep. 0: other key. */
|
* 0: this is the unicast key for 802.1x */
|
||||||
u8 key[16]; /* this could be 40 or 104 */
|
u8 set_tx; /* 1: main tx key for wep. 0: other key. */
|
||||||
|
u8 key[16]; /* this could be 40 or 104 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -272,7 +270,8 @@ when shared key ==> algorithm/keyid
|
||||||
struct set_stakey_parm {
|
struct set_stakey_parm {
|
||||||
u8 addr[ETH_ALEN];
|
u8 addr[ETH_ALEN];
|
||||||
u8 algorithm;
|
u8 algorithm;
|
||||||
u8 id;/* currently for erasing cam entry if algorithm == _NO_PRIVACY_ */
|
u8 id;/* currently for erasing cam entry if
|
||||||
|
* algorithm == _NO_PRIVACY_ */
|
||||||
u8 key[16];
|
u8 key[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -386,7 +385,6 @@ struct getdatarate_rsp {
|
||||||
u8 datarates[NumRates];
|
u8 datarates[NumRates];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Caller Mode: Any
|
Caller Mode: Any
|
||||||
AP: AP can use the info for the contents of beacon frame
|
AP: AP can use the info for the contents of beacon frame
|
||||||
|
@ -394,7 +392,6 @@ Infra: STA can use the info when sitesurveying
|
||||||
Ad-HoC(M): Like AP
|
Ad-HoC(M): Like AP
|
||||||
Ad-HoC(C): Like STA
|
Ad-HoC(C): Like STA
|
||||||
|
|
||||||
|
|
||||||
Notes: To set the phy capability of the NIC
|
Notes: To set the phy capability of the NIC
|
||||||
|
|
||||||
Command Mode
|
Command Mode
|
||||||
|
@ -481,7 +478,6 @@ struct getrfintfs_parm {
|
||||||
u8 rfintfs;
|
u8 rfintfs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct Tx_Beacon_param
|
struct Tx_Beacon_param
|
||||||
{
|
{
|
||||||
struct wlan_bssid_ex network;
|
struct wlan_bssid_ex network;
|
||||||
|
@ -522,7 +518,7 @@ struct Tx_Beacon_param
|
||||||
event: parm:
|
event: parm:
|
||||||
mac[0] = mac[5];
|
mac[0] = mac[5];
|
||||||
mac[1] = mac[4];
|
mac[1] = mac[4];
|
||||||
mac[2] = event's sequence number, starting from 1 to parm's marc[3]
|
mac[2] = event's seq no, starting from 1 to parm's marc[3]
|
||||||
mac[3] = mac[2];
|
mac[3] = mac[2];
|
||||||
mac[4] = mac[1];
|
mac[4] = mac[1];
|
||||||
mac[5] = mac[0];
|
mac[5] = mac[0];
|
||||||
|
@ -535,10 +531,7 @@ struct Tx_Beacon_param
|
||||||
w1 = swap32(w1) - event.mac[2];
|
w1 = swap32(w1) - event.mac[2];
|
||||||
|
|
||||||
parm->mac[3] is the total event counts that host requested.
|
parm->mac[3] is the total event counts that host requested.
|
||||||
|
|
||||||
|
|
||||||
event will be the same with the cmd's param.
|
event will be the same with the cmd's param.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* CMD param Format for driver extra cmd handler */
|
/* CMD param Format for driver extra cmd handler */
|
||||||
|
@ -576,7 +569,6 @@ struct setagcctrl_parm {
|
||||||
u32 agcctrl; /* 0: pure hw, 1: fw */
|
u32 agcctrl; /* 0: pure hw, 1: fw */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct setssup_parm {
|
struct setssup_parm {
|
||||||
u32 ss_ForceUp[MAX_RATES_LENGTH];
|
u32 ss_ForceUp[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
@ -584,11 +576,11 @@ struct setssup_parm {
|
||||||
struct getssup_parm {
|
struct getssup_parm {
|
||||||
u32 rsvd;
|
u32 rsvd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getssup_rsp {
|
struct getssup_rsp {
|
||||||
u8 ss_ForceUp[MAX_RATES_LENGTH];
|
u8 ss_ForceUp[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct setssdlevel_parm {
|
struct setssdlevel_parm {
|
||||||
u8 ss_DLevel[MAX_RATES_LENGTH];
|
u8 ss_DLevel[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
@ -596,6 +588,7 @@ struct setssdlevel_parm {
|
||||||
struct getssdlevel_parm {
|
struct getssdlevel_parm {
|
||||||
u32 rsvd;
|
u32 rsvd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getssdlevel_rsp {
|
struct getssdlevel_rsp {
|
||||||
u8 ss_DLevel[MAX_RATES_LENGTH];
|
u8 ss_DLevel[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
@ -607,11 +600,11 @@ struct setssulevel_parm {
|
||||||
struct getssulevel_parm {
|
struct getssulevel_parm {
|
||||||
u32 rsvd;
|
u32 rsvd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getssulevel_rsp {
|
struct getssulevel_rsp {
|
||||||
u8 ss_ULevel[MAX_RATES_LENGTH];
|
u8 ss_ULevel[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct setcountjudge_parm {
|
struct setcountjudge_parm {
|
||||||
u8 count_judge[MAX_RATES_LENGTH];
|
u8 count_judge[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
@ -619,11 +612,11 @@ struct setcountjudge_parm {
|
||||||
struct getcountjudge_parm {
|
struct getcountjudge_parm {
|
||||||
u32 rsvd;
|
u32 rsvd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getcountjudge_rsp {
|
struct getcountjudge_rsp {
|
||||||
u8 count_judge[MAX_RATES_LENGTH];
|
u8 count_judge[MAX_RATES_LENGTH];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct setratable_parm {
|
struct setratable_parm {
|
||||||
u8 ss_ForceUp[NumRates];
|
u8 ss_ForceUp[NumRates];
|
||||||
u8 ss_ULevel[NumRates];
|
u8 ss_ULevel[NumRates];
|
||||||
|
@ -634,6 +627,7 @@ struct setratable_parm {
|
||||||
struct getratable_parm {
|
struct getratable_parm {
|
||||||
uint rsvd;
|
uint rsvd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getratable_rsp {
|
struct getratable_rsp {
|
||||||
u8 ss_ForceUp[NumRates];
|
u8 ss_ForceUp[NumRates];
|
||||||
u8 ss_ULevel[NumRates];
|
u8 ss_ULevel[NumRates];
|
||||||
|
@ -641,42 +635,46 @@ struct getratable_rsp {
|
||||||
u8 count_judge[NumRates];
|
u8 count_judge[NumRates];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* to get TX,RX retry count */
|
/* to get TX,RX retry count */
|
||||||
struct gettxretrycnt_parm{
|
|
||||||
|
struct gettxretrycnt_parm {
|
||||||
unsigned int rsvd;
|
unsigned int rsvd;
|
||||||
};
|
};
|
||||||
struct gettxretrycnt_rsp{
|
|
||||||
|
struct gettxretrycnt_rsp {
|
||||||
unsigned long tx_retrycnt;
|
unsigned long tx_retrycnt;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getrxretrycnt_parm{
|
struct getrxretrycnt_parm {
|
||||||
unsigned int rsvd;
|
unsigned int rsvd;
|
||||||
};
|
};
|
||||||
struct getrxretrycnt_rsp{
|
|
||||||
|
struct getrxretrycnt_rsp {
|
||||||
unsigned long rx_retrycnt;
|
unsigned long rx_retrycnt;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* to get BCNOK,BCNERR count */
|
/* to get BCNOK,BCNERR count */
|
||||||
struct getbcnokcnt_parm{
|
struct getbcnokcnt_parm {
|
||||||
unsigned int rsvd;
|
unsigned int rsvd;
|
||||||
};
|
};
|
||||||
struct getbcnokcnt_rsp{
|
|
||||||
|
struct getbcnokcnt_rsp {
|
||||||
unsigned long bcnokcnt;
|
unsigned long bcnokcnt;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct getbcnerrcnt_parm{
|
struct getbcnerrcnt_parm {
|
||||||
unsigned int rsvd;
|
unsigned int rsvd;
|
||||||
};
|
};
|
||||||
struct getbcnerrcnt_rsp{
|
|
||||||
|
struct getbcnerrcnt_rsp {
|
||||||
unsigned long bcnerrcnt;
|
unsigned long bcnerrcnt;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* to get current TX power level */
|
/* to get current TX power level */
|
||||||
struct getcurtxpwrlevel_parm{
|
struct getcurtxpwrlevel_parm {
|
||||||
unsigned int rsvd;
|
unsigned int rsvd;
|
||||||
};
|
};
|
||||||
struct getcurtxpwrlevel_rsp{
|
struct getcurtxpwrlevel_rspi {
|
||||||
unsigned short tx_power;
|
unsigned short tx_power;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -704,9 +702,7 @@ struct setassocrspextraie_parm {
|
||||||
unsigned char ie[0];
|
unsigned char ie[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct addBaReq_parm {
|
||||||
struct addBaReq_parm
|
|
||||||
{
|
|
||||||
unsigned int tid;
|
unsigned int tid;
|
||||||
u8 addr[ETH_ALEN];
|
u8 addr[ETH_ALEN];
|
||||||
};
|
};
|
||||||
|
@ -727,7 +723,7 @@ struct SetChannelPlan_param
|
||||||
/*H2C Handler index: 60 */
|
/*H2C Handler index: 60 */
|
||||||
struct LedBlink_param
|
struct LedBlink_param
|
||||||
{
|
{
|
||||||
struct LED_871x * pLed;
|
struct LED_871x *pLed;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*H2C Handler index: 61 */
|
/*H2C Handler index: 61 */
|
||||||
|
@ -745,7 +741,6 @@ struct TDLSoption_param
|
||||||
|
|
||||||
#define GEN_CMD_CODE(cmd) cmd ## _CMD_
|
#define GEN_CMD_CODE(cmd) cmd ## _CMD_
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Result:
|
Result:
|
||||||
|
@ -757,134 +752,136 @@ Result:
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define H2C_RSP_OFFSET 512
|
#define H2C_RSP_OFFSET 512
|
||||||
|
|
||||||
#define H2C_SUCCESS 0x00
|
#define H2C_SUCCESS 0x00
|
||||||
#define H2C_SUCCESS_RSP 0x01
|
#define H2C_SUCCESS_RSP 0x01
|
||||||
#define H2C_DUPLICATED 0x02
|
#define H2C_DUPLICATED 0x02
|
||||||
#define H2C_DROPPED 0x03
|
#define H2C_DROPPED 0x03
|
||||||
#define H2C_PARAMETERS_ERROR 0x04
|
#define H2C_PARAMETERS_ERROR 0x04
|
||||||
#define H2C_REJECTED 0x05
|
#define H2C_REJECTED 0x05
|
||||||
#define H2C_CMD_OVERFLOW 0x06
|
#define H2C_CMD_OVERFLOW 0x06
|
||||||
#define H2C_RESERVED 0x07
|
#define H2C_RESERVED 0x07
|
||||||
|
|
||||||
extern u8 rtw_setassocsta_cmd(struct adapter *padapter, u8 *mac_addr);
|
u8 rtw_setassocsta_cmd(struct adapter *padapter, u8 *mac_addr);
|
||||||
extern u8 rtw_setstandby_cmd(struct adapter *padapter, uint action);
|
u8 rtw_setstandby_cmd(struct adapter *padapter, uint action);
|
||||||
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num, struct rtw_ieee80211_channel *ch, int ch_num);
|
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
|
||||||
extern u8 rtw_createbss_cmd(struct adapter *padapter);
|
int ssid_num, struct rtw_ieee80211_channel *ch,
|
||||||
extern u8 rtw_createbss_cmd_ex(struct adapter *padapter, unsigned char *pbss, unsigned int sz);
|
int ch_num);
|
||||||
extern u8 rtw_setphy_cmd(struct adapter *padapter, u8 modem, u8 ch);
|
u8 rtw_createbss_cmd(struct adapter *padapter);
|
||||||
extern u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key);
|
u8 rtw_createbss_cmd_ex(struct adapter *padapter, unsigned char *pbss,
|
||||||
extern u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue);
|
unsigned int sz);
|
||||||
extern u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network* pnetwork);
|
u8 rtw_setphy_cmd(struct adapter *padapter, u8 modem, u8 ch);
|
||||||
|
u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key);
|
||||||
|
u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue);
|
||||||
|
u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network* pnetwork);
|
||||||
u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue);
|
u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue);
|
||||||
extern u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infra networktype);
|
u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infra networktype);
|
||||||
extern u8 rtw_setdatarate_cmd(struct adapter *padapter, u8 *rateset);
|
u8 rtw_setdatarate_cmd(struct adapter *padapter, u8 *rateset);
|
||||||
extern u8 rtw_setbasicrate_cmd(struct adapter *padapter, u8 *rateset);
|
u8 rtw_setbasicrate_cmd(struct adapter *padapter, u8 *rateset);
|
||||||
extern u8 rtw_setbbreg_cmd(struct adapter * padapter, u8 offset, u8 val);
|
u8 rtw_setbbreg_cmd(struct adapter * padapter, u8 offset, u8 val);
|
||||||
extern u8 rtw_setrfreg_cmd(struct adapter * padapter, u8 offset, u32 val);
|
u8 rtw_setrfreg_cmd(struct adapter * padapter, u8 offset, u32 val);
|
||||||
extern u8 rtw_getbbreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
|
u8 rtw_getbbreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
|
||||||
extern u8 rtw_getrfreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
|
u8 rtw_getrfreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
|
||||||
extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode);
|
u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode);
|
||||||
extern u8 rtw_setrttbl_cmd(struct adapter *padapter, struct setratable_parm *prate_table);
|
u8 rtw_setrttbl_cmd(struct adapter *padapter, struct setratable_parm *prate_table);
|
||||||
extern u8 rtw_getrttbl_cmd(struct adapter *padapter, struct getratable_rsp *pval);
|
u8 rtw_getrttbl_cmd(struct adapter *padapter, struct getratable_rsp *pval);
|
||||||
|
|
||||||
extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset,u8 *pval);
|
u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset,u8 *pval);
|
||||||
extern u8 rtw_setfwdig_cmd(struct adapter*padapter, u8 type);
|
u8 rtw_setfwdig_cmd(struct adapter*padapter, u8 type);
|
||||||
extern u8 rtw_setfwra_cmd(struct adapter*padapter, u8 type);
|
u8 rtw_setfwra_cmd(struct adapter*padapter, u8 type);
|
||||||
|
|
||||||
extern u8 rtw_addbareq_cmd(struct adapter*padapter, u8 tid, u8 *addr);
|
u8 rtw_addbareq_cmd(struct adapter*padapter, u8 tid, u8 *addr);
|
||||||
|
|
||||||
extern u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter);
|
u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter);
|
||||||
|
|
||||||
u8 rtw_lps_ctrl_wk_cmd(struct adapter*padapter, u8 lps_ctrl_type, u8 enqueue);
|
u8 rtw_lps_ctrl_wk_cmd(struct adapter*padapter, u8 lps_ctrl_type, u8 enqueue);
|
||||||
u8 rtw_rpt_timer_cfg_cmd(struct adapter*padapter, u16 minRptTime);
|
u8 rtw_rpt_timer_cfg_cmd(struct adapter*padapter, u16 minRptTime);
|
||||||
|
|
||||||
extern u8 rtw_antenna_select_cmd(struct adapter*padapter, u8 antenna,u8 enqueue);
|
u8 rtw_antenna_select_cmd(struct adapter*padapter, u8 antenna,u8 enqueue);
|
||||||
extern u8 rtw_ps_cmd(struct adapter*padapter);
|
u8 rtw_ps_cmd(struct adapter*padapter);
|
||||||
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
u8 rtw_chk_hi_queue_cmd(struct adapter*padapter);
|
u8 rtw_chk_hi_queue_cmd(struct adapter*padapter);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
u8 rtw_set_ch_cmd(struct adapter*padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue);
|
u8 rtw_set_ch_cmd(struct adapter*padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue);
|
||||||
extern u8 rtw_set_chplan_cmd(struct adapter*padapter, u8 chplan, u8 enqueue);
|
u8 rtw_set_chplan_cmd(struct adapter*padapter, u8 chplan, u8 enqueue);
|
||||||
extern u8 rtw_led_blink_cmd(struct adapter*padapter, struct LED_871x * pLed);
|
u8 rtw_led_blink_cmd(struct adapter*padapter, struct LED_871x * pLed);
|
||||||
extern u8 rtw_set_csa_cmd(struct adapter*padapter, u8 new_ch_no);
|
u8 rtw_set_csa_cmd(struct adapter*padapter, u8 new_ch_no);
|
||||||
extern u8 rtw_tdls_cmd(struct adapter *padapter, u8 *addr, u8 option);
|
u8 rtw_tdls_cmd(struct adapter *padapter, u8 *addr, u8 option);
|
||||||
|
|
||||||
extern u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt);
|
u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt);
|
||||||
|
|
||||||
u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf);
|
u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf);
|
||||||
|
|
||||||
extern void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
||||||
extern void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
||||||
extern void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
||||||
extern void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_createbss_cmd_callback(struct adapter *adapt, struct cmd_obj *pcmd);
|
||||||
extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_getbbrfreg_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
|
||||||
extern void rtw_readtssi_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_readtssi_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
|
||||||
|
|
||||||
extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_setstaKey_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
|
||||||
extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_setassocsta_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cm);
|
||||||
extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
|
void rtw_getrttbl_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
|
||||||
|
|
||||||
struct _cmd_callback {
|
struct _cmd_callback {
|
||||||
u32 cmd_code;
|
u32 cmd_code;
|
||||||
void (*callback)(struct adapter *padapter, struct cmd_obj *cmd);
|
void (*callback)(struct adapter *padapter, struct cmd_obj *cmd);
|
||||||
};
|
};
|
||||||
|
|
||||||
enum rtw_h2c_cmd
|
enum rtw_h2c_cmd {
|
||||||
{
|
GEN_CMD_CODE(_Read_MACREG), /*0*/
|
||||||
GEN_CMD_CODE(_Read_MACREG) , /*0*/
|
GEN_CMD_CODE(_Write_MACREG),
|
||||||
GEN_CMD_CODE(_Write_MACREG) ,
|
GEN_CMD_CODE(_Read_BBREG),
|
||||||
GEN_CMD_CODE(_Read_BBREG) ,
|
GEN_CMD_CODE(_Write_BBREG),
|
||||||
GEN_CMD_CODE(_Write_BBREG) ,
|
GEN_CMD_CODE(_Read_RFREG),
|
||||||
GEN_CMD_CODE(_Read_RFREG) ,
|
GEN_CMD_CODE(_Write_RFREG), /*5*/
|
||||||
GEN_CMD_CODE(_Write_RFREG) , /*5*/
|
GEN_CMD_CODE(_Read_EEPROM),
|
||||||
GEN_CMD_CODE(_Read_EEPROM) ,
|
GEN_CMD_CODE(_Write_EEPROM),
|
||||||
GEN_CMD_CODE(_Write_EEPROM) ,
|
GEN_CMD_CODE(_Read_EFUSE),
|
||||||
GEN_CMD_CODE(_Read_EFUSE) ,
|
GEN_CMD_CODE(_Write_EFUSE),
|
||||||
GEN_CMD_CODE(_Write_EFUSE) ,
|
|
||||||
|
|
||||||
GEN_CMD_CODE(_Read_CAM) , /*10*/
|
GEN_CMD_CODE(_Read_CAM), /*10*/
|
||||||
GEN_CMD_CODE(_Write_CAM) ,
|
GEN_CMD_CODE(_Write_CAM),
|
||||||
GEN_CMD_CODE(_setBCNITV),
|
GEN_CMD_CODE(_setBCNITV),
|
||||||
GEN_CMD_CODE(_setMBIDCFG),
|
GEN_CMD_CODE(_setMBIDCFG),
|
||||||
GEN_CMD_CODE(_JoinBss), /*14*/
|
GEN_CMD_CODE(_JoinBss), /*14*/
|
||||||
GEN_CMD_CODE(_DisConnect) , /*15*/
|
GEN_CMD_CODE(_DisConnect), /*15*/
|
||||||
GEN_CMD_CODE(_CreateBss) ,
|
GEN_CMD_CODE(_CreateBss),
|
||||||
GEN_CMD_CODE(_SetOpMode) ,
|
GEN_CMD_CODE(_SetOpMode),
|
||||||
GEN_CMD_CODE(_SiteSurvey), /*18*/
|
GEN_CMD_CODE(_SiteSurvey), /*18*/
|
||||||
GEN_CMD_CODE(_SetAuth) ,
|
GEN_CMD_CODE(_SetAuth),
|
||||||
|
|
||||||
GEN_CMD_CODE(_SetKey) , /*20*/
|
GEN_CMD_CODE(_SetKey), /*20*/
|
||||||
GEN_CMD_CODE(_SetStaKey) ,
|
GEN_CMD_CODE(_SetStaKey),
|
||||||
GEN_CMD_CODE(_SetAssocSta) ,
|
GEN_CMD_CODE(_SetAssocSta),
|
||||||
GEN_CMD_CODE(_DelAssocSta) ,
|
GEN_CMD_CODE(_DelAssocSta),
|
||||||
GEN_CMD_CODE(_SetStaPwrState) ,
|
GEN_CMD_CODE(_SetStaPwrState),
|
||||||
GEN_CMD_CODE(_SetBasicRate) , /*25*/
|
GEN_CMD_CODE(_SetBasicRate), /*25*/
|
||||||
GEN_CMD_CODE(_GetBasicRate) ,
|
GEN_CMD_CODE(_GetBasicRate),
|
||||||
GEN_CMD_CODE(_SetDataRate) ,
|
GEN_CMD_CODE(_SetDataRate),
|
||||||
GEN_CMD_CODE(_GetDataRate) ,
|
GEN_CMD_CODE(_GetDataRate),
|
||||||
GEN_CMD_CODE(_SetPhyInfo) ,
|
GEN_CMD_CODE(_SetPhyInfo),
|
||||||
|
|
||||||
GEN_CMD_CODE(_GetPhyInfo) , /*30*/
|
GEN_CMD_CODE(_GetPhyInfo), /*30*/
|
||||||
GEN_CMD_CODE(_SetPhy) ,
|
GEN_CMD_CODE(_SetPhy),
|
||||||
GEN_CMD_CODE(_GetPhy) ,
|
GEN_CMD_CODE(_GetPhy),
|
||||||
GEN_CMD_CODE(_readRssi) ,
|
GEN_CMD_CODE(_readRssi),
|
||||||
GEN_CMD_CODE(_readGain) ,
|
GEN_CMD_CODE(_readGain),
|
||||||
GEN_CMD_CODE(_SetAtim) , /*35*/
|
GEN_CMD_CODE(_SetAtim), /*35*/
|
||||||
GEN_CMD_CODE(_SetPwrMode) ,
|
GEN_CMD_CODE(_SetPwrMode),
|
||||||
GEN_CMD_CODE(_JoinbssRpt),
|
GEN_CMD_CODE(_JoinbssRpt),
|
||||||
GEN_CMD_CODE(_SetRaTable) ,
|
GEN_CMD_CODE(_SetRaTable),
|
||||||
GEN_CMD_CODE(_GetRaTable) ,
|
GEN_CMD_CODE(_GetRaTable),
|
||||||
|
|
||||||
GEN_CMD_CODE(_GetCCXReport), /*40*/
|
GEN_CMD_CODE(_GetCCXReport), /*40*/
|
||||||
GEN_CMD_CODE(_GetDTMReport),
|
GEN_CMD_CODE(_GetDTMReport),
|
||||||
GEN_CMD_CODE(_GetTXRateStatistics),
|
GEN_CMD_CODE(_GetTXRateStatistics),
|
||||||
GEN_CMD_CODE(_SetUsbSuspend),
|
GEN_CMD_CODE(_SetUsbSuspend),
|
||||||
GEN_CMD_CODE(_SetH2cLbk),
|
GEN_CMD_CODE(_SetH2cLbk),
|
||||||
GEN_CMD_CODE(_AddBAReq) , /*45*/
|
GEN_CMD_CODE(_AddBAReq), /*45*/
|
||||||
GEN_CMD_CODE(_SetChannel), /*46*/
|
GEN_CMD_CODE(_SetChannel), /*46*/
|
||||||
GEN_CMD_CODE(_SetTxPower),
|
GEN_CMD_CODE(_SetTxPower),
|
||||||
GEN_CMD_CODE(_SwitchAntenna),
|
GEN_CMD_CODE(_SwitchAntenna),
|
||||||
|
@ -960,7 +957,7 @@ static struct _cmd_callback rtw_cmd_callback[] =
|
||||||
{GEN_CMD_CODE(_SetPwrMode), NULL},
|
{GEN_CMD_CODE(_SetPwrMode), NULL},
|
||||||
{GEN_CMD_CODE(_JoinbssRpt), NULL},
|
{GEN_CMD_CODE(_JoinbssRpt), NULL},
|
||||||
{GEN_CMD_CODE(_SetRaTable), NULL},
|
{GEN_CMD_CODE(_SetRaTable), NULL},
|
||||||
{GEN_CMD_CODE(_GetRaTable) , NULL},
|
{GEN_CMD_CODE(_GetRaTable), NULL},
|
||||||
|
|
||||||
{GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
|
{GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
|
||||||
{GEN_CMD_CODE(_GetDTMReport), NULL},
|
{GEN_CMD_CODE(_GetDTMReport), NULL},
|
||||||
|
|
|
@ -78,9 +78,9 @@
|
||||||
|
|
||||||
extern u32 GlobalDebugLevel;
|
extern u32 GlobalDebugLevel;
|
||||||
|
|
||||||
#define DBG_88E_LEVEL(_Level, fmt, arg...) \
|
#define DBG_88E_LEVEL(_level, fmt, arg...) \
|
||||||
do { \
|
do { \
|
||||||
if (_Level <= GlobalDebugLevel) \
|
if (_level <= GlobalDebugLevel) \
|
||||||
_dbgdump(DRIVER_PREFIX"ERROR " fmt, ##arg); \
|
_dbgdump(DRIVER_PREFIX"ERROR " fmt, ##arg); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
@ -96,12 +96,12 @@ extern u32 GlobalDebugLevel;
|
||||||
_dbgdump(DRIVER_PREFIX __VA_ARGS__); \
|
_dbgdump(DRIVER_PREFIX __VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define RT_TRACE(_Comp, _Level, Fmt) \
|
#define RT_TRACE(_comp, _level, fmt) \
|
||||||
do { \
|
do { \
|
||||||
if (_Level <= GlobalDebugLevel) { \
|
if (_level <= GlobalDebugLevel) { \
|
||||||
_dbgdump("%s [0x%08x,%d]", DRIVER_PREFIX, \
|
_dbgdump("%s [0x%08x,%d]", DRIVER_PREFIX, \
|
||||||
(unsigned int)_Comp, _Level); \
|
(unsigned int)_comp, _level); \
|
||||||
_dbgdump Fmt; \
|
_dbgdump fmt; \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
@ -119,14 +119,14 @@ extern u32 GlobalDebugLevel;
|
||||||
DRIVER_PREFIX, __func__, __LINE__); \
|
DRIVER_PREFIX, __func__, __LINE__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen)\
|
#define RT_PRINT_DATA(_comp, _level, _titlestring, _hexdata, _hexdatalen)\
|
||||||
do { \
|
do { \
|
||||||
if (_Level <= GlobalDebugLevel) { \
|
if (_level <= GlobalDebugLevel) { \
|
||||||
int __i; \
|
int __i; \
|
||||||
u8 *ptr = (u8 *)_HexData; \
|
u8 *ptr = (u8 *)_hexdata; \
|
||||||
_dbgdump("%s", DRIVER_PREFIX); \
|
_dbgdump("%s", DRIVER_PREFIX); \
|
||||||
_dbgdump(_TitleString); \
|
_dbgdump(_titlestring); \
|
||||||
for (__i = 0; __i < (int)_HexDataLen; __i++ ) { \
|
for (__i = 0; __i < (int)_hexdatalen; __i++ ) { \
|
||||||
_dbgdump("%02X%s", ptr[__i], \
|
_dbgdump("%02X%s", ptr[__i], \
|
||||||
(((__i + 1) % 4) == 0) ? \
|
(((__i + 1) % 4) == 0) ? \
|
||||||
" " : " "); \
|
" " : " "); \
|
||||||
|
@ -137,166 +137,159 @@ extern u32 GlobalDebugLevel;
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
int proc_get_drv_version(char *page, char **start,
|
int proc_get_drv_version(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_write_reg(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_set_write_reg(struct file *file, const char __user *buffer,
|
||||||
|
unsigned long count, void *data);
|
||||||
|
int proc_get_read_reg(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_set_read_reg(struct file *file, const char __user *buffer,
|
||||||
|
unsigned long count, void *data);
|
||||||
|
|
||||||
|
int proc_get_fwstate(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
int proc_get_sec_info(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
int proc_get_mlmext_state(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_write_reg(char *page, char **start,
|
int proc_get_qos_option(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
int proc_get_ht_option(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
int proc_get_rf_info(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
int proc_get_ap_info(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_adapter_state(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_trx_info(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_mac_reg_dump1(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_mac_reg_dump2(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_mac_reg_dump3(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_get_bb_reg_dump1(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_write_reg(struct file *file, const char __user *buffer,
|
int proc_get_bb_reg_dump2(char *page, char **start,
|
||||||
unsigned long count, void *data);
|
|
||||||
|
|
||||||
int proc_get_read_reg(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_read_reg(struct file *file, const char __user *buffer,
|
int proc_get_bb_reg_dump3(char *page, char **start,
|
||||||
unsigned long count, void *data);
|
|
||||||
|
|
||||||
|
|
||||||
int proc_get_fwstate(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_sec_info(char *page, char **start,
|
int proc_get_rf_reg_dump1(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_mlmext_state(char *page, char **start,
|
int proc_get_rf_reg_dump2(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_qos_option(char *page, char **start,
|
int proc_get_rf_reg_dump3(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_ht_option(char *page, char **start,
|
int proc_get_rf_reg_dump4(char *page, char **start,
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rf_info(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_ap_info(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_adapter_state(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_trx_info(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_mac_reg_dump1(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_mac_reg_dump2(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_mac_reg_dump3(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_bb_reg_dump1(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_bb_reg_dump2(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_bb_reg_dump3(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rf_reg_dump1(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rf_reg_dump2(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rf_reg_dump3(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rf_reg_dump4(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
|
|
||||||
int proc_get_all_sta_info(char *page, char **start,
|
int proc_get_all_sta_info(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int proc_get_best_channel(char *page, char **start,
|
int proc_get_best_channel(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_rx_signal(char *page, char **start,
|
int proc_get_rx_signal(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_set_rx_signal(struct file *file, const char __user *buffer,
|
||||||
|
unsigned long count, void *data);
|
||||||
|
|
||||||
|
int proc_get_ht_enable(char *page, char **start,
|
||||||
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
|
int proc_set_ht_enable(struct file *file, const char __user *buffer,
|
||||||
|
unsigned long count, void *data);
|
||||||
|
|
||||||
|
int proc_get_cbw40_enable(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_rx_signal(struct file *file, const char __user *buffer,
|
int proc_set_cbw40_enable(struct file *file, const char __user *buffer,
|
||||||
unsigned long count, void *data);
|
unsigned long count, void *data);
|
||||||
|
|
||||||
int proc_get_ht_enable(char *page, char **start,
|
int proc_get_ampdu_enable(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_ht_enable(struct file *file, const char __user *buffer,
|
int proc_set_ampdu_enable(struct file *file, const char __user *buffer,
|
||||||
unsigned long count, void *data);
|
unsigned long count, void *data);
|
||||||
|
|
||||||
int proc_get_cbw40_enable(char *page, char **start,
|
int proc_get_rx_stbc(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_cbw40_enable(struct file *file, const char __user *buffer,
|
int proc_set_rx_stbc(struct file *file, const char __user *buffer,
|
||||||
unsigned long count, void *data);
|
unsigned long count, void *data);
|
||||||
|
|
||||||
int proc_get_ampdu_enable(char *page, char **start,
|
int proc_get_two_path_rssi(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_ampdu_enable(struct file *file, const char __user *buffer,
|
int proc_get_rssi_disp(char *page, char **start,
|
||||||
unsigned long count, void *data);
|
off_t offset, int count,
|
||||||
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_get_rx_stbc(char *page, char **start,
|
int proc_set_rssi_disp(struct file *file, const char __user *buffer,
|
||||||
off_t offset, int count,
|
unsigned long count, void *data);
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_set_rx_stbc(struct file *file, const char __user *buffer,
|
|
||||||
unsigned long count, void *data);
|
|
||||||
|
|
||||||
int proc_get_two_path_rssi(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_get_rssi_disp(char *page, char **start,
|
|
||||||
off_t offset, int count,
|
|
||||||
int *eof, void *data);
|
|
||||||
|
|
||||||
int proc_set_rssi_disp(struct file *file, const char __user *buffer,
|
|
||||||
unsigned long count, void *data);
|
|
||||||
|
|
||||||
#ifdef CONFIG_BT_COEXIST
|
#ifdef CONFIG_BT_COEXIST
|
||||||
int proc_get_btcoex_dbg(char *page, char **start,
|
int proc_get_btcoex_dbg(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data);
|
int *eof, void *data);
|
||||||
|
|
||||||
int proc_set_btcoex_dbg(struct file *file, const char *buffer,
|
int proc_set_btcoex_dbg(struct file *file, const char *buffer,
|
||||||
unsigned long count, void *data);
|
signed long count, void *data);
|
||||||
|
|
||||||
#endif /* CONFIG_BT_COEXIST */
|
#endif /* CONFIG_BT_COEXIST */
|
||||||
|
|
||||||
|
|
|
@ -23,12 +23,12 @@
|
||||||
#include <osdep_service.h>
|
#include <osdep_service.h>
|
||||||
#include <drv_types.h>
|
#include <drv_types.h>
|
||||||
|
|
||||||
#define RTL8712_EEPROM_ID 0x8712
|
#define RTL8712_EEPROM_ID 0x8712
|
||||||
|
|
||||||
#define HWSET_MAX_SIZE_512 512
|
#define HWSET_MAX_SIZE_512 512
|
||||||
#define EEPROM_MAX_SIZE HWSET_MAX_SIZE_512
|
#define EEPROM_MAX_SIZE HWSET_MAX_SIZE_512
|
||||||
|
|
||||||
#define CLOCK_RATE 50 /* 100us */
|
#define CLOCK_RATE 50 /* 100us */
|
||||||
|
|
||||||
/* EEPROM opcodes */
|
/* EEPROM opcodes */
|
||||||
#define EEPROM_READ_OPCODE 06
|
#define EEPROM_READ_OPCODE 06
|
||||||
|
@ -38,32 +38,31 @@
|
||||||
#define EEPROM_EWDS_OPCODE 16 /* Erase/write disable */
|
#define EEPROM_EWDS_OPCODE 16 /* Erase/write disable */
|
||||||
|
|
||||||
/* Country codes */
|
/* Country codes */
|
||||||
#define USA 0x555320
|
#define USA 0x555320
|
||||||
#define EUROPE 0x1 /* temp, should be provided later */
|
#define EUROPE 0x1 /* temp, should be provided later */
|
||||||
#define JAPAN 0x2 /* temp, should be provided later */
|
#define JAPAN 0x2 /* temp, should be provided later */
|
||||||
|
|
||||||
#define EEPROM_CID_DEFAULT 0x0
|
#define EEPROM_CID_DEFAULT 0x0
|
||||||
#define EEPROM_CID_ALPHA 0x1
|
#define EEPROM_CID_ALPHA 0x1
|
||||||
#define EEPROM_CID_Senao 0x3
|
#define EEPROM_CID_Senao 0x3
|
||||||
#define EEPROM_CID_NetCore 0x5
|
#define EEPROM_CID_NetCore 0x5
|
||||||
#define EEPROM_CID_CAMEO 0X8
|
#define EEPROM_CID_CAMEO 0X8
|
||||||
#define EEPROM_CID_SITECOM 0x9
|
#define EEPROM_CID_SITECOM 0x9
|
||||||
#define EEPROM_CID_COREGA 0xB
|
#define EEPROM_CID_COREGA 0xB
|
||||||
#define EEPROM_CID_EDIMAX_BELK 0xC
|
#define EEPROM_CID_EDIMAX_BELK 0xC
|
||||||
#define EEPROM_CID_SERCOMM_BELK 0xE
|
#define EEPROM_CID_SERCOMM_BELK 0xE
|
||||||
#define EEPROM_CID_CAMEO1 0xF
|
#define EEPROM_CID_CAMEO1 0xF
|
||||||
#define EEPROM_CID_WNC_COREGA 0x12
|
#define EEPROM_CID_WNC_COREGA 0x12
|
||||||
#define EEPROM_CID_CLEVO 0x13
|
#define EEPROM_CID_CLEVO 0x13
|
||||||
#define EEPROM_CID_WHQL 0xFE /* added by chiyoko for dtm, 20090108 */
|
#define EEPROM_CID_WHQL 0xFE
|
||||||
|
|
||||||
/* */
|
|
||||||
/* Customer ID, note that: */
|
/* Customer ID, note that: */
|
||||||
/* This variable is initiailzed through EEPROM or registry, */
|
/* This variable is initiailzed through EEPROM or registry, */
|
||||||
/* however, its definition may be different with that in EEPROM for */
|
/* however, its definition may be different with that in EEPROM for */
|
||||||
/* EEPROM size consideration. So, we have to perform proper translation between them. */
|
/* EEPROM size consideration. So, we have to perform proper translation
|
||||||
|
* between them. */
|
||||||
/* Besides, CustomerID of registry has precedence of that of EEPROM. */
|
/* Besides, CustomerID of registry has precedence of that of EEPROM. */
|
||||||
/* defined below. 060703, by rcnjko. */
|
/* defined below. 060703, by rcnjko. */
|
||||||
/* */
|
|
||||||
enum RT_CUSTOMER_ID {
|
enum RT_CUSTOMER_ID {
|
||||||
RT_CID_DEFAULT = 0,
|
RT_CID_DEFAULT = 0,
|
||||||
RT_CID_8187_ALPHA0 = 1,
|
RT_CID_8187_ALPHA0 = 1,
|
||||||
|
@ -83,7 +82,9 @@ enum RT_CUSTOMER_ID {
|
||||||
RT_CID_CHINA_MOBILE = 15,
|
RT_CID_CHINA_MOBILE = 15,
|
||||||
RT_CID_819x_ALPHA = 16,
|
RT_CID_819x_ALPHA = 16,
|
||||||
RT_CID_819x_Sitecom = 17,
|
RT_CID_819x_Sitecom = 17,
|
||||||
RT_CID_CCX = 18, /* It's set under CCX logo test and isn't demanded for CCX functions, but for test behavior like retry limit and tx report. By Bruce, 2009-02-17. */
|
RT_CID_CCX = 18, /* It's set under CCX logo test and isn't demanded
|
||||||
|
* for CCX functions, but for test behavior like retry
|
||||||
|
* limit and tx report. By Bruce, 2009-02-17. */
|
||||||
RT_CID_819x_Lenovo = 19,
|
RT_CID_819x_Lenovo = 19,
|
||||||
RT_CID_819x_QMI = 20,
|
RT_CID_819x_QMI = 20,
|
||||||
RT_CID_819x_Edimax_Belkin = 21,
|
RT_CID_819x_Edimax_Belkin = 21,
|
||||||
|
@ -92,7 +93,8 @@ enum RT_CUSTOMER_ID {
|
||||||
RT_CID_819x_MSI = 24,
|
RT_CID_819x_MSI = 24,
|
||||||
RT_CID_819x_Acer = 25,
|
RT_CID_819x_Acer = 25,
|
||||||
RT_CID_819x_AzWave_ASUS = 26,
|
RT_CID_819x_AzWave_ASUS = 26,
|
||||||
RT_CID_819x_AzWave = 27, /* For AzWave in PCIe, The ID is AzWave use and not only Asus */
|
RT_CID_819x_AzWave = 27, /* For AzWave in PCIe,i
|
||||||
|
* The ID is AzWave use and not only Asus */
|
||||||
RT_CID_819x_HP = 28,
|
RT_CID_819x_HP = 28,
|
||||||
RT_CID_819x_WNC_COREGA = 29,
|
RT_CID_819x_WNC_COREGA = 29,
|
||||||
RT_CID_819x_Arcadyan_Belkin = 30,
|
RT_CID_819x_Arcadyan_Belkin = 30,
|
||||||
|
@ -119,10 +121,10 @@ struct eeprom_priv {
|
||||||
u8 efuse_eeprom_data[HWSET_MAX_SIZE_512];
|
u8 efuse_eeprom_data[HWSET_MAX_SIZE_512];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void eeprom_write16(struct adapter *padapter, u16 reg, u16 data);
|
void eeprom_write16(struct adapter *padapter, u16 reg, u16 data);
|
||||||
extern u16 eeprom_read16(struct adapter *padapter, u16 reg);
|
u16 eeprom_read16(struct adapter *padapter, u16 reg);
|
||||||
extern void read_eeprom_content(struct adapter *padapter);
|
void read_eeprom_content(struct adapter *padapter);
|
||||||
extern void eeprom_read_sz(struct adapter * padapter, u16 reg,u8* data, u32 sz);
|
void eeprom_read_sz(struct adapter *adapt, u16 reg, u8 *data, u32 sz);
|
||||||
extern void read_eeprom_content_by_attrib(struct adapter * padapter );
|
void read_eeprom_content_by_attrib(struct adapter *padapter);
|
||||||
|
|
||||||
#endif /* __RTL871X_EEPROM_H__ */
|
#endif /* __RTL871X_EEPROM_H__ */
|
||||||
|
|
Loading…
Reference in a new issue