mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
staging: rtl8723au: Remove unused rtl8723a_update_txdesc() and child functions
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b81f3f26c5
commit
e2e0c12e49
@@ -1975,254 +1975,6 @@ static void rtl8723a_cal_txdesc_chksum(struct tx_desc *ptxdesc)
|
||||
ptxdesc->txdw7 |= cpu_to_le32(checksum & 0x0000ffff);
|
||||
}
|
||||
|
||||
static void fill_txdesc_sectype(struct pkt_attrib *pattrib,
|
||||
struct txdesc_8723a *ptxdesc)
|
||||
{
|
||||
if ((pattrib->encrypt > 0) && !pattrib->bswenc) {
|
||||
switch (pattrib->encrypt) {
|
||||
/* SEC_TYPE */
|
||||
case WLAN_CIPHER_SUITE_WEP40:
|
||||
case WLAN_CIPHER_SUITE_WEP104:
|
||||
case WLAN_CIPHER_SUITE_TKIP:
|
||||
ptxdesc->sectype = 1;
|
||||
break;
|
||||
|
||||
case WLAN_CIPHER_SUITE_CCMP:
|
||||
ptxdesc->sectype = 3;
|
||||
break;
|
||||
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void fill_txdesc_vcs(struct pkt_attrib *pattrib,
|
||||
struct txdesc_8723a *ptxdesc)
|
||||
{
|
||||
/* DBG_8723A("cvs_mode =%d\n", pattrib->vcs_mode); */
|
||||
|
||||
switch (pattrib->vcs_mode) {
|
||||
case RTS_CTS:
|
||||
ptxdesc->rtsen = 1;
|
||||
break;
|
||||
|
||||
case CTS_TO_SELF:
|
||||
ptxdesc->cts2self = 1;
|
||||
break;
|
||||
|
||||
case NONE_VCS:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (pattrib->vcs_mode) {
|
||||
ptxdesc->hw_rts_en = 1; /* ENABLE HW RTS */
|
||||
|
||||
/* Set RTS BW */
|
||||
if (pattrib->ht_en) {
|
||||
if (pattrib->bwmode & HT_CHANNEL_WIDTH_40)
|
||||
ptxdesc->rts_bw = 1;
|
||||
|
||||
switch (pattrib->ch_offset) {
|
||||
case HAL_PRIME_CHNL_OFFSET_DONT_CARE:
|
||||
ptxdesc->rts_sc = 0;
|
||||
break;
|
||||
|
||||
case HAL_PRIME_CHNL_OFFSET_LOWER:
|
||||
ptxdesc->rts_sc = 1;
|
||||
break;
|
||||
|
||||
case HAL_PRIME_CHNL_OFFSET_UPPER:
|
||||
ptxdesc->rts_sc = 2;
|
||||
break;
|
||||
|
||||
default:
|
||||
ptxdesc->rts_sc = 3; /* Duplicate */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void fill_txdesc_phy(struct pkt_attrib *pattrib,
|
||||
struct txdesc_8723a *ptxdesc)
|
||||
{
|
||||
if (pattrib->ht_en) {
|
||||
if (pattrib->bwmode & HT_CHANNEL_WIDTH_40)
|
||||
ptxdesc->data_bw = 1;
|
||||
|
||||
switch (pattrib->ch_offset) {
|
||||
case HAL_PRIME_CHNL_OFFSET_DONT_CARE:
|
||||
ptxdesc->data_sc = 0;
|
||||
break;
|
||||
|
||||
case HAL_PRIME_CHNL_OFFSET_LOWER:
|
||||
ptxdesc->data_sc = 1;
|
||||
break;
|
||||
|
||||
case HAL_PRIME_CHNL_OFFSET_UPPER:
|
||||
ptxdesc->data_sc = 2;
|
||||
break;
|
||||
|
||||
default:
|
||||
ptxdesc->data_sc = 3; /* Duplicate */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void rtl8723a_fill_default_txdesc(struct xmit_frame *pxmitframe,
|
||||
u8 *pbuf)
|
||||
{
|
||||
struct rtw_adapter *padapter;
|
||||
struct hal_data_8723a *pHalData;
|
||||
struct dm_priv *pdmpriv;
|
||||
struct mlme_ext_priv *pmlmeext;
|
||||
struct mlme_ext_info *pmlmeinfo;
|
||||
struct pkt_attrib *pattrib;
|
||||
struct txdesc_8723a *ptxdesc;
|
||||
s32 bmcst;
|
||||
|
||||
padapter = pxmitframe->padapter;
|
||||
pHalData = GET_HAL_DATA(padapter);
|
||||
pdmpriv = &pHalData->dmpriv;
|
||||
pmlmeext = &padapter->mlmeextpriv;
|
||||
pmlmeinfo = &pmlmeext->mlmext_info;
|
||||
|
||||
pattrib = &pxmitframe->attrib;
|
||||
bmcst = is_multicast_ether_addr(pattrib->ra);
|
||||
|
||||
ptxdesc = (struct txdesc_8723a *)pbuf;
|
||||
|
||||
if (pxmitframe->frame_tag == DATA_FRAMETAG) {
|
||||
ptxdesc->macid = pattrib->mac_id; /* CAM_ID(MAC_ID) */
|
||||
|
||||
if (pattrib->ampdu_en == true)
|
||||
ptxdesc->agg_en = 1; /* AGG EN */
|
||||
else
|
||||
ptxdesc->bk = 1; /* AGG BK */
|
||||
|
||||
ptxdesc->qsel = pattrib->qsel;
|
||||
ptxdesc->rate_id = pattrib->raid;
|
||||
|
||||
fill_txdesc_sectype(pattrib, ptxdesc);
|
||||
|
||||
ptxdesc->seq = pattrib->seqnum;
|
||||
|
||||
if ((pattrib->ether_type != 0x888e) &&
|
||||
(pattrib->ether_type != 0x0806) &&
|
||||
(pattrib->dhcp_pkt != 1)) {
|
||||
/* Non EAP & ARP & DHCP type data packet */
|
||||
|
||||
fill_txdesc_vcs(pattrib, ptxdesc);
|
||||
fill_txdesc_phy(pattrib, ptxdesc);
|
||||
|
||||
ptxdesc->rtsrate = 8; /* RTS Rate = 24M */
|
||||
ptxdesc->data_ratefb_lmt = 0x1F;
|
||||
ptxdesc->rts_ratefb_lmt = 0xF;
|
||||
|
||||
/* use REG_INIDATA_RATE_SEL value */
|
||||
ptxdesc->datarate =
|
||||
pdmpriv->INIDATA_RATE[pattrib->mac_id];
|
||||
|
||||
} else {
|
||||
/* EAP data packet and ARP packet. */
|
||||
/* Use the 1M data rate to send the EAP/ARP packet. */
|
||||
/* This will maybe make the handshake smooth. */
|
||||
|
||||
ptxdesc->bk = 1; /* AGG BK */
|
||||
ptxdesc->userate = 1; /* driver uses rate */
|
||||
if (pmlmeinfo->preamble_mode == PREAMBLE_SHORT)
|
||||
ptxdesc->data_short = 1;
|
||||
ptxdesc->datarate = MRateToHwRate23a(pmlmeext->tx_rate);
|
||||
}
|
||||
} else if (pxmitframe->frame_tag == MGNT_FRAMETAG) {
|
||||
/* RT_TRACE(_module_hal_xmit_c_, _drv_notice_,
|
||||
("%s: MGNT_FRAMETAG\n", __func__)); */
|
||||
|
||||
ptxdesc->macid = pattrib->mac_id; /* CAM_ID(MAC_ID) */
|
||||
ptxdesc->qsel = pattrib->qsel;
|
||||
ptxdesc->rate_id = pattrib->raid; /* Rate ID */
|
||||
ptxdesc->seq = pattrib->seqnum;
|
||||
ptxdesc->userate = 1; /* driver uses rate, 1M */
|
||||
ptxdesc->rty_lmt_en = 1; /* retry limit enable */
|
||||
ptxdesc->data_rt_lmt = 6; /* retry limit = 6 */
|
||||
|
||||
/* CCX-TXRPT ack for xmit mgmt frames. */
|
||||
if (pxmitframe->ack_report)
|
||||
ptxdesc->ccx = 1;
|
||||
|
||||
ptxdesc->datarate = MRateToHwRate23a(pmlmeext->tx_rate);
|
||||
} else if (pxmitframe->frame_tag == TXAGG_FRAMETAG) {
|
||||
RT_TRACE(_module_hal_xmit_c_, _drv_warning_,
|
||||
("%s: TXAGG_FRAMETAG\n", __func__));
|
||||
} else {
|
||||
RT_TRACE(_module_hal_xmit_c_, _drv_warning_,
|
||||
("%s: frame_tag = 0x%x\n", __func__,
|
||||
pxmitframe->frame_tag));
|
||||
|
||||
ptxdesc->macid = 4; /* CAM_ID(MAC_ID) */
|
||||
ptxdesc->rate_id = 6; /* Rate ID */
|
||||
ptxdesc->seq = pattrib->seqnum;
|
||||
ptxdesc->userate = 1; /* driver uses rate */
|
||||
ptxdesc->datarate = MRateToHwRate23a(pmlmeext->tx_rate);
|
||||
}
|
||||
|
||||
ptxdesc->pktlen = pattrib->last_txcmdsz;
|
||||
ptxdesc->offset = TXDESC_SIZE + OFFSET_SZ;
|
||||
if (bmcst)
|
||||
ptxdesc->bmc = 1;
|
||||
ptxdesc->ls = 1;
|
||||
ptxdesc->fs = 1;
|
||||
ptxdesc->own = 1;
|
||||
|
||||
/* 2009.11.05. tynli_test. Suggested by SD4 Filen for FW LPS. */
|
||||
/* (1) The sequence number of each non-Qos frame / broadcast /
|
||||
* multicast / mgnt frame should be controled by Hw because Fw
|
||||
* will also send null data which we cannot control when Fw LPS enable.
|
||||
* --> default enable non-Qos data sequense number.
|
||||
2010.06.23. by tynli. */
|
||||
/* (2) Enable HW SEQ control for beacon packet,
|
||||
* because we use Hw beacon. */
|
||||
/* (3) Use HW Qos SEQ to control the seq num of Ext port
|
||||
* non-Qos packets. */
|
||||
/* 2010.06.23. Added by tynli. */
|
||||
if (!pattrib->qos_en) {
|
||||
/* Hw set sequence number */
|
||||
ptxdesc->hwseq_en = 1; /* HWSEQ_EN */
|
||||
ptxdesc->hwseq_sel = 0; /* HWSEQ_SEL */
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Description:
|
||||
*
|
||||
* Parameters:
|
||||
* pxmitframe xmitframe
|
||||
* pbuf where to fill tx desc
|
||||
*/
|
||||
void rtl8723a_update_txdesc(struct xmit_frame *pxmitframe, u8 *pbuf)
|
||||
{
|
||||
struct tx_desc *pdesc;
|
||||
|
||||
pdesc = (struct tx_desc *)pbuf;
|
||||
memset(pdesc, 0, sizeof(struct tx_desc));
|
||||
|
||||
rtl8723a_fill_default_txdesc(pxmitframe, pbuf);
|
||||
|
||||
pdesc->txdw0 = cpu_to_le32(pdesc->txdw0);
|
||||
pdesc->txdw1 = cpu_to_le32(pdesc->txdw1);
|
||||
pdesc->txdw2 = cpu_to_le32(pdesc->txdw2);
|
||||
pdesc->txdw3 = cpu_to_le32(pdesc->txdw3);
|
||||
pdesc->txdw4 = cpu_to_le32(pdesc->txdw4);
|
||||
pdesc->txdw5 = cpu_to_le32(pdesc->txdw5);
|
||||
pdesc->txdw6 = cpu_to_le32(pdesc->txdw6);
|
||||
pdesc->txdw7 = cpu_to_le32(pdesc->txdw7);
|
||||
rtl8723a_cal_txdesc_chksum(pdesc);
|
||||
}
|
||||
|
||||
/*
|
||||
* Description: In normal chip, we should send some packet to Hw which
|
||||
* will be used by Fw in FW LPS mode. The function is to fill the Tx
|
||||
|
||||
@@ -212,7 +212,6 @@ struct txrpt_ccx_8723a {
|
||||
#define txrpt_ccx_qtime_8723a(txrpt_ccx) ((txrpt_ccx)->ccx_qtime0+((txrpt_ccx)->ccx_qtime1<<8))
|
||||
|
||||
void handle_txrpt_ccx_8723a(struct rtw_adapter *adapter, void *buf);
|
||||
void rtl8723a_update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem);
|
||||
void rtl8723a_fill_fake_txdesc(struct rtw_adapter *padapter, u8 *pDesc, u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull);
|
||||
|
||||
int rtl8723au_hal_xmitframe_enqueue(struct rtw_adapter *padapter, struct xmit_frame *pxmitframe);
|
||||
|
||||
Reference in New Issue
Block a user