Cleanup the rt_stats structure. Many of the fields where unused and a lot of the fields where set but never referenced. Removing all the statistics reduced cmpk_handle_interrupt_status to just setting bibsscoordinator... which was then never referenced. Remove the function and bibsscoordinator. Signed-off-by: Sean MacLennan <seanm@xxxxxxxx> --- diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h b/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h index b7bb71f..bc4aeeb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h @@ -269,13 +269,6 @@ struct log_int_8190 { u32 nIMR_RXFOVW; }; -struct phy_ofdm_rx_status_rxsc_sgien_exintfflag { - u8 reserved:4; - u8 rxsc:2; - u8 sgi_en:1; - u8 ex_intf_flag:1; -}; - struct phy_sts_ofdm_819xpci { u8 trsw_gain_X[4]; u8 pwdb_all; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c index 5f10e40..423a543 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c @@ -106,117 +106,19 @@ cmpk_count_txstatistic( #endif if (pstx_fb->tok) { - priv->stats.txfeedbackok++; - priv->stats.txoktotal++; - priv->stats.txokbytestotal += pstx_fb->pkt_length; - priv->stats.txokinperiod++; - - if (pstx_fb->pkt_type == PACKET_MULTICAST) { - priv->stats.txmulticast++; - priv->stats.txbytesmulticast += pstx_fb->pkt_length; - } else if (pstx_fb->pkt_type == PACKET_BROADCAST) { - priv->stats.txbroadcast++; - priv->stats.txbytesbroadcast += pstx_fb->pkt_length; - } else { - priv->stats.txunicast++; + switch (pstx_fb->pkt_type) { + case PACKET_MULTICAST: + case PACKET_BROADCAST: + break; + default: priv->stats.txbytesunicast += pstx_fb->pkt_length; } - } else { - priv->stats.txfeedbackfail++; - priv->stats.txerrtotal++; - priv->stats.txerrbytestotal += pstx_fb->pkt_length; - - if (pstx_fb->pkt_type == PACKET_MULTICAST) - priv->stats.txerrmulticast++; - else if (pstx_fb->pkt_type == PACKET_BROADCAST) - priv->stats.txerrbroadcast++; - else - priv->stats.txerrunicast++; } - - priv->stats.txretrycount += pstx_fb->retry_cnt; - priv->stats.txfeedbackretry += pstx_fb->retry_cnt; } static void cmpk_handle_tx_feedback(struct net_device *dev, u8 *pmsg) { - struct r8192_priv *priv = rtllib_priv(dev); - struct cmpk_txfb rx_tx_fb; - - priv->stats.txfeedback++; - - - memcpy((u8 *)&rx_tx_fb, pmsg, sizeof(struct cmpk_txfb)); - cmpk_count_txstatistic(dev, &rx_tx_fb); -} - -static void cmdpkt_beacontimerinterrupt_819xusb(struct net_device *dev) -{ - struct r8192_priv *priv = rtllib_priv(dev); - u16 tx_rate; - - if ((priv->rtllib->current_network.mode == IEEE_A) || - (priv->rtllib->current_network.mode == IEEE_N_5G) || - ((priv->rtllib->current_network.mode == IEEE_N_24G) && - (!priv->rtllib->pHTInfo->bCurSuppCCK))) { - tx_rate = 60; - DMESG("send beacon frame tx rate is 6Mbpm\n"); - } else { - tx_rate = 10; - DMESG("send beacon frame tx rate is 1Mbpm\n"); - } -} - -static void cmpk_handle_interrupt_status(struct net_device *dev, u8 *pmsg) -{ - struct cmpk_intr_sta rx_intr_status; /* */ - struct r8192_priv *priv = rtllib_priv(dev); - - DMESG("---> cmpk_Handle_Interrupt_Status()\n"); - - rx_intr_status.length = pmsg[1]; - if (rx_intr_status.length != (sizeof(struct cmpk_intr_sta) - 2)) { - DMESG("cmpk_Handle_Interrupt_Status: wrong length!\n"); - return; - } - - if (priv->rtllib->iw_mode == IW_MODE_ADHOC) { - rx_intr_status.interrupt_status = *((u32 *)(pmsg + 4)); - - DMESG("interrupt status = 0x%x\n", - rx_intr_status.interrupt_status); - - if (rx_intr_status.interrupt_status & ISR_TxBcnOk) { - priv->rtllib->bibsscoordinator = true; - priv->stats.txbeaconokint++; - } else if (rx_intr_status.interrupt_status & ISR_TxBcnErr) { - priv->rtllib->bibsscoordinator = false; - priv->stats.txbeaconerr++; - } - - if (rx_intr_status.interrupt_status & ISR_BcnTimerIntr) - cmdpkt_beacontimerinterrupt_819xusb(dev); - } - - DMESG("<---- cmpk_handle_interrupt_status()\n"); - -} - -static void cmpk_handle_query_config_rx(struct net_device *dev, u8 *pmsg) -{ - cmpk_query_cfg_t rx_query_cfg; - - - rx_query_cfg.cfg_action = (pmsg[4] & 0x80000000)>>31; - rx_query_cfg.cfg_type = (pmsg[4] & 0x60) >> 5; - rx_query_cfg.cfg_size = (pmsg[4] & 0x18) >> 3; - rx_query_cfg.cfg_page = (pmsg[6] & 0x0F) >> 0; - rx_query_cfg.cfg_offset = pmsg[7]; - rx_query_cfg.value = (pmsg[8] << 24) | (pmsg[9] << 16) | - (pmsg[10] << 8) | (pmsg[11] << 0); - rx_query_cfg.mask = (pmsg[12] << 24) | (pmsg[13] << 16) | - (pmsg[14] << 8) | (pmsg[15] << 0); - + cmpk_count_txstatistic(dev, (struct cmpk_txfb *)pmsg); } static void cmpk_count_tx_status(struct net_device *dev, @@ -235,81 +137,12 @@ static void cmpk_count_tx_status(struct net_device *dev, return; #endif - priv->stats.txfeedbackok += pstx_status->txok; - priv->stats.txoktotal += pstx_status->txok; - - priv->stats.txfeedbackfail += pstx_status->txfail; - priv->stats.txerrtotal += pstx_status->txfail; - - priv->stats.txretrycount += pstx_status->txretry; - priv->stats.txfeedbackretry += pstx_status->txretry; - - - priv->stats.txmulticast += pstx_status->txmcok; - priv->stats.txbroadcast += pstx_status->txbcok; - priv->stats.txunicast += pstx_status->txucok; - - priv->stats.txerrmulticast += pstx_status->txmcfail; - priv->stats.txerrbroadcast += pstx_status->txbcfail; - priv->stats.txerrunicast += pstx_status->txucfail; - - priv->stats.txbytesmulticast += pstx_status->txmclength; - priv->stats.txbytesbroadcast += pstx_status->txbclength; - priv->stats.txbytesunicast += pstx_status->txuclength; - - priv->stats.last_packet_rate = pstx_status->rate; + priv->stats.txbytesunicast += pstx_status->txuclength; } static void cmpk_handle_tx_status(struct net_device *dev, u8 *pmsg) { - struct cmpk_tx_status rx_tx_sts; - - memcpy((void *)&rx_tx_sts, (void *)pmsg, sizeof(struct cmpk_tx_status)); - cmpk_count_tx_status(dev, &rx_tx_sts); -} - -static void cmpk_handle_tx_rate_history(struct net_device *dev, u8 *pmsg) -{ - struct cmpk_tx_rahis *ptxrate; - u8 i, j; - u16 length = sizeof(struct cmpk_tx_rahis); - u32 *ptemp; - struct r8192_priv *priv = rtllib_priv(dev); - -#ifdef ENABLE_PS - pAdapter->HalFunc.GetHwRegHandler(pAdapter, HW_VAR_RF_STATE, - (pu1Byte)(&rtState)); - - if (rtState == eRfOff) - return; -#endif - - ptemp = (u32 *)pmsg; - - for (i = 0; i < (length / 4); i++) { - u16 temp1, temp2; - - temp1 = ptemp[i] & 0x0000FFFF; - temp2 = ptemp[i] >> 16; - ptemp[i] = (temp1 << 16) | temp2; - } - - ptxrate = (struct cmpk_tx_rahis *)pmsg; - - if (ptxrate == NULL) - return; - - for (i = 0; i < 16; i++) { - if (i < 4) - priv->stats.txrate.cck[i] += ptxrate->cck[i]; - - if (i < 8) - priv->stats.txrate.ofdm[i] += ptxrate->ofdm[i]; - - for (j = 0; j < 4; j++) - priv->stats.txrate.ht_mcs[j][i] += - ptxrate->ht_mcs[j][i]; - } + cmpk_count_tx_status(dev, (struct cmpk_tx_status *)pmsg); } u32 cmpk_message_handle_rx(struct net_device *dev, @@ -317,7 +150,6 @@ u32 cmpk_message_handle_rx(struct net_device *dev, { int total_length; u8 cmd_length, exe_cnt = 0; - u8 element_id; u8 *pcmd_buff; RT_TRACE(COMP_CMDPKT, "---->cmpk_message_handle_rx()\n"); @@ -329,10 +161,8 @@ u32 cmpk_message_handle_rx(struct net_device *dev, pcmd_buff = pstats->virtual_address; - element_id = pcmd_buff[0]; - - while (total_length > 0 || exe_cnt++ > 100) { - element_id = pcmd_buff[0]; + while (total_length > 0 && exe_cnt++ < 100) { + u8 element_id = pcmd_buff[0]; switch (element_id) { case RX_TX_FEEDBACK: @@ -344,13 +174,11 @@ u32 cmpk_message_handle_rx(struct net_device *dev, case RX_INTERRUPT_STATUS: RT_TRACE(COMP_CMDPKT, "---->cmpk_message_handle_rx():" "RX_INTERRUPT_STATUS\n"); - cmpk_handle_interrupt_status(dev, pcmd_buff); cmd_length = sizeof(struct cmpk_intr_sta); break; case BOTH_QUERY_CONFIG: RT_TRACE(COMP_CMDPKT, "---->cmpk_message_handle_rx():" "BOTH_QUERY_CONFIG\n"); - cmpk_handle_query_config_rx(dev, pcmd_buff); cmd_length = CMPK_BOTH_QUERY_CONFIG_SIZE; break; case RX_TX_STATUS: @@ -367,7 +195,6 @@ u32 cmpk_message_handle_rx(struct net_device *dev, case RX_TX_RATE_HISTORY: RT_TRACE(COMP_CMDPKT, "---->cmpk_message_handle_rx():" "RX_TX_HISTORY\n"); - cmpk_handle_tx_rate_history(dev, pcmd_buff); cmd_length = CMPK_TX_RAHIS_SIZE; break; default: diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h index 23219e1..586e5e0 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h @@ -112,6 +112,7 @@ struct cmpk_tx_status { u8 rate; } __packed; +#if 0 struct cmpk_rx_dbginfo { u16 reserve1; u8 length; @@ -119,22 +120,15 @@ struct cmpk_rx_dbginfo { }; +#endif struct cmpk_tx_rahis { u8 element_id; u8 length; u16 reserved1; - u16 cck[4]; - u16 ofdm[8]; - - - - - u16 ht_mcs[4][16]; - } __packed; enum cmpk_element { @@ -149,8 +143,6 @@ enum cmpk_element { RX_CMD_ELE_MAX }; -extern u32 cmpk_message_handle_rx(struct net_device *dev, - struct rtllib_rx_stats *pstats); extern bool cmpk_message_handle_tx(struct net_device *dev, u8 *codevirtualaddress, u32 packettype, u32 buffer_len); diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index 50c7bb7..b91705b 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1468,11 +1468,10 @@ static void rtl8192_query_rxphystatus( { struct phy_sts_ofdm_819xpci *pofdm_buf; struct phy_sts_cck_819xpci *pcck_buf; - struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc; u8 *prxpkt; - u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg; + u8 i, max_spatial_stream, tmp_rxevm; char rx_pwr[4], rx_pwr_all = 0; - char rx_snrX, rx_evmX; + char rx_evmX; u8 evm, pwdb_all; u32 RSSI, total_rssi = 0; u8 is_cck_rate = 0; @@ -1480,8 +1479,6 @@ static void rtl8192_query_rxphystatus( static u8 check_reg824; static u32 reg824_bit9; - priv->stats.numqry_phystatus++; - is_cck_rate = rx_hal_is_cck_rate(pdrvinfo); memset(precord_stats, 0, sizeof(struct rtllib_rx_stats)); pstats->bPacketMatchBSSID = precord_stats->bPacketMatchBSSID = @@ -1512,7 +1509,6 @@ static void rtl8192_query_rxphystatus( if (is_cck_rate) { u8 report; - priv->stats.numqry_phystatusCCK++; if (!reg824_bit9) { report = pcck_buf->cck_agc_rpt & 0xc0; report = report>>6; @@ -1587,7 +1583,6 @@ static void rtl8192_query_rxphystatus( precord_stats->RxMIMOSignalQuality[1] = -1; } } else { - priv->stats.numqry_phystatusHT++; for (i = RF90_PATH_A; i < RF90_PATH_MAX; i++) { if (priv->brfpath_rxenable[i]) rf_rx_num++; @@ -1595,11 +1590,6 @@ static void rtl8192_query_rxphystatus( rx_pwr[i] = ((pofdm_buf->trsw_gain_X[i] & 0x3F) * 2) - 110; - tmp_rxsnr = pofdm_buf->rxsnr_X[i]; - rx_snrX = (char)(tmp_rxsnr); - rx_snrX /= 2; - priv->stats.rxSNRdB[i] = (long)rx_snrX; - RSSI = rtl819x_query_rxpwrpercentage(rx_pwr[i]); if (priv->brfpath_rxenable[i]) total_rssi += RSSI; @@ -1644,15 +1634,6 @@ static void rtl8192_query_rxphystatus( & 0xff); } } - - - rxsc_sgien_exflg = pofdm_buf->rxsc_sgien_exflg; - prxsc = (struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *) - &rxsc_sgien_exflg; - if (pdrvinfo->BW) - priv->stats.received_bwtype[1+prxsc->rxsc]++; - else - priv->stats.received_bwtype[0]++; } if (is_cck_rate) { @@ -1673,8 +1654,8 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, struct rtllib_rx_stats *curr_st) { bool bcheck = false; - u8 rfpath; - u32 ij, tmp_val; + u8 rfpath; + u32 tmp_val; static u32 slide_rssi_index, slide_rssi_statistics; static u32 slide_evm_index, slide_evm_statistics; static u32 last_rssi, last_evm; @@ -1719,7 +1700,6 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, rtl819x_process_cck_rxpathsel(priv, prev_st); - priv->stats.num_process_phyinfo++; if (!prev_st->bIsCCK && prev_st->bPacketToSelf) { for (rfpath = RF90_PATH_A; rfpath < RF90_PATH_C; rfpath++) { if (!rtl8192_phy_CheckIsLegalRFPath(priv->rtllib->dev, @@ -1817,28 +1797,6 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, prev_st->SignalQuality; if (slide_evm_index >= PHY_RSSI_SLID_WIN_MAX) slide_evm_index = 0; - - tmp_val = priv->stats.slide_evm_total / - slide_evm_statistics; - priv->stats.signal_quality = tmp_val; - priv->stats.last_signal_strength_inpercent = tmp_val; - } - - if (prev_st->bPacketToSelf || - prev_st->bPacketBeacon || - prev_st->bToSelfBA) { - for (ij = 0; ij < 2; ij++) { - if (prev_st->RxMIMOSignalQuality[ij] != -1) { - if (priv->stats.rx_evm_percentage[ij] == 0) - priv->stats.rx_evm_percentage[ij] = - prev_st->RxMIMOSignalQuality[ij]; - priv->stats.rx_evm_percentage[ij] = - ((priv->stats.rx_evm_percentage[ij] * - (RX_SMOOTH - 1)) + - (prev_st->RxMIMOSignalQuality[ij])) / - (RX_SMOOTH); - } - } } } } @@ -1877,10 +1835,6 @@ static void rtl8192_TranslateRxSignalStuff(struct net_device *dev, priv->rtllib->dev->dev_addr)); if (WLAN_FC_GET_FRAMETYPE(fc) == RTLLIB_STYPE_BEACON) bPacketBeacon = true; - if (bpacket_match_bssid) - priv->stats.numpacket_matchbssid++; - if (bpacket_toself) - priv->stats.numpacket_toself++; rtl8192_process_phyinfo(priv, tmp_buf, &previous_stats, pstats); rtl8192_query_rxphystatus(priv, pstats, pdesc, pdrvinfo, &previous_stats, bpacket_match_bssid, @@ -1996,7 +1950,6 @@ static void rtl8192_UpdateReceivedRateHistogramStatistics( rateIndex = 28; break; } - priv->stats.received_preamble_GI[preamble_guardinterval][rateIndex]++; priv->stats.received_rate_histogram[0][rateIndex]++; priv->stats.received_rate_histogram[rcvType][rateIndex]++; } @@ -2006,8 +1959,6 @@ bool rtl8192_rx_query_status_desc(struct net_device *dev, struct rx_desc *pdesc, struct sk_buff *skb) { - struct r8192_priv *priv = rtllib_priv(dev); - stats->bICV = pdesc->ICV; stats->bCRC = pdesc->CRC32; stats->bHwError = pdesc->CRC32 | pdesc->ICV; @@ -2016,19 +1967,9 @@ bool rtl8192_rx_query_status_desc(struct net_device *dev, if (stats->Length < 24) stats->bHwError |= 1; - if (stats->bHwError) { - stats->bShift = false; - - if (pdesc->CRC32) { - if (pdesc->Length < 500) - priv->stats.rxcrcerrmin++; - else if (pdesc->Length > 1000) - priv->stats.rxcrcerrmax++; - else - priv->stats.rxcrcerrmid++; - } + if (stats->bHwError) return false; - } else { + else { struct rx_fwinfo *pDrvInfo = NULL; stats->RxDrvInfoSize = pdesc->RxDrvInfoSize; stats->RxBufShift = ((pdesc->Shift)&0x03); @@ -2051,11 +1992,6 @@ bool rtl8192_rx_query_status_desc(struct net_device *dev, rtl819x_UpdateRxPktTimeStamp(dev, stats); - if ((stats->RxBufShift + stats->RxDrvInfoSize) > 0) - stats->bShift = 1; - - stats->RxIs40MHzPacket = pDrvInfo->BW; - rtl8192_TranslateRxSignalStuff(dev, skb, stats, pdesc, pDrvInfo); @@ -2391,10 +2327,3 @@ u8 rtl8192_QueryIsShort(u8 TxHT, u8 TxRate, struct cb_desc *tcb_desc) return tmp_Short; } - -void ActUpdateChannelAccessSetting(struct net_device *dev, - enum wireless_mode WirelessMode, - struct channel_access_setting *ChnlAccessSetting) -{ - return; -} diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 2b6c61c..8987c2f 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -920,9 +920,6 @@ void rtl8192_SetWirelessMode(struct net_device *dev, u8 wireless_mode) priv->rtllib->mode = wireless_mode; - ActUpdateChannelAccessSetting(dev, wireless_mode, - &priv->ChannelAccessSetting); - if ((wireless_mode == WIRELESS_MODE_N_24G) || (wireless_mode == WIRELESS_MODE_N_5G)) { priv->rtllib->pHTInfo->bEnableHT = 1; @@ -2001,7 +1998,6 @@ short rtl8192_tx(struct net_device *dev, struct sk_buff *skb) struct tx_desc *pdesc = NULL; struct rtllib_hdr_1addr *header = NULL; u16 fc = 0, type = 0, stype = 0; - bool multi_addr = false, broad_addr = false, uni_addr = false; u8 *pda_addr = NULL; int idx; u32 fwinfo_size = 0; @@ -2023,19 +2019,9 @@ short rtl8192_tx(struct net_device *dev, struct sk_buff *skb) stype = WLAN_FC_GET_STYPE(fc); pda_addr = header->addr1; - if (is_broadcast_ether_addr(pda_addr)) - broad_addr = true; - else if (is_multicast_ether_addr(pda_addr)) - multi_addr = true; - else - uni_addr = true; - - if (uni_addr) + if (!is_broadcast_ether_addr(pda_addr) && + !is_multicast_ether_addr(pda_addr)) priv->stats.txbytesunicast += skb->len - fwinfo_size; - else if (multi_addr) - priv->stats.txbytesmulticast += skb->len - fwinfo_size; - else - priv->stats.txbytesbroadcast += skb->len - fwinfo_size; spin_lock_irqsave(&priv->irq_th_lock, flags); ring = &priv->tx_ring[tcb_desc->queue_index]; @@ -2374,19 +2360,11 @@ static void rtl8192_rx_normal(struct net_device *dev) priv->rtllib->LedControlHandler(dev, LED_CTL_RX); - if (stats.bCRC) { - if (type != RTLLIB_FTYPE_MGMT) - priv->stats.rxdatacrcerr++; - else - priv->stats.rxmgmtcrcerr++; - } - skb_len = skb->len; if (!rtllib_rx(priv->rtllib, skb, &stats)) { dev_kfree_skb_any(skb); } else { - priv->stats.rxok++; if (unicast_packet) priv->stats.rxbytesunicast += skb_len; } @@ -2719,7 +2697,6 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) spin_lock_irqsave(&priv->irq_th_lock, flags); priv->ops->interrupt_recognized(dev, &inta, &intb); - priv->stats.shints++; if (!inta) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); @@ -2731,29 +2708,12 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) goto done; } - priv->stats.ints++; - if (!netif_running(dev)) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); goto done; } - if (inta & IMR_TBDOK) { - RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); - priv->stats.txbeaconokint++; - } - - if (inta & IMR_TBDER) { - RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); - priv->stats.txbeaconerr++; - } - - if (inta & IMR_BDOK) - RT_TRACE(COMP_INTR, "beacon interrupt!\n"); - if (inta & IMR_MGNTDOK) { - RT_TRACE(COMP_INTR, "Manage ok interrupt!\n"); - priv->stats.txmanageokint++; rtl8192_tx_isr(dev, MGNT_QUEUE); spin_unlock_irqrestore(&priv->irq_th_lock, flags); if (priv->rtllib->ack_tx_to_ieee) { @@ -2765,66 +2725,45 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) spin_lock_irqsave(&priv->irq_th_lock, flags); } - if (inta & IMR_COMDOK) { - priv->stats.txcmdpktokint++; + if (inta & IMR_COMDOK) rtl8192_tx_isr(dev, TXCMD_QUEUE); - } if (inta & IMR_HIGHDOK) rtl8192_tx_isr(dev, HIGH_QUEUE); if (inta & IMR_ROK) { - priv->stats.rxint++; priv->InterruptLog.nIMR_ROK++; tasklet_schedule(&priv->irq_rx_tasklet); } - if (inta & IMR_BcnInt) { - RT_TRACE(COMP_INTR, "prepare beacon for interrupt!\n"); + if (inta & IMR_BcnInt) tasklet_schedule(&priv->irq_prepare_beacon_tasklet); - } if (inta & IMR_RDU) { - RT_TRACE(COMP_INTR, "rx descriptor unavailable!\n"); - priv->stats.rxrdu++; write_nic_dword(dev, INTA_MASK, read_nic_dword(dev, INTA_MASK) & ~IMR_RDU); tasklet_schedule(&priv->irq_rx_tasklet); } - if (inta & IMR_RXFOVW) { - RT_TRACE(COMP_INTR, "rx overflow !\n"); - priv->stats.rxoverflow++; + if (inta & IMR_RXFOVW) tasklet_schedule(&priv->irq_rx_tasklet); - } - - if (inta & IMR_TXFOVW) - priv->stats.txoverflow++; if (inta & IMR_BKDOK) { - RT_TRACE(COMP_INTR, "BK Tx OK interrupt!\n"); - priv->stats.txbkokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, BK_QUEUE); } if (inta & IMR_BEDOK) { - RT_TRACE(COMP_INTR, "BE TX OK interrupt!\n"); - priv->stats.txbeokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, BE_QUEUE); } if (inta & IMR_VIDOK) { - RT_TRACE(COMP_INTR, "VI TX OK interrupt!\n"); - priv->stats.txviokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, VI_QUEUE); } if (inta & IMR_VODOK) { - priv->stats.txvookint++; - RT_TRACE(COMP_INTR, "Vo TX OK interrupt!\n"); priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, VO_QUEUE); } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 87d4d34..f5e8274 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -324,140 +324,19 @@ struct buffer { }; -struct rtl_reg_debug { - unsigned int cmd; - struct { - unsigned char type; - unsigned char addr; - unsigned char page; - unsigned char length; - } head; - unsigned char buf[0xff]; -}; - -struct rt_tx_rahis { - u32 cck[4]; - u32 ofdm[8]; - u32 ht_mcs[4][16]; -}; - -struct rt_smooth_data_4rf { - char elements[4][100]; - u32 index; - u32 TotalNum; - u32 TotalVal[4]; -}; - struct rt_stats { - unsigned long txrdu; - unsigned long rxrdu; - unsigned long rxok; - unsigned long rxframgment; - unsigned long rxurberr; - unsigned long rxstaterr; - unsigned long rxdatacrcerr; - unsigned long rxmgmtcrcerr; - unsigned long rxcrcerrmin; - unsigned long rxcrcerrmid; - unsigned long rxcrcerrmax; unsigned long received_rate_histogram[4][32]; - unsigned long received_preamble_GI[2][32]; - unsigned long rx_AMPDUsize_histogram[5]; - unsigned long rx_AMPDUnum_histogram[5]; - unsigned long numpacket_matchbssid; - unsigned long numpacket_toself; - unsigned long num_process_phyinfo; - unsigned long numqry_phystatus; - unsigned long numqry_phystatusCCK; - unsigned long numqry_phystatusHT; - unsigned long received_bwtype[5]; - unsigned long txnperr; - unsigned long txnpdrop; - unsigned long txresumed; - unsigned long rxoverflow; - unsigned long rxint; - unsigned long txnpokint; - unsigned long ints; - unsigned long shints; - unsigned long txoverflow; - unsigned long txlpokint; - unsigned long txlpdrop; - unsigned long txlperr; - unsigned long txbeokint; - unsigned long txbedrop; - unsigned long txbeerr; - unsigned long txbkokint; - unsigned long txbkdrop; - unsigned long txbkerr; - unsigned long txviokint; - unsigned long txvidrop; - unsigned long txvierr; - unsigned long txvookint; - unsigned long txvodrop; - unsigned long txvoerr; - unsigned long txbeaconokint; - unsigned long txbeacondrop; - unsigned long txbeaconerr; - unsigned long txmanageokint; - unsigned long txmanagedrop; - unsigned long txmanageerr; - unsigned long txcmdpktokint; - unsigned long txdatapkt; - unsigned long txfeedback; - unsigned long txfeedbackok; - unsigned long txoktotal; - unsigned long txokbytestotal; - unsigned long txokinperiod; - unsigned long txmulticast; - unsigned long txbytesmulticast; - unsigned long txbroadcast; - unsigned long txbytesbroadcast; - unsigned long txunicast; unsigned long txbytesunicast; unsigned long rxbytesunicast; - unsigned long txfeedbackfail; - unsigned long txerrtotal; - unsigned long txerrbytestotal; - unsigned long txerrmulticast; - unsigned long txerrbroadcast; - unsigned long txerrunicast; - unsigned long txretrycount; - unsigned long txfeedbackretry; - u8 last_packet_rate; unsigned long slide_signal_strength[100]; unsigned long slide_evm[100]; - unsigned long slide_rssi_total; + unsigned long slide_rssi_total; unsigned long slide_evm_total; long signal_strength; - long signal_quality; - long last_signal_strength_inpercent; - long recv_signal_power; + long recv_signal_power; u8 rx_rssi_percentage[4]; - u8 rx_evm_percentage[2]; - long rxSNRdB[4]; - struct rt_tx_rahis txrate; u32 Slide_Beacon_pwdb[100]; u32 Slide_Beacon_Total; - struct rt_smooth_data_4rf cck_adc_pwdb; - u32 CurrentShowTxate; -}; - -struct channel_access_setting { - u16 SIFS_Timer; - u16 DIFS_Timer; - u16 SlotTimeTimer; - u16 EIFS_Timer; - u16 CWminIndex; - u16 CWmaxIndex; -}; - -enum two_port_status { - TWO_PORT_STATUS__DEFAULT_ONLY, - TWO_PORT_STATUS__EXTENSION_ONLY, - TWO_PORT_STATUS__EXTENSION_FOLLOW_DEFAULT, - TWO_PORT_STATUS__DEFAULT_G_EXTENSION_N20, - TWO_PORT_STATUS__ADHOC, - TWO_PORT_STATUS__WITHOUT_ANY_ASSOCIATE }; struct txbbgain_struct { @@ -556,8 +435,6 @@ struct r8192_priv { struct workqueue_struct *priv_wq; - struct channel_access_setting ChannelAccessSetting; - struct mp_adapter NdisAdapter; struct rtl819x_ops *ops; @@ -860,7 +737,6 @@ struct r8192_priv { u8 DynamicTxHighPowerLvl; u8 LastDTPLvl; u32 CurrentRATR0; - struct false_alarm_stats FalseAlmCnt; u8 DMFlag; u8 DM_Type; @@ -1081,8 +957,5 @@ bool MgntActSet_RF_State(struct net_device *dev, enum rt_rf_power_state StateToSet, RT_RF_CHANGE_SOURCE ChangeSource, bool ProtectOrNot); -void ActUpdateChannelAccessSetting(struct net_device *dev, - enum wireless_mode WirelessMode, - struct channel_access_setting *ChnlAccessSetting); #endif diff --git a/drivers/staging/rtl8192e/rtl819x_HT.h b/drivers/staging/rtl8192e/rtl819x_HT.h index 13f4105..c091d71 100644 --- a/drivers/staging/rtl8192e/rtl819x_HT.h +++ b/drivers/staging/rtl8192e/rtl819x_HT.h @@ -297,43 +297,6 @@ struct rt_hi_throughput { u8 bAcceptAddbaReq; } __packed; - - -struct rt_htinfo_sta_entry { - u8 bEnableHT; - - u8 bSupportCck; - - u16 AMSDU_MaxSize; - - u8 AMPDU_Factor; - u8 MPDU_Density; - - u8 HTHighestOperaRate; - - u8 bBw40MHz; - - u8 bCurTxBW40MHz; - - u8 bCurShortGI20MHz; - - u8 bCurShortGI40MHz; - - u8 MimoPs; - - u8 McsRateSet[16]; - - u8 bCurRxReorderEnable; - - u16 nAMSDU_MaxSize; - -}; - - - - - - struct bss_ht { u8 bdSupportHT; @@ -352,31 +315,6 @@ struct bss_ht { u8 bdHT1R; }; -struct mimo_rssi { - u32 EnableAntenna; - u32 AntennaA; - u32 AntennaB; - u32 AntennaC; - u32 AntennaD; - u32 Average; -}; - -struct mimo_evm { - u32 EVM1; - u32 EVM2; -}; - -struct false_alarm_stats { - u32 Cnt_Parity_Fail; - u32 Cnt_Rate_Illegal; - u32 Cnt_Crc8_fail; - u32 Cnt_Mcs_fail; - u32 Cnt_Ofdm_fail; - u32 Cnt_Cck_fail; - u32 Cnt_all; -}; - - extern u8 MCS_FILTER_ALL[16]; extern u8 MCS_FILTER_1SS[16]; diff --git a/drivers/staging/rtl8192e/rtllib.h b/drivers/staging/rtl8192e/rtllib.h index 3485ef1..e07d573 100644 --- a/drivers/staging/rtl8192e/rtllib.h +++ b/drivers/staging/rtl8192e/rtllib.h @@ -990,7 +990,6 @@ struct rtllib_rx_stats { u8 AGC; u32 TimeStampLow; u32 TimeStampHigh; - bool bShift; bool bIsQosData; u8 UserPriority; @@ -999,7 +998,6 @@ struct rtllib_rx_stats { bool bIsAMPDU; bool bFirstMPDU; bool bContainHTC; - bool RxIs40MHzPacket; u32 RxPWDBAll; u8 RxMIMOSignalStrength[4]; s8 RxMIMOSignalQuality[2]; @@ -2321,7 +2319,6 @@ struct rtllib_device { u32 sta_edca_param[4]; bool aggregation; bool enable_rx_imm_BA; - bool bibsscoordinator; bool bdynamic_txpower_enable; _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel