Commit f9cfbe94 authored by Philip Worrall's avatar Philip Worrall Committed by Greg Kroah-Hartman

Staging: vt6656: Ensure power.c uses proper tabbing.

Cleanup power.c to use proper tabbing as per coding standards.
Signed-off-by: default avatarPhilip Worrall <philip.worrall@googlemail.com>
Reviewed-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6170f51b
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
/*--------------------- Static Classes ----------------------------*/ /*--------------------- Static Classes ----------------------------*/
/*--------------------- Static Variables --------------------------*/ /*--------------------- Static Variables --------------------------*/
static int msglevel =MSG_LEVEL_INFO; static int msglevel = MSG_LEVEL_INFO;
/*--------------------- Static Functions --------------------------*/ /*--------------------- Static Functions --------------------------*/
/*--------------------- Export Variables --------------------------*/ /*--------------------- Export Variables --------------------------*/
...@@ -73,61 +73,64 @@ static int msglevel =MSG_LEVEL_INFO; ...@@ -73,61 +73,64 @@ static int msglevel =MSG_LEVEL_INFO;
void PSvEnablePowerSaving(void *hDeviceContext, void PSvEnablePowerSaving(void *hDeviceContext,
WORD wListenInterval) WORD wListenInterval)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext; PSDevice pDevice = (PSDevice)hDeviceContext;
PSMgmtObject pMgmt = &(pDevice->sMgmtObj); PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
WORD wAID = pMgmt->wCurrAID | BIT14 | BIT15; WORD wAID = pMgmt->wCurrAID | BIT14 | BIT15;
/* set period of power up before TBTT */ /* set period of power up before TBTT */
MACvWriteWord(pDevice, MAC_REG_PWBT, C_PWBT); MACvWriteWord(pDevice, MAC_REG_PWBT, C_PWBT);
if (pDevice->eOPMode != OP_MODE_ADHOC) { if (pDevice->eOPMode != OP_MODE_ADHOC) {
/* set AID */ /* set AID */
MACvWriteWord(pDevice, MAC_REG_AIDATIM, wAID); MACvWriteWord(pDevice, MAC_REG_AIDATIM, wAID);
} else { } else {
// set ATIM Window // set ATIM Window
//MACvWriteATIMW(pDevice->PortOffset, pMgmt->wCurrATIMWindow); //MACvWriteATIMW(pDevice->PortOffset, pMgmt->wCurrATIMWindow);
} }
//Warren:06-18-2004,the sequence must follow PSEN->AUTOSLEEP->GO2DOZE //Warren:06-18-2004,the sequence must follow PSEN->AUTOSLEEP->GO2DOZE
// enable power saving hw function // enable power saving hw function
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_PSEN); MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_PSEN);
// Set AutoSleep
MACvRegBitsOn(pDevice, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
//Warren:MUST turn on this once before turn on AUTOSLEEP ,or the AUTOSLEEP doesn't work // Set AutoSleep
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_GO2DOZE); MACvRegBitsOn(pDevice, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
//Warren:MUST turn on this once before turn on AUTOSLEEP ,or the AUTOSLEEP doesn't work
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_GO2DOZE);
if (wListenInterval >= 2) { if (wListenInterval >= 2) {
// clear always listen beacon // clear always listen beacon
MACvRegBitsOff(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN); MACvRegBitsOff(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN);
// first time set listen next beacon
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN);
pMgmt->wCountToWakeUp = wListenInterval; // first time set listen next beacon
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN);
} pMgmt->wCountToWakeUp = wListenInterval;
else {
// always listen beacon } else {
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN);
pMgmt->wCountToWakeUp = 0;
} // always listen beacon
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN);
pDevice->bEnablePSMode = TRUE; pMgmt->wCountToWakeUp = 0;
}
pDevice->bEnablePSMode = TRUE;
if (pDevice->eOPMode == OP_MODE_ADHOC) {
if (pDevice->eOPMode == OP_MODE_ADHOC) {
/* bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); */ /* bMgrPrepareBeaconToSend((void *) pDevice, pMgmt); */
}
// We don't send null pkt in ad hoc mode since beacon will handle this. }
else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) { // We don't send null pkt in ad hoc mode since beacon will handle this.
PSbSendNullPacket(pDevice); else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
} PSbSendNullPacket(pDevice);
pDevice->bPWBitOn = TRUE; }
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "PS:Power Saving Mode Enable... \n");
return; pDevice->bPWBitOn = TRUE;
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "PS:Power Saving Mode Enable... \n");
return;
} }
/*+ /*+
...@@ -142,32 +145,26 @@ void PSvEnablePowerSaving(void *hDeviceContext, ...@@ -142,32 +145,26 @@ void PSvEnablePowerSaving(void *hDeviceContext,
void PSvDisablePowerSaving(void *hDeviceContext) void PSvDisablePowerSaving(void *hDeviceContext)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext; PSDevice pDevice = (PSDevice)hDeviceContext;
// PSMgmtObject pMgmt = &(pDevice->sMgmtObj); //PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
// disable power saving hw function
CONTROLnsRequestOut(pDevice, MESSAGE_TYPE_DISABLE_PS, 0,
0, 0, NULL);
// disable power saving hw function //clear AutoSleep
CONTROLnsRequestOut(pDevice, MACvRegBitsOff(pDevice, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
MESSAGE_TYPE_DISABLE_PS,
0,
0,
0,
NULL
);
//clear AutoSleep // set always listen beacon
MACvRegBitsOff(pDevice, MAC_REG_PSCFG, PSCFG_AUTOSLEEP); MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN);
pDevice->bEnablePSMode = FALSE;
// set always listen beacon if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_ALBCN); PSbSendNullPacket(pDevice);
}
pDevice->bEnablePSMode = FALSE; pDevice->bPWBitOn = FALSE;
return;
if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
PSbSendNullPacket(pDevice);
}
pDevice->bPWBitOn = FALSE;
return;
} }
/*+ /*+
...@@ -184,46 +181,47 @@ BOOL PSbConsiderPowerDown(void *hDeviceContext, ...@@ -184,46 +181,47 @@ BOOL PSbConsiderPowerDown(void *hDeviceContext,
BOOL bCheckRxDMA, BOOL bCheckRxDMA,
BOOL bCheckCountToWakeUp) BOOL bCheckCountToWakeUp)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext; PSDevice pDevice = (PSDevice)hDeviceContext;
PSMgmtObject pMgmt = &(pDevice->sMgmtObj); PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
BYTE byData; BYTE byData;
// check if already in Doze mode
// check if already in Doze mode ControlvReadByte(pDevice, MESSAGE_REQUEST_MACREG,
ControlvReadByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PSCTL, &byData); MAC_REG_PSCTL, &byData);
if ( (byData & PSCTL_PS) != 0 )
return TRUE; if ( (byData & PSCTL_PS) != 0 )
return TRUE;
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
// check if in TIM wake period if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
if (pMgmt->bInTIMWake) // check if in TIM wake period
return FALSE; if (pMgmt->bInTIMWake)
} return FALSE;
}
// check scan state
if (pDevice->bCmdRunning) // check scan state
return FALSE; if (pDevice->bCmdRunning)
return FALSE;
//Tx Burst
if ( pDevice->bPSModeTxBurst ) //Tx Burst
return FALSE; if ( pDevice->bPSModeTxBurst )
return FALSE;
// Froce PSEN on
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_PSEN); // Froce PSEN on
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_PSEN);
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
if (bCheckCountToWakeUp && if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
(pMgmt->wCountToWakeUp == 0 || pMgmt->wCountToWakeUp == 1)) { if (bCheckCountToWakeUp && (pMgmt->wCountToWakeUp == 0
return FALSE; || pMgmt->wCountToWakeUp == 1)) {
} return FALSE;
} }
}
pDevice->bPSRxBeacon = TRUE;
// no Tx, no Rx isr, now go to Doze pDevice->bPSRxBeacon = TRUE;
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_GO2DOZE);
// no Tx, no Rx isr, now go to Doze
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Go to Doze ZZZZZZZZZZZZZZZ\n"); MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_GO2DOZE);
return TRUE; DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Go to Doze ZZZZZZZZZZZZZZZ\n");
return TRUE;
} }
/*+ /*+
...@@ -238,34 +236,33 @@ BOOL PSbConsiderPowerDown(void *hDeviceContext, ...@@ -238,34 +236,33 @@ BOOL PSbConsiderPowerDown(void *hDeviceContext,
void PSvSendPSPOLL(void *hDeviceContext) void PSvSendPSPOLL(void *hDeviceContext)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext; PSDevice pDevice = (PSDevice)hDeviceContext;
PSMgmtObject pMgmt = &(pDevice->sMgmtObj); PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
PSTxMgmtPacket pTxPacket = NULL; PSTxMgmtPacket pTxPacket = NULL;
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_HDR_ADDR2_LEN);
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_HDR_ADDR2_LEN); pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool; pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket));
pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket)); pTxPacket->p80211Header->sA2.wFrameCtl = cpu_to_le16(
pTxPacket->p80211Header->sA2.wFrameCtl = cpu_to_le16( (
( WLAN_SET_FC_FTYPE(WLAN_TYPE_CTL) |
WLAN_SET_FC_FTYPE(WLAN_TYPE_CTL) | WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PSPOLL) |
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PSPOLL) | WLAN_SET_FC_PWRMGT(0)
WLAN_SET_FC_PWRMGT(0) ));
));
pTxPacket->p80211Header->sA2.wDurationID = pMgmt->wCurrAID | BIT14 | BIT15; pTxPacket->p80211Header->sA2.wDurationID = pMgmt->wCurrAID | BIT14 | BIT15;
memcpy(pTxPacket->p80211Header->sA2.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN); memcpy(pTxPacket->p80211Header->sA2.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
memcpy(pTxPacket->p80211Header->sA2.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN); memcpy(pTxPacket->p80211Header->sA2.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
pTxPacket->cbMPDULen = WLAN_HDR_ADDR2_LEN; pTxPacket->cbMPDULen = WLAN_HDR_ADDR2_LEN;
pTxPacket->cbPayloadLen = 0; pTxPacket->cbPayloadLen = 0;
// send the frame
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) { // send the frame
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet failed..\n"); if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
} DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet failed..\n");
else { } else {
// DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet success..\n"); // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet success..\n");
}; };
return;
return;
} }
/*+ /*+
...@@ -280,63 +277,57 @@ void PSvSendPSPOLL(void *hDeviceContext) ...@@ -280,63 +277,57 @@ void PSvSendPSPOLL(void *hDeviceContext)
BOOL PSbSendNullPacket(void *hDeviceContext) BOOL PSbSendNullPacket(void *hDeviceContext)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext; PSDevice pDevice = (PSDevice)hDeviceContext;
PSTxMgmtPacket pTxPacket = NULL; PSTxMgmtPacket pTxPacket = NULL;
PSMgmtObject pMgmt = &(pDevice->sMgmtObj); PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
if (pDevice->bLinkPass == FALSE) {
return FALSE;
if (pDevice->bLinkPass == FALSE) { }
return FALSE;
} if ((pDevice->bEnablePSMode == FALSE) &&
(pDevice->fTxDataInSleep == FALSE)){
if ((pDevice->bEnablePSMode == FALSE) && return FALSE;
(pDevice->fTxDataInSleep == FALSE)){ }
return FALSE;
} memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN);
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN); pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket));
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket)); if (pDevice->bEnablePSMode) {
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
if (pDevice->bEnablePSMode) { (
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16( WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
( WLAN_SET_FC_PWRMGT(1)
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) | ));
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) | } else {
WLAN_SET_FC_PWRMGT(1) pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
)); (
} WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
else { WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16( WLAN_SET_FC_PWRMGT(0)
( ));
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) | }
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
WLAN_SET_FC_PWRMGT(0) if(pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
)); pTxPacket->p80211Header->sA3.wFrameCtl |= cpu_to_le16((WORD)WLAN_SET_FC_TODS(1));
} }
if(pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) { memcpy(pTxPacket->p80211Header->sA3.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
pTxPacket->p80211Header->sA3.wFrameCtl |= cpu_to_le16((WORD)WLAN_SET_FC_TODS(1)); memcpy(pTxPacket->p80211Header->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
} memcpy(pTxPacket->p80211Header->sA3.abyAddr3, pMgmt->abyCurrBSSID, WLAN_BSSID_LEN);
pTxPacket->cbMPDULen = WLAN_HDR_ADDR3_LEN;
memcpy(pTxPacket->p80211Header->sA3.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN); pTxPacket->cbPayloadLen = 0;
memcpy(pTxPacket->p80211Header->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN); // send the frame
memcpy(pTxPacket->p80211Header->sA3.abyAddr3, pMgmt->abyCurrBSSID, WLAN_BSSID_LEN); if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
pTxPacket->cbMPDULen = WLAN_HDR_ADDR3_LEN; DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet failed !\n");
pTxPacket->cbPayloadLen = 0; return FALSE;
// send the frame } else {
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) { // DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet success....\n");
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet failed !\n"); }
return FALSE;
} return TRUE ;
else {
// DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet success....\n");
}
return TRUE ;
} }
/*+ /*+
...@@ -351,32 +342,27 @@ BOOL PSbSendNullPacket(void *hDeviceContext) ...@@ -351,32 +342,27 @@ BOOL PSbSendNullPacket(void *hDeviceContext)
BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext) BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext)
{ {
PSDevice pDevice = (PSDevice)hDeviceContext;
PSDevice pDevice = (PSDevice)hDeviceContext; PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
PSMgmtObject pMgmt = &(pDevice->sMgmtObj); BOOL bWakeUp = FALSE;
BOOL bWakeUp = FALSE;
if (pMgmt->wListenInterval >= 2) {
if (pMgmt->wListenInterval >= 2) { if (pMgmt->wCountToWakeUp == 0) {
if (pMgmt->wCountToWakeUp == 0) { pMgmt->wCountToWakeUp = pMgmt->wListenInterval;
pMgmt->wCountToWakeUp = pMgmt->wListenInterval; }
}
pMgmt->wCountToWakeUp --;
pMgmt->wCountToWakeUp --;
if (pMgmt->wCountToWakeUp == 1) {
if (pMgmt->wCountToWakeUp == 1) { // Turn on wake up to listen next beacon
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN);
// Turn on wake up to listen next beacon pDevice->bPSRxBeacon = FALSE;
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN); bWakeUp = TRUE;
pDevice->bPSRxBeacon = FALSE; } else if ( !pDevice->bPSRxBeacon ) {
bWakeUp = TRUE; //Listen until RxBeacon
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN);
} else if ( !pDevice->bPSRxBeacon ) { }
//Listen until RxBeacon }
MACvRegBitsOn(pDevice, MAC_REG_PSCTL, PSCTL_LNBCN); return bWakeUp;
}
}
return bWakeUp;
} }
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