staging: vt6655: card.c/h remove dead functions

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Malcolm Priestley 2014-10-29 17:55:35 +00:00 committed by Greg Kroah-Hartman
parent 86b5afa757
commit dd1c689cec
2 changed files with 0 additions and 799 deletions

View File

@ -34,8 +34,6 @@
* CARDvUpdateNextTBTT - Sync. NIC Beacon time
* CARDbRadioPowerOff - Turn Off NIC Radio Power
* CARDbRadioPowerOn - Turn On NIC Radio Power
* CARDbSetWEPMode - Set NIC Wep mode
* CARDbSetTxPower - Set NIC tx power
*
* Revision History:
* 06-10-2003 Bryan YC Fan: Re-write codes to support VT3253 spec.
@ -50,12 +48,7 @@
#include "mac.h"
#include "desc.h"
#include "rf.h"
#include "vntwifi.h"
#include "power.h"
#include "key.h"
#include "rc4.h"
#include "country.h"
#include "channel.h"
/*--------------------- Static Definitions -------------------------*/
@ -200,43 +193,6 @@ s_vCalculateOFDMRParameter(
/*--------------------- Export Functions --------------------------*/
/*
* Description: Get Card short preamble option value
*
* Parameters:
* In:
* pDevice - The adapter to be set
* Out:
* none
*
* Return Value: true if short preamble; otherwise false
*/
bool CARDbIsShortPreamble(struct vnt_private *pDevice)
{
if (pDevice->byPreambleType == 0)
return false;
return true;
}
/*
* Description: Get Card short slot time option value
*
* Parameters:
* In:
* pDevice - The adapter to be set
* Out:
* none
*
* Return Value: true if short slot time; otherwise false
*/
bool CARDbIsShorSlotTime(struct vnt_private *pDevice)
{
return pDevice->bShortSlotTime;
}
/*
* Description: Update IFS
*
@ -454,218 +410,6 @@ bool CARDbSetBeaconPeriod(struct vnt_private *pDevice,
return true;
}
/*
* Description: Card Stop Hardware Tx
*
* Parameters:
* In:
* pDeviceHandler - The adapter to be set
* ePktType - Packet type to stop
* Out:
* none
*
* Return Value: true if all data packet complete; otherwise false.
*/
bool CARDbStopTxPacket(struct vnt_private *pDevice, CARD_PKT_TYPE ePktType)
{
if (ePktType == PKT_TYPE_802_11_ALL) {
pDevice->bStopBeacon = true;
pDevice->bStopTx0Pkt = true;
pDevice->bStopDataPkt = true;
} else if (ePktType == PKT_TYPE_802_11_BCN) {
pDevice->bStopBeacon = true;
} else if (ePktType == PKT_TYPE_802_11_MNG) {
pDevice->bStopTx0Pkt = true;
} else if (ePktType == PKT_TYPE_802_11_DATA) {
pDevice->bStopDataPkt = true;
}
if (pDevice->bStopBeacon == true) {
if (pDevice->bIsBeaconBufReadySet == true) {
if (pDevice->cbBeaconBufReadySetCnt < WAIT_BEACON_TX_DOWN_TMO) {
pDevice->cbBeaconBufReadySetCnt++;
return false;
}
}
pDevice->bIsBeaconBufReadySet = false;
pDevice->cbBeaconBufReadySetCnt = 0;
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_TCR, TCR_AUTOBCNTX);
}
/* wait all TD0 complete */
if (pDevice->bStopTx0Pkt == true) {
if (pDevice->iTDUsed[TYPE_TXDMA0] != 0)
return false;
}
/* wait all Data TD complete */
if (pDevice->bStopDataPkt == true) {
if (pDevice->iTDUsed[TYPE_AC0DMA] != 0)
return false;
}
return true;
}
/*
* Description: Card Start Hardware Tx
*
* Parameters:
* In:
* pDeviceHandler - The adapter to be set
* ePktType - Packet type to start
* Out:
* none
*
* Return Value: true if success; false if failed.
*/
bool CARDbStartTxPacket(struct vnt_private *pDevice, CARD_PKT_TYPE ePktType)
{
if (ePktType == PKT_TYPE_802_11_ALL) {
pDevice->bStopBeacon = false;
pDevice->bStopTx0Pkt = false;
pDevice->bStopDataPkt = false;
} else if (ePktType == PKT_TYPE_802_11_BCN) {
pDevice->bStopBeacon = false;
} else if (ePktType == PKT_TYPE_802_11_MNG) {
pDevice->bStopTx0Pkt = false;
} else if (ePktType == PKT_TYPE_802_11_DATA) {
pDevice->bStopDataPkt = false;
}
if ((pDevice->bStopBeacon == false) &&
(pDevice->bBeaconBufReady == true) &&
(pDevice->op_mode == NL80211_IFTYPE_ADHOC)) {
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_TCR, TCR_AUTOBCNTX);
}
return true;
}
/*
* Description: Card Set BSSID value
*
* Parameters:
* In:
* pDeviceHandler - The adapter to be set
* pbyBSSID - pointer to BSSID field
* bAdhoc - flag to indicate IBSS
* Out:
* none
*
* Return Value: true if success; false if failed.
*/
bool CARDbSetBSSID(struct vnt_private *pDevice,
unsigned char *pbyBSSID, enum nl80211_iftype op_mode)
{
MACvWriteBSSIDAddress(pDevice->PortOffset, pbyBSSID);
memcpy(pDevice->abyBSSID, pbyBSSID, WLAN_BSSID_LEN);
if (op_mode == NL80211_IFTYPE_ADHOC)
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
else
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
if (op_mode == NL80211_IFTYPE_AP)
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_HOSTCR, HOSTCR_AP);
else
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_HOSTCR, HOSTCR_AP);
if (op_mode == NL80211_IFTYPE_UNSPECIFIED) {
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_RCR, RCR_BSSID);
pDevice->bBSSIDFilter = false;
pDevice->byRxMode &= ~RCR_BSSID;
pr_debug("wcmd: rx_mode = %x\n", pDevice->byRxMode);
} else {
if (is_zero_ether_addr(pDevice->abyBSSID) == false) {
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_RCR, RCR_BSSID);
pDevice->bBSSIDFilter = true;
pDevice->byRxMode |= RCR_BSSID;
}
pr_debug("wmgr: rx_mode = %x\n", pDevice->byRxMode);
}
/* Adopt BSS state in Adapter Device Object */
pDevice->op_mode = op_mode;
return true;
}
/*
* Description: Card indicate status
*
* Parameters:
* In:
* pDeviceHandler - The adapter to be set
* eStatus - Status
* Out:
* none
*
* Return Value: true if success; false if failed.
*/
/*
* Description: Save Assoc info. contain in assoc. response frame
*
* Parameters:
* In:
* pDevice - The adapter to be set
* wCapabilityInfo - Capability information
* wStatus - Status code
* wAID - Assoc. ID
* uLen - Length of IEs
* pbyIEs - pointer to IEs
* Out:
* none
*
* Return Value: true if succeed; otherwise false
*/
bool CARDbSetTxDataRate(
struct vnt_private *pDevice,
unsigned short wDataRate
)
{
pDevice->wCurrentRate = wDataRate;
return true;
}
/*
* Routine Description:
* Consider to power down when no more packets to tx or rx.
*
* Parameters:
* In:
* pDevice - The adapter to be set
* Out:
* none
*
* Return Value: true if power down success; otherwise false
*/
bool
CARDbPowerDown(
struct vnt_private *pDevice
)
{
unsigned int uIdx;
/* check if already in Doze mode */
if (MACbIsRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PS))
return true;
/* Froce PSEN on */
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
/* check if all TD are empty */
for (uIdx = 0; uIdx < TYPE_MAXTD; uIdx++) {
if (pDevice->iTDUsed[uIdx] != 0)
return false;
}
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_GO2DOZE);
pr_debug("Go to Doze ZZZZZZZZZZZZZZZ\n");
return true;
}
/*
* Description: Turn off Radio power
*
@ -761,474 +505,6 @@ bool CARDbRadioPowerOn(struct vnt_private *pDevice)
return bResult;
}
bool CARDbRemoveKey(struct vnt_private *pDevice, unsigned char *pbyBSSID)
{
KeybRemoveAllKey(&(pDevice->sKey), pbyBSSID, pDevice->PortOffset);
return true;
}
/*
* Description:
* Add BSSID in PMKID Candidate list.
*
* Parameters:
* In:
* hDeviceContext - device structure point
* pbyBSSID - BSSID address for adding
* wRSNCap - BSS's RSN capability
* Out:
* none
*
* Return Value: none.
*/
bool
CARDbAdd_PMKID_Candidate(
struct vnt_private *pDevice,
unsigned char *pbyBSSID,
bool bRSNCapExist,
unsigned short wRSNCap
)
{
struct pmkid_candidate *pCandidateList;
unsigned int ii = 0;
pr_debug("bAdd_PMKID_Candidate START: (%d)\n",
(int)pDevice->gsPMKIDCandidate.NumCandidates);
if (pDevice->gsPMKIDCandidate.NumCandidates >= MAX_PMKIDLIST) {
pr_debug("vFlush_PMKID_Candidate: 3\n");
memset(&pDevice->gsPMKIDCandidate, 0, sizeof(SPMKIDCandidateEvent));
}
for (ii = 0; ii < 6; ii++)
pr_debug("%02X ", *(pbyBSSID + ii));
pr_debug("\n");
/* Update Old Candidate */
for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) {
pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii];
if (!memcmp(pCandidateList->BSSID, pbyBSSID, ETH_ALEN)) {
if (bRSNCapExist && (wRSNCap & BIT0))
pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
else
pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
return true;
}
}
/* New Candidate */
pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[pDevice->gsPMKIDCandidate.NumCandidates];
if (bRSNCapExist && (wRSNCap & BIT0))
pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
else
pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
ether_addr_copy(pCandidateList->BSSID, pbyBSSID);
pDevice->gsPMKIDCandidate.NumCandidates++;
pr_debug("NumCandidates:%d\n",
(int)pDevice->gsPMKIDCandidate.NumCandidates);
return true;
}
void *
CARDpGetCurrentAddress(
struct vnt_private *pDevice
)
{
return pDevice->abyCurrentNetAddr;
}
/*
* Description:
* Start Spectrum Measure defined in 802.11h
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
bool
CARDbStartMeasure(
struct vnt_private *pDevice,
void *pvMeasureEIDs,
unsigned int uNumOfMeasureEIDs
)
{
PWLAN_IE_MEASURE_REQ pEID = (PWLAN_IE_MEASURE_REQ) pvMeasureEIDs;
u64 qwCurrTSF;
u64 qwStartTSF;
bool bExpired = true;
unsigned short wDuration = 0;
if ((pEID == NULL) ||
(uNumOfMeasureEIDs == 0)) {
return true;
}
CARDbGetCurrentTSF(pDevice->PortOffset, &qwCurrTSF);
if (pDevice->bMeasureInProgress == true) {
pDevice->bMeasureInProgress = false;
VNSvOutPortB(pDevice->PortOffset + MAC_REG_RCR, pDevice->byOrgRCR);
MACvSelectPage1(pDevice->PortOffset);
VNSvOutPortD(pDevice->PortOffset + MAC_REG_MAR0, pDevice->dwOrgMAR0);
VNSvOutPortD(pDevice->PortOffset + MAC_REG_MAR4, pDevice->dwOrgMAR4);
/* clear measure control */
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN);
MACvSelectPage0(pDevice->PortOffset);
set_channel(pDevice, pDevice->byOrgChannel);
MACvSelectPage1(pDevice->PortOffset);
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE);
MACvSelectPage0(pDevice->PortOffset);
}
pDevice->uNumOfMeasureEIDs = uNumOfMeasureEIDs;
do {
pDevice->pCurrMeasureEID = pEID;
pEID++;
pDevice->uNumOfMeasureEIDs--;
if (pDevice->byLocalID > REV_ID_VT3253_B1) {
qwStartTSF = *((u64 *)(pDevice->pCurrMeasureEID->sReq.abyStartTime));
wDuration = *((unsigned short *)(pDevice->pCurrMeasureEID->sReq.abyDuration));
wDuration += 1; /* 1 TU for channel switching */
if (qwStartTSF == 0) {
/* start immediately by setting start TSF == current TSF + 2 TU */
qwStartTSF = qwCurrTSF + 2048;
bExpired = false;
break;
} else {
/* start at setting start TSF - 1TU(for channel switching) */
qwStartTSF -= 1024;
}
if (qwCurrTSF < qwStartTSF) {
bExpired = false;
break;
}
VNTWIFIbMeasureReport(pDevice->pMgmt,
false,
pDevice->pCurrMeasureEID,
MEASURE_MODE_LATE,
pDevice->byBasicMap,
pDevice->byCCAFraction,
pDevice->abyRPIs
);
} else {
/* hardware do not support measure */
VNTWIFIbMeasureReport(pDevice->pMgmt,
false,
pDevice->pCurrMeasureEID,
MEASURE_MODE_INCAPABLE,
pDevice->byBasicMap,
pDevice->byCCAFraction,
pDevice->abyRPIs
);
}
} while (pDevice->uNumOfMeasureEIDs != 0);
if (!bExpired) {
MACvSelectPage1(pDevice->PortOffset);
VNSvOutPortD(pDevice->PortOffset + MAC_REG_MSRSTART, (u32)qwStartTSF);
VNSvOutPortD(pDevice->PortOffset + MAC_REG_MSRSTART + 4, (u32)(qwStartTSF >> 32));
VNSvOutPortW(pDevice->PortOffset + MAC_REG_MSRDURATION, wDuration);
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN);
MACvSelectPage0(pDevice->PortOffset);
} else {
/* all measure start time expired we should complete action */
VNTWIFIbMeasureReport(pDevice->pMgmt,
true,
NULL,
0,
pDevice->byBasicMap,
pDevice->byCCAFraction,
pDevice->abyRPIs
);
}
return true;
}
/*
* Description:
* Do Channel Switch defined in 802.11h
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
bool
CARDbChannelSwitch(
struct vnt_private *pDevice,
unsigned char byMode,
unsigned char byNewChannel,
unsigned char byCount
)
{
bool bResult = true;
if (byCount == 0) {
bResult = set_channel(pDevice, byNewChannel);
VNTWIFIbChannelSwitch(pDevice->pMgmt, byNewChannel);
MACvSelectPage1(pDevice->PortOffset);
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE);
MACvSelectPage0(pDevice->PortOffset);
return bResult;
}
pDevice->byChannelSwitchCount = byCount;
pDevice->byNewChannel = byNewChannel;
pDevice->bChannelSwitch = true;
if (byMode == 1)
bResult = CARDbStopTxPacket(pDevice, PKT_TYPE_802_11_ALL);
return bResult;
}
/*
* Description:
* Handle Quiet EID defined in 802.11h
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
bool
CARDbSetQuiet(
struct vnt_private *pDevice,
bool bResetQuiet,
unsigned char byQuietCount,
unsigned char byQuietPeriod,
unsigned short wQuietDuration,
unsigned short wQuietOffset
)
{
unsigned int ii = 0;
if (bResetQuiet) {
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, (MSRCTL_QUIETTXCHK | MSRCTL_QUIETEN));
for (ii = 0; ii < MAX_QUIET_COUNT; ii++)
pDevice->sQuiet[ii].bEnable = false;
pDevice->uQuietEnqueue = 0;
pDevice->bEnableFirstQuiet = false;
pDevice->bQuietEnable = false;
pDevice->byQuietStartCount = byQuietCount;
}
if (pDevice->sQuiet[pDevice->uQuietEnqueue].bEnable == false) {
pDevice->sQuiet[pDevice->uQuietEnqueue].bEnable = true;
pDevice->sQuiet[pDevice->uQuietEnqueue].byPeriod = byQuietPeriod;
pDevice->sQuiet[pDevice->uQuietEnqueue].wDuration = wQuietDuration;
pDevice->sQuiet[pDevice->uQuietEnqueue].dwStartTime = (unsigned long) byQuietCount;
pDevice->sQuiet[pDevice->uQuietEnqueue].dwStartTime *= pDevice->wBeaconInterval;
pDevice->sQuiet[pDevice->uQuietEnqueue].dwStartTime += wQuietOffset;
pDevice->uQuietEnqueue++;
pDevice->uQuietEnqueue %= MAX_QUIET_COUNT;
if (pDevice->byQuietStartCount < byQuietCount)
pDevice->byQuietStartCount = byQuietCount;
}
return true;
}
/*
* Description:
* Do Quiet, It will be called by either ISR(after start)
* or VNTWIFI(before start) so we do not need a SPINLOCK
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
bool
CARDbStartQuiet(
struct vnt_private *pDevice
)
{
unsigned int ii = 0;
unsigned long dwStartTime = 0xFFFFFFFF;
unsigned int uCurrentQuietIndex = 0;
unsigned long dwNextTime = 0;
unsigned long dwGap = 0;
unsigned long dwDuration = 0;
for (ii = 0; ii < MAX_QUIET_COUNT; ii++) {
if ((pDevice->sQuiet[ii].bEnable == true) &&
(dwStartTime > pDevice->sQuiet[ii].dwStartTime)) {
dwStartTime = pDevice->sQuiet[ii].dwStartTime;
uCurrentQuietIndex = ii;
}
}
if (dwStartTime == 0xFFFFFFFF) {
/* no more quiet */
pDevice->bQuietEnable = false;
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, (MSRCTL_QUIETTXCHK | MSRCTL_QUIETEN));
} else {
if (pDevice->bQuietEnable == false) {
/* first quiet */
pDevice->byQuietStartCount--;
dwNextTime = pDevice->sQuiet[uCurrentQuietIndex].dwStartTime;
dwNextTime %= pDevice->wBeaconInterval;
MACvSelectPage1(pDevice->PortOffset);
VNSvOutPortW(pDevice->PortOffset + MAC_REG_QUIETINIT, (unsigned short) dwNextTime);
VNSvOutPortW(pDevice->PortOffset + MAC_REG_QUIETDUR, (unsigned short) pDevice->sQuiet[uCurrentQuietIndex].wDuration);
if (pDevice->byQuietStartCount == 0) {
pDevice->bEnableFirstQuiet = false;
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, (MSRCTL_QUIETTXCHK | MSRCTL_QUIETEN));
} else {
pDevice->bEnableFirstQuiet = true;
}
MACvSelectPage0(pDevice->PortOffset);
} else {
if (pDevice->dwCurrentQuietEndTime > pDevice->sQuiet[uCurrentQuietIndex].dwStartTime) {
/* overlap with previous Quiet */
dwGap = pDevice->dwCurrentQuietEndTime - pDevice->sQuiet[uCurrentQuietIndex].dwStartTime;
if (dwGap >= pDevice->sQuiet[uCurrentQuietIndex].wDuration) {
/*
* return false to indicate next quiet
* expired, should call this function
* again
*/
return false;
}
dwDuration = pDevice->sQuiet[uCurrentQuietIndex].wDuration - dwGap;
dwGap = 0;
} else {
dwGap = pDevice->sQuiet[uCurrentQuietIndex].dwStartTime - pDevice->dwCurrentQuietEndTime;
dwDuration = pDevice->sQuiet[uCurrentQuietIndex].wDuration;
}
/* set GAP and Next duration */
MACvSelectPage1(pDevice->PortOffset);
VNSvOutPortW(pDevice->PortOffset + MAC_REG_QUIETGAP, (unsigned short) dwGap);
VNSvOutPortW(pDevice->PortOffset + MAC_REG_QUIETDUR, (unsigned short) dwDuration);
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_QUIETRPT);
MACvSelectPage0(pDevice->PortOffset);
}
pDevice->bQuietEnable = true;
pDevice->dwCurrentQuietEndTime = pDevice->sQuiet[uCurrentQuietIndex].dwStartTime;
pDevice->dwCurrentQuietEndTime += pDevice->sQuiet[uCurrentQuietIndex].wDuration;
if (pDevice->sQuiet[uCurrentQuietIndex].byPeriod == 0) {
/* not period disable current quiet element */
pDevice->sQuiet[uCurrentQuietIndex].bEnable = false;
} else {
/* set next period start time */
dwNextTime = (unsigned long) pDevice->sQuiet[uCurrentQuietIndex].byPeriod;
dwNextTime *= pDevice->wBeaconInterval;
pDevice->sQuiet[uCurrentQuietIndex].dwStartTime = dwNextTime;
}
if (pDevice->dwCurrentQuietEndTime > 0x80010000) {
/* decreament all time to avoid wrap around */
for (ii = 0; ii < MAX_QUIET_COUNT; ii++) {
if (pDevice->sQuiet[ii].bEnable == true)
pDevice->sQuiet[ii].dwStartTime -= 0x80000000;
}
pDevice->dwCurrentQuietEndTime -= 0x80000000;
}
}
return true;
}
/*
* Description:
* Set Local Power Constraint
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
void
CARDvSetPowerConstraint(
struct vnt_private *pDevice,
unsigned char byChannel,
char byPower
)
{
if (byChannel > CB_MAX_CHANNEL_24G) {
if (pDevice->bCountryInfo5G == true)
pDevice->abyLocalPwr[byChannel] = pDevice->abyRegPwr[byChannel] - byPower;
} else {
if (pDevice->bCountryInfo24G == true)
pDevice->abyLocalPwr[byChannel] = pDevice->abyRegPwr[byChannel] - byPower;
}
}
/*
* Description:
* Set Local Power Constraint
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
void
CARDvGetPowerCapability(
struct vnt_private *pDevice,
unsigned char *pbyMinPower,
unsigned char *pbyMaxPower
)
{
unsigned char byDec = 0;
*pbyMaxPower = pDevice->abyOFDMDefaultPwr[pDevice->byCurrentCh];
byDec = pDevice->abyOFDMPwrTbl[pDevice->byCurrentCh];
if (pDevice->byRFType == RF_UW2452) {
byDec *= 3;
byDec >>= 1;
} else {
byDec <<= 1;
}
*pbyMinPower = pDevice->abyOFDMDefaultPwr[pDevice->byCurrentCh] - byDec;
}
/*
* Description:
* Get Current Tx Power
*
* Parameters:
* In:
* hDeviceContext - device structure point
* Out:
* none
*
* Return Value: none.
*/
char
CARDbyGetTransmitPower(
struct vnt_private *pDevice
)
{
return pDevice->byCurPwrdBm;
}
void
CARDvSafeResetTx(
struct vnt_private *pDevice

View File

@ -86,91 +86,16 @@ void CARDvUpdateNextTBTT(void __iomem *dwIoBase, u64 qwTSF, unsigned short wBeac
bool CARDbGetCurrentTSF(void __iomem *dwIoBase, u64 *pqwCurrTSF);
u64 CARDqGetNextTBTT(u64 qwTSF, unsigned short wBeaconInterval);
u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2);
bool CARDbSetTxPower(struct vnt_private *, unsigned long ulTxPower);
unsigned char CARDbyGetPktType(struct vnt_private *);
void CARDvSafeResetTx(struct vnt_private *);
void CARDvSafeResetRx(struct vnt_private *);
bool CARDbRadioPowerOff(struct vnt_private *);
bool CARDbRadioPowerOn(struct vnt_private *);
bool CARDbIsShortPreamble(struct vnt_private *);
bool CARDbIsShorSlotTime(struct vnt_private *);
bool CARDbSetPhyParameter(struct vnt_private *, CARD_PHY_TYPE ePHYType,
unsigned short wCapInfo, unsigned char byERPField,
void *pvSupportRateIEs, void *pvExtSupportRateIEs);
bool CARDbUpdateTSF(struct vnt_private *, unsigned char byRxRate,
u64 qwBSSTimestamp, u64 qwLocalTSF);
bool CARDbStopTxPacket(struct vnt_private *, CARD_PKT_TYPE ePktType);
bool CARDbStartTxPacket(struct vnt_private *, CARD_PKT_TYPE ePktType);
bool CARDbSetBeaconPeriod(struct vnt_private *, unsigned short wBeaconInterval);
bool CARDbSetBSSID(struct vnt_private *,
unsigned char *pbyBSSID, enum nl80211_iftype);
bool CARDbPowerDown(struct vnt_private *);
bool CARDbSetTxDataRate(struct vnt_private *, unsigned short wDataRate);
bool CARDbRemoveKey(struct vnt_private *, unsigned char *pbyBSSID);
bool
CARDbAdd_PMKID_Candidate(
struct vnt_private *,
unsigned char *pbyBSSID,
bool bRSNCapExist,
unsigned short wRSNCap
);
void *
CARDpGetCurrentAddress(
struct vnt_private *
);
bool
CARDbStartMeasure(
struct vnt_private *,
void *pvMeasureEIDs,
unsigned int uNumOfMeasureEIDs
);
bool
CARDbChannelSwitch(
struct vnt_private *,
unsigned char byMode,
unsigned char byNewChannel,
unsigned char byCount
);
bool
CARDbSetQuiet(
struct vnt_private *,
bool bResetQuiet,
unsigned char byQuietCount,
unsigned char byQuietPeriod,
unsigned short wQuietDuration,
unsigned short wQuietOffset
);
bool
CARDbStartQuiet(
struct vnt_private *
);
void
CARDvSetPowerConstraint(
struct vnt_private *,
unsigned char byChannel,
char byPower
);
void
CARDvGetPowerCapability(
struct vnt_private *,
unsigned char *pbyMinPower,
unsigned char *pbyMaxPower
);
char
CARDbyGetTransmitPower(
struct vnt_private *
);
#endif /* __CARD_H__ */