mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-05-07 05:53:06 +00:00
rtl8188eu: P_opulate new kernel branch
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
adfd7de95d
commit
5105d48231
44 changed files with 295 additions and 225 deletions
|
@ -173,7 +173,7 @@ static bool set_baseband_agc_config(struct adapter *adapt)
|
|||
u32 v1 = array[i];
|
||||
u32 v2 = array[i+1];
|
||||
|
||||
if (v1 < 0xCDCDCDCD) {
|
||||
if (v1 < 0xCDCDCDCD){
|
||||
phy_set_bb_reg(adapt, v1, bMaskDWord, v2);
|
||||
udelay(1);
|
||||
}
|
||||
|
@ -552,7 +552,7 @@ static void store_pwrindex_offset(struct adapter *Adapter, u32 regaddr, u32 bitm
|
|||
}
|
||||
}
|
||||
|
||||
static void rtl_addr_delay(struct adapter *adapt, u32 addr, u32 bit_mask, u32 data)
|
||||
static void rtl_addr_delay(struct adapter *adapt, u32 addr, u32 bit_mask ,u32 data)
|
||||
{
|
||||
if (addr == 0xfe) {
|
||||
msleep(50);
|
||||
|
|
8
hal/fw.c
8
hal/fw.c
|
@ -84,7 +84,7 @@ static void _rtl88e_fw_block_write(struct adapter *adapt,
|
|||
static void _rtl88e_fill_dummy(u8 *pfwbuf, u32 *pfwlen)
|
||||
{
|
||||
u32 fwlen = *pfwlen;
|
||||
u8 remain = (u8)(fwlen % 4);
|
||||
u8 remain = (u8) (fwlen % 4);
|
||||
|
||||
remain = (remain == 0) ? 0 : (4 - remain);
|
||||
|
||||
|
@ -101,7 +101,7 @@ static void _rtl88e_fw_page_write(struct adapter *adapt,
|
|||
u32 page, const u8 *buffer, u32 size)
|
||||
{
|
||||
u8 value8;
|
||||
u8 u8page = (u8)(page & 0x07);
|
||||
u8 u8page = (u8) (page & 0x07);
|
||||
|
||||
value8 = (usb_read8(adapt, REG_MCUFWDL + 2) & 0xF8) | u8page;
|
||||
|
||||
|
@ -193,13 +193,13 @@ int rtl88eu_download_fw(struct adapter *adapt)
|
|||
u32 fwsize;
|
||||
int err;
|
||||
|
||||
if (request_firmware(&fw, fw_name, device)) {
|
||||
if (request_firmware(&fw, fw_name, device)){
|
||||
dev_err(device, "Firmware %s not available\n", fw_name);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
if (fw->size > FW_8188E_SIZE) {
|
||||
dev_err(device, "Firmware size exceed 0x%X. Check it.\n",
|
||||
dev_err(device,"Firmware size exceed 0x%X. Check it.\n",
|
||||
FW_8188E_SIZE);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ bool rtl88eu_phy_mac_config(struct adapter *adapt)
|
|||
ptrarray = array_MAC_REG_8188E;
|
||||
|
||||
for (i = 0; i < arraylength; i = i + 2)
|
||||
usb_write8(adapt, ptrarray[i], (u8)ptrarray[i + 1]);
|
||||
usb_write8(adapt, ptrarray[i], (u8) ptrarray[i + 1]);
|
||||
|
||||
usb_write8(adapt, REG_MAX_AGGR_NUM, MAX_AGGR_NUM);
|
||||
return true;
|
||||
|
|
|
@ -437,8 +437,8 @@ void odm_CommonInfoSelfInit(struct odm_dm_struct *pDM_Odm)
|
|||
{
|
||||
struct adapter *adapter = pDM_Odm->Adapter;
|
||||
|
||||
pDM_Odm->bCckHighPower = (bool)phy_query_bb_reg(adapter, 0x824, BIT9);
|
||||
pDM_Odm->RFPathRxEnable = (u8)phy_query_bb_reg(adapter, 0xc04, 0x0F);
|
||||
pDM_Odm->bCckHighPower = (bool) phy_query_bb_reg(adapter, 0x824, BIT9);
|
||||
pDM_Odm->RFPathRxEnable = (u8) phy_query_bb_reg(adapter, 0xc04, 0x0F);
|
||||
|
||||
ODM_InitDebugSetting(pDM_Odm);
|
||||
}
|
||||
|
@ -529,7 +529,7 @@ void odm_DIGInit(struct odm_dm_struct *pDM_Odm)
|
|||
struct adapter *adapter = pDM_Odm->Adapter;
|
||||
struct rtw_dig *pDM_DigTable = &pDM_Odm->DM_DigTable;
|
||||
|
||||
pDM_DigTable->CurIGValue = (u8)phy_query_bb_reg(adapter, ODM_REG_IGI_A_11N, ODM_BIT_IGI_11N);
|
||||
pDM_DigTable->CurIGValue = (u8) phy_query_bb_reg(adapter, ODM_REG_IGI_A_11N, ODM_BIT_IGI_11N);
|
||||
pDM_DigTable->RssiLowThresh = DM_DIG_THRESH_LOW;
|
||||
pDM_DigTable->RssiHighThresh = DM_DIG_THRESH_HIGH;
|
||||
pDM_DigTable->FALowThresh = DM_false_ALARM_THRESH_LOW;
|
||||
|
@ -620,7 +620,7 @@ void odm_DIG(struct odm_dm_struct *pDM_Odm)
|
|||
} else if (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV) {
|
||||
/* 1 Lower Bound for 88E AntDiv */
|
||||
if (pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV) {
|
||||
DIG_Dynamic_MIN = (u8)pDM_DigTable->AntDiv_RSSI_max;
|
||||
DIG_Dynamic_MIN = (u8) pDM_DigTable->AntDiv_RSSI_max;
|
||||
ODM_RT_TRACE(pDM_Odm, ODM_COMP_ANT_DIV, ODM_DBG_LOUD,
|
||||
("odm_DIG(): pDM_DigTable->AntDiv_RSSI_max=%d\n",
|
||||
pDM_DigTable->AntDiv_RSSI_max));
|
||||
|
|
|
@ -118,7 +118,7 @@ static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
|
|||
|
||||
cck_highpwr = dm_odm->bCckHighPower;
|
||||
|
||||
cck_agc_rpt = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a;
|
||||
cck_agc_rpt = pPhyStaRpt->cck_agc_rpt_ofdm_cfosho_a ;
|
||||
|
||||
/* 2011.11.28 LukeLee: 88E use different LNA & VGA gain table */
|
||||
/* The RSSI formula should be modified according to the gain table */
|
||||
|
|
|
@ -278,7 +278,7 @@ static void rtl88eu_dm_hw_ant_div(struct odm_dm_struct *dm_odm)
|
|||
struct rtw_dig *dig_table = &dm_odm->DM_DigTable;
|
||||
struct sta_info *entry;
|
||||
u32 i, min_rssi = 0xFF, ant_div_max_rssi = 0, max_rssi = 0;
|
||||
u32 local_min_rssi, local_max_rssi;
|
||||
u32 local_min_rssi,local_max_rssi;
|
||||
u32 main_rssi, aux_rssi;
|
||||
u8 RxIdleAnt = 0, target_ant = 7;
|
||||
|
||||
|
|
|
@ -478,7 +478,7 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt)
|
|||
/* 2.4G, decrease power */
|
||||
{0, 0, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11},
|
||||
/* 2.4G, increase power */
|
||||
{0, 0, -1, -2, -3, -4, -4, -4, -4, -5, -7, -8, -9, -9, -10},
|
||||
{0, 0, -1, -2, -3, -4,-4, -4, -4, -5, -7, -8,-9, -9, -10},
|
||||
};
|
||||
u8 thermal_mapping[2][index_mapping_NUM_88E] = {
|
||||
/* 2.4G, decrease power */
|
||||
|
|
2
hal/rf.c
2
hal/rf.c
|
@ -131,7 +131,7 @@ void rtl88eu_phy_rf6052_set_cck_txpower(struct adapter *adapt, u8 *powerlevel)
|
|||
/* powerbase1 for HT MCS rates */
|
||||
static void getpowerbase88e(struct adapter *adapt, u8 *pwr_level_ofdm,
|
||||
u8 *pwr_level_bw20, u8 *pwr_level_bw40,
|
||||
u8 channel, u32 *ofdmbase, u32 *mcs_base)
|
||||
u8 channel,u32 *ofdmbase, u32 *mcs_base)
|
||||
{
|
||||
struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt);
|
||||
u32 powerbase0, powerbase1;
|
||||
|
|
|
@ -164,7 +164,7 @@ do { \
|
|||
#define B3WIREDATALENGTH 0x800
|
||||
#define BRFSI_RFENV 0x10
|
||||
|
||||
static void rtl_rfreg_delay(struct adapter *adapt, enum rf_radio_path rfpath, u32 addr, u32 mask, u32 data)
|
||||
static void rtl_rfreg_delay(struct adapter *adapt, enum rf_radio_path rfpath,u32 addr, u32 mask, u32 data)
|
||||
{
|
||||
if (addr == 0xfe) {
|
||||
mdelay(50);
|
||||
|
@ -190,7 +190,7 @@ static void rtl8188e_config_rf_reg(struct adapter *adapt,
|
|||
u32 content = 0x1000; /*RF Content: radio_a_txt*/
|
||||
u32 maskforphyset = (u32)(content & 0xE000);
|
||||
|
||||
rtl_rfreg_delay(adapt, RF90_PATH_A, addr | maskforphyset,
|
||||
rtl_rfreg_delay(adapt, RF90_PATH_A, addr| maskforphyset,
|
||||
RFREG_OFFSET_MASK,
|
||||
data);
|
||||
}
|
||||
|
|
|
@ -150,9 +150,11 @@ u8 rtl8188e_set_raid_cmd(struct adapter *adapt, u32 mask)
|
|||
struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
|
||||
|
||||
if (haldata->fw_ractrl) {
|
||||
__le32 lmask;
|
||||
|
||||
memset(buf, 0, 3);
|
||||
put_unaligned_le32(mask, buf);
|
||||
lmask = cpu_to_le32(mask);
|
||||
memcpy(buf, &lmask, 3);
|
||||
|
||||
FillH2CCmd_88E(adapt, H2C_DM_MACID_CFG, 3, buf);
|
||||
} else {
|
||||
|
@ -252,7 +254,7 @@ void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt)
|
|||
{
|
||||
u8 opmode, macid;
|
||||
u16 mst_rpt = le16_to_cpu(mstatus_rpt);
|
||||
opmode = (u8)mst_rpt;
|
||||
opmode = (u8) mst_rpt;
|
||||
macid = (u8)(mst_rpt >> 8);
|
||||
|
||||
DBG_88E("### %s: MStatus=%x MACID=%d\n", __func__, opmode, macid);
|
||||
|
|
|
@ -155,8 +155,6 @@ void rtl8188e_HalDmWatchDog(struct adapter *Adapter)
|
|||
bool fw_ps_awake = true;
|
||||
u8 hw_init_completed = false;
|
||||
struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter);
|
||||
struct mlme_priv *pmlmepriv = NULL;
|
||||
u8 bLinked = false;
|
||||
|
||||
hw_init_completed = Adapter->hw_init_completed;
|
||||
|
||||
|
@ -172,20 +170,22 @@ void rtl8188e_HalDmWatchDog(struct adapter *Adapter)
|
|||
fw_ps_awake = false;
|
||||
|
||||
/* ODM */
|
||||
pmlmepriv = &Adapter->mlmepriv;
|
||||
if (hw_init_completed) {
|
||||
struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
|
||||
u8 bLinked = false;
|
||||
|
||||
if ((check_fwstate(pmlmepriv, WIFI_AP_STATE)) ||
|
||||
(check_fwstate(pmlmepriv, WIFI_ADHOC_STATE |
|
||||
WIFI_ADHOC_MASTER_STATE))) {
|
||||
if (Adapter->stapriv.asoc_sta_count > 2)
|
||||
bLinked = true;
|
||||
} else {/* Station mode */
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED))
|
||||
bLinked = true;
|
||||
if ((check_fwstate(pmlmepriv, WIFI_AP_STATE)) ||
|
||||
(check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE))) {
|
||||
if (Adapter->stapriv.asoc_sta_count > 2)
|
||||
bLinked = true;
|
||||
} else {/* Station mode */
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED))
|
||||
bLinked = true;
|
||||
}
|
||||
|
||||
ODM_CmnInfoUpdate(&hal_data->odmpriv, ODM_CMNINFO_LINK, bLinked);
|
||||
ODM_DMWatchdog(&hal_data->odmpriv);
|
||||
}
|
||||
|
||||
ODM_CmnInfoUpdate(&hal_data->odmpriv, ODM_CMNINFO_LINK, bLinked);
|
||||
ODM_DMWatchdog(&hal_data->odmpriv);
|
||||
skip_dm:
|
||||
/* Check GPIO to determine current RF on/off and Pbc status. */
|
||||
/* Check Hardware Radio ON/OFF or not */
|
||||
|
|
|
@ -181,7 +181,7 @@ static void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable
|
|||
switch (eVariable) {
|
||||
case HAL_ODM_STA_INFO:
|
||||
{
|
||||
struct sta_info *psta = pValue1;
|
||||
struct sta_info *psta = (struct sta_info *)pValue1;
|
||||
if (bSet) {
|
||||
DBG_88E("### Set STA_(%d) info\n", psta->mac_id);
|
||||
ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS, psta->mac_id, psta);
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
void dump_txrpt_ccx_88e(void *buf)
|
||||
{
|
||||
struct txrpt_ccx_88e *txrpt_ccx = buf;
|
||||
struct txrpt_ccx_88e *txrpt_ccx = (struct txrpt_ccx_88e *)buf;
|
||||
|
||||
DBG_88E("%s:\n"
|
||||
"tag1:%u, pkt_num:%u, txdma_underflow:%u, int_bt:%u, int_tri:%u, int_ccx:%u\n"
|
||||
|
|
|
@ -399,7 +399,7 @@ static s32 rtw_dump_xframe(struct adapter *adapt, struct xmit_frame *pxmitframe)
|
|||
|
||||
mem_addr += w_sz;
|
||||
|
||||
mem_addr = (u8 *)round_up((size_t)mem_addr, 4);
|
||||
mem_addr = (u8 *) round_up((size_t)mem_addr, 4);
|
||||
}
|
||||
|
||||
rtw_free_xmitframe(pxmitpriv, pxmitframe);
|
||||
|
|
|
@ -1673,7 +1673,7 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
|
|||
pRegToSet = RegToSet_Normal; /* 0xb972a841; */
|
||||
FactorToSet = *((u8 *)val);
|
||||
if (FactorToSet <= 3) {
|
||||
FactorToSet = 1 << (FactorToSet + 2);
|
||||
FactorToSet = (1<<(FactorToSet + 2));
|
||||
if (FactorToSet > 0xf)
|
||||
FactorToSet = 0xf;
|
||||
|
||||
|
@ -2012,7 +2012,7 @@ static u8 SetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eV
|
|||
u8 bRSSIDump = *((u8 *)pValue);
|
||||
struct odm_dm_struct *dm_ocm = &(haldata->odmpriv);
|
||||
if (bRSSIDump)
|
||||
dm_ocm->DebugComponents = ODM_COMP_DIG|ODM_COMP_FA_CNT;
|
||||
dm_ocm->DebugComponents = ODM_COMP_DIG|ODM_COMP_FA_CNT ;
|
||||
else
|
||||
dm_ocm->DebugComponents = 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue