Commit 558becf1 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: desc.h remove typedef tagSTxDataHead_ab to new structure in rxtx.h

To new structure.
typedef struct tagSTxDataHead_ab -> struct vnt_tx_datahead_ab

This is only needed by rxtc.c so moved to rxtx.h visible to
vnt_rts* structures which it will eventually form part of
their structure.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7c05c545
...@@ -166,16 +166,6 @@ typedef const STxShortBufHead *PCSTxShortBufHead; ...@@ -166,16 +166,6 @@ typedef const STxShortBufHead *PCSTxShortBufHead;
/* /*
* TX data header * TX data header
*/ */
typedef struct tagSTxDataHead_ab {
u8 bySignalField;
u8 byServiceField;
u16 wTransmitLength;
u16 wDuration;
u16 wTimeStampOff;
} __attribute__ ((__packed__))
STxDataHead_ab, *PSTxDataHead_ab;
typedef const STxDataHead_ab *PCSTxDataHead_ab;
typedef struct tagSTxDataHead_a_FB { typedef struct tagSTxDataHead_a_FB {
u8 bySignalField; u8 bySignalField;
u8 byServiceField; u8 byServiceField;
......
...@@ -500,7 +500,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice, ...@@ -500,7 +500,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice,
if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) { if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
if ((uDMAIdx == TYPE_ATIMDMA) || (uDMAIdx == TYPE_BEACONDMA)) { if ((uDMAIdx == TYPE_ATIMDMA) || (uDMAIdx == TYPE_BEACONDMA)) {
PSTxDataHead_ab pBuf = (PSTxDataHead_ab) pTxDataHead; struct vnt_tx_datahead_ab *pBuf =
(struct vnt_tx_datahead_ab *)pTxDataHead;
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType, BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType,
(u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField) (u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField)
...@@ -579,7 +580,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice, ...@@ -579,7 +580,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice,
} }
return (pBuf->wDuration); return (pBuf->wDuration);
} else { } else {
PSTxDataHead_ab pBuf = (PSTxDataHead_ab)pTxDataHead; struct vnt_tx_datahead_ab *pBuf =
(struct vnt_tx_datahead_ab *)pTxDataHead;
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType, BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType,
(u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField) (u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField)
...@@ -595,7 +597,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice, ...@@ -595,7 +597,8 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice,
} }
} }
else if (byPktType == PK_TYPE_11B) { else if (byPktType == PK_TYPE_11B) {
PSTxDataHead_ab pBuf = (PSTxDataHead_ab)pTxDataHead; struct vnt_tx_datahead_ab *pBuf =
(struct vnt_tx_datahead_ab *)pTxDataHead;
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType, BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType,
(u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField) (u16 *)&(pBuf->wTransmitLength), (u8 *)&(pBuf->byServiceField), (u8 *)&(pBuf->bySignalField)
...@@ -1230,12 +1233,12 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType, ...@@ -1230,12 +1233,12 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
pvRTS = (struct vnt_rts_ab *) (pbyTxBufferAddr + wTxBufSize + pvRTS = (struct vnt_rts_ab *) (pbyTxBufferAddr + wTxBufSize +
sizeof(struct vnt_rrv_time_ab) + cbMICHDR); sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
pvCTS = NULL; pvCTS = NULL;
pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
sizeof(struct vnt_rrv_time_ab) + cbMICHDR + wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR +
sizeof(struct vnt_rts_ab)); sizeof(struct vnt_rts_ab));
cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
cbMICHDR + sizeof(struct vnt_rts_ab) + cbMICHDR + sizeof(struct vnt_rts_ab) +
sizeof(STxDataHead_ab); sizeof(struct vnt_tx_datahead_ab);
} }
else if (bRTS == false) { //RTS_needless, no MICHDR else if (bRTS == false) { //RTS_needless, no MICHDR
pvRrvTime = (struct vnt_rrv_time_ab *)(pbyTxBufferAddr + pvRrvTime = (struct vnt_rrv_time_ab *)(pbyTxBufferAddr +
...@@ -1244,10 +1247,10 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType, ...@@ -1244,10 +1247,10 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
sizeof(struct vnt_rrv_time_ab)); sizeof(struct vnt_rrv_time_ab));
pvRTS = NULL; pvRTS = NULL;
pvCTS = NULL; pvCTS = NULL;
pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
sizeof(struct vnt_rrv_time_ab) + cbMICHDR); wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
cbMICHDR + sizeof(STxDataHead_ab); cbMICHDR + sizeof(struct vnt_tx_datahead_ab);
} }
} else { } else {
// Auto Fall Back // Auto Fall Back
...@@ -1700,10 +1703,10 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, ...@@ -1700,10 +1703,10 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
pMICHDR = NULL; pMICHDR = NULL;
pvRTS = NULL; pvRTS = NULL;
pCTS = NULL; pCTS = NULL;
pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (struct vnt_tx_datahead_ab *) (pbyTxBufferAddr +
sizeof(struct vnt_rrv_time_ab)); wTxBufSize + sizeof(struct vnt_rrv_time_ab));
cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
sizeof(STxDataHead_ab); sizeof(struct vnt_tx_datahead_ab);
} }
memcpy(&(sEthHeader.h_dest[0]), memcpy(&(sEthHeader.h_dest[0]),
...@@ -1792,7 +1795,8 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, ...@@ -1792,7 +1795,8 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b = ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b =
cpu_to_le16(pPacket->p80211Header->sA2.wDurationID); cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
} else { } else {
((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_ab *)pvTxDataHd)->wDuration =
cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
} }
} }
...@@ -1824,7 +1828,7 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, ...@@ -1824,7 +1828,7 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
u16 wTxBufSize = sizeof(STxShortBufHead); u16 wTxBufSize = sizeof(STxShortBufHead);
PSTxShortBufHead pTxBufHead; PSTxShortBufHead pTxBufHead;
struct ieee80211_hdr *pMACHeader; struct ieee80211_hdr *pMACHeader;
PSTxDataHead_ab pTxDataHead; struct vnt_tx_datahead_ab *pTxDataHead;
u16 wCurrentRate; u16 wCurrentRate;
u32 cbFrameBodySize; u32 cbFrameBodySize;
u32 cbReqCount; u32 cbReqCount;
...@@ -1849,7 +1853,8 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, ...@@ -1849,7 +1853,8 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
if (pDevice->byBBType == BB_TYPE_11A) { if (pDevice->byBBType == BB_TYPE_11A) {
wCurrentRate = RATE_6M; wCurrentRate = RATE_6M;
pTxDataHead = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize); pTxDataHead = (struct vnt_tx_datahead_ab *)
(pbyTxBufferAddr + wTxBufSize);
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
BBvCalculateParameter(pDevice, cbFrameSize, wCurrentRate, PK_TYPE_11A, BBvCalculateParameter(pDevice, cbFrameSize, wCurrentRate, PK_TYPE_11A,
(u16 *)&(pTxDataHead->wTransmitLength), (u8 *)&(pTxDataHead->byServiceField), (u8 *)&(pTxDataHead->bySignalField) (u16 *)&(pTxDataHead->wTransmitLength), (u8 *)&(pTxDataHead->byServiceField), (u8 *)&(pTxDataHead->bySignalField)
...@@ -1858,11 +1863,12 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, ...@@ -1858,11 +1863,12 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
pTxDataHead->wDuration = cpu_to_le16((u16)s_uGetDataDuration(pDevice, pTxDataHead->wDuration = cpu_to_le16((u16)s_uGetDataDuration(pDevice,
DATADUR_A, PK_TYPE_11A, false)); DATADUR_A, PK_TYPE_11A, false));
pTxDataHead->wTimeStampOff = wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE]; pTxDataHead->wTimeStampOff = wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE];
cbHeaderSize = wTxBufSize + sizeof(STxDataHead_ab); cbHeaderSize = wTxBufSize + sizeof(struct vnt_tx_datahead_ab);
} else { } else {
wCurrentRate = RATE_1M; wCurrentRate = RATE_1M;
pTxBufHead->wFIFOCtl |= FIFOCTL_11B; pTxBufHead->wFIFOCtl |= FIFOCTL_11B;
pTxDataHead = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize); pTxDataHead = (struct vnt_tx_datahead_ab *)
(pbyTxBufferAddr + wTxBufSize);
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
BBvCalculateParameter(pDevice, cbFrameSize, wCurrentRate, PK_TYPE_11B, BBvCalculateParameter(pDevice, cbFrameSize, wCurrentRate, PK_TYPE_11B,
(u16 *)&(pTxDataHead->wTransmitLength), (u8 *)&(pTxDataHead->byServiceField), (u8 *)&(pTxDataHead->bySignalField) (u16 *)&(pTxDataHead->wTransmitLength), (u8 *)&(pTxDataHead->byServiceField), (u8 *)&(pTxDataHead->bySignalField)
...@@ -1871,7 +1877,7 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, ...@@ -1871,7 +1877,7 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
pTxDataHead->wDuration = cpu_to_le16((u16)s_uGetDataDuration(pDevice, pTxDataHead->wDuration = cpu_to_le16((u16)s_uGetDataDuration(pDevice,
DATADUR_B, PK_TYPE_11B, false)); DATADUR_B, PK_TYPE_11B, false));
pTxDataHead->wTimeStampOff = wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE]; pTxDataHead->wTimeStampOff = wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE];
cbHeaderSize = wTxBufSize + sizeof(STxDataHead_ab); cbHeaderSize = wTxBufSize + sizeof(struct vnt_tx_datahead_ab);
} }
//Generate Beacon Header //Generate Beacon Header
...@@ -2111,10 +2117,10 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb) ...@@ -2111,10 +2117,10 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
sizeof(struct vnt_rrv_time_ab)); sizeof(struct vnt_rrv_time_ab));
pvRTS = NULL; pvRTS = NULL;
pvCTS = NULL; pvCTS = NULL;
pvTxDataHd = (PSTxDataHead_ab) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
sizeof(struct vnt_rrv_time_ab) + cbMICHDR); wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR + cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR +
sizeof(STxDataHead_ab); sizeof(struct vnt_tx_datahead_ab);
} }
memcpy(&(sEthHeader.h_dest[0]), memcpy(&(sEthHeader.h_dest[0]),
&(p80211Header->sA3.abyAddr1[0]), &(p80211Header->sA3.abyAddr1[0]),
...@@ -2248,7 +2254,8 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb) ...@@ -2248,7 +2254,8 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b = ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b =
cpu_to_le16(p80211Header->sA2.wDurationID); cpu_to_le16(p80211Header->sA2.wDurationID);
} else { } else {
((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_ab *)pvTxDataHd)->wDuration =
cpu_to_le16(p80211Header->sA2.wDurationID);
} }
} }
......
...@@ -83,6 +83,14 @@ struct vnt_tx_datahead_g_fb { ...@@ -83,6 +83,14 @@ struct vnt_tx_datahead_g_fb {
u16 wTimeStampOff_a; u16 wTimeStampOff_a;
} __packed; } __packed;
struct vnt_tx_datahead_ab {
u8 bySignalField;
u8 byServiceField;
u16 wTransmitLength;
u16 wDuration;
u16 wTimeStampOff;
} __packed;
/* RTS buffer header */ /* RTS buffer header */
struct vnt_rts_g { struct vnt_rts_g {
u8 bySignalField_b; u8 bySignalField_b;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment