Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> --- drivers/staging/vt6655/card.c | 724 ------------------------------------------ drivers/staging/vt6655/card.h | 75 ----- 2 files changed, 799 deletions(-) diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 72896c1..bff77c8 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -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 -------------------------*/ @@ -201,43 +194,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 * * Parameters: @@ -455,218 +411,6 @@ bool CARDbSetBeaconPeriod(struct vnt_private *pDevice, } /* - * 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 * * Parameters: @@ -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 diff --git a/drivers/staging/vt6655/card.h b/drivers/staging/vt6655/card.h index a51a849..3a626a3 100644 --- a/drivers/staging/vt6655/card.h +++ b/drivers/staging/vt6655/card.h @@ -85,91 +85,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__ -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html