Staging: rtl8192su: refactored FirmwareCheckReady
replaced if..else if..else by a switch. this is hopefully easier to read. plus cosmetics. Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
199ef62a28
commit
e695b470b3
|
@ -107,9 +107,9 @@ cmdsend_downloadcode_fail:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RT_STATUS FirmwareEnableCPU(struct net_device *dev)
|
bool FirmwareEnableCPU(struct net_device *dev)
|
||||||
{
|
{
|
||||||
RT_STATUS rtStatus = RT_STATUS_SUCCESS;
|
bool rtStatus = true;
|
||||||
u8 tmpU1b, CPUStatus = 0;
|
u8 tmpU1b, CPUStatus = 0;
|
||||||
u16 tmpU2b;
|
u16 tmpU2b;
|
||||||
u32 iCheckTime = 200;
|
u32 iCheckTime = 200;
|
||||||
|
@ -129,8 +129,8 @@ RT_STATUS FirmwareEnableCPU(struct net_device *dev)
|
||||||
udelay(100);
|
udelay(100);
|
||||||
} while (iCheckTime--);
|
} while (iCheckTime--);
|
||||||
if (!(CPUStatus & IMEM_RDY)) {
|
if (!(CPUStatus & IMEM_RDY)) {
|
||||||
RT_TRACE(COMP_ERR, "(%s): failed to enable CPU\n", __func__);
|
RT_TRACE(COMP_ERR, "%s(): failed to enable CPU", __func__);
|
||||||
rtStatus = RT_STATUS_FAILURE;
|
rtStatus = false;
|
||||||
}
|
}
|
||||||
return rtStatus;
|
return rtStatus;
|
||||||
}
|
}
|
||||||
|
@ -165,65 +165,49 @@ FirmwareGetNextStatus(FIRMWARE_8192S_STATUS FWCurrentStatus)
|
||||||
return NextFWStatus;
|
return NextFWStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool FirmwareCheckReady(struct net_device *dev, u8 LoadFWStatus)
|
||||||
FirmwareCheckReady(struct net_device *dev, u8 LoadFWStatus)
|
|
||||||
{
|
{
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||||
RT_STATUS rtStatus = RT_STATUS_SUCCESS;
|
bool rtStatus = true;
|
||||||
rt_firmware *pFirmware = priv->pFirmware;
|
rt_firmware *pFirmware = priv->pFirmware;
|
||||||
int PollingCnt = 1000;
|
int PollingCnt = 1000;
|
||||||
//u8 tmpU1b, CPUStatus = 0;
|
|
||||||
u8 CPUStatus = 0;
|
u8 CPUStatus = 0;
|
||||||
u32 tmpU4b;
|
u32 tmpU4b;
|
||||||
//bool bOrgIMREnable;
|
|
||||||
|
|
||||||
RT_TRACE(COMP_FIRMWARE, "--->FirmwareCheckReady(): LoadStaus(%d),", LoadFWStatus);
|
|
||||||
|
|
||||||
pFirmware->FWStatus = (FIRMWARE_8192S_STATUS)LoadFWStatus;
|
pFirmware->FWStatus = (FIRMWARE_8192S_STATUS)LoadFWStatus;
|
||||||
if( LoadFWStatus == FW_STATUS_LOAD_IMEM)
|
switch (LoadFWStatus) {
|
||||||
{
|
case FW_STATUS_LOAD_IMEM:
|
||||||
do
|
do { /* Polling IMEM code done. */
|
||||||
{//Polling IMEM code done.
|
|
||||||
CPUStatus = read_nic_byte(dev, TCR);
|
CPUStatus = read_nic_byte(dev, TCR);
|
||||||
if(CPUStatus& IMEM_CODE_DONE)
|
if(CPUStatus& IMEM_CODE_DONE)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
udelay(5);
|
udelay(5);
|
||||||
} while (PollingCnt--);
|
} while (PollingCnt--);
|
||||||
if(!(CPUStatus & IMEM_CHK_RPT) || PollingCnt <= 0)
|
if (!(CPUStatus & IMEM_CHK_RPT) || PollingCnt <= 0) {
|
||||||
{
|
|
||||||
RT_TRACE(COMP_ERR, "FW_STATUS_LOAD_IMEM FAIL CPU, Status=%x\r\n", CPUStatus);
|
RT_TRACE(COMP_ERR, "FW_STATUS_LOAD_IMEM FAIL CPU, Status=%x\r\n", CPUStatus);
|
||||||
return false;
|
goto FirmwareCheckReadyFail;
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
else if( LoadFWStatus == FW_STATUS_LOAD_EMEM)
|
case FW_STATUS_LOAD_EMEM: /* Check Put Code OK and Turn On CPU */
|
||||||
{//Check Put Code OK and Turn On CPU
|
do { /* Polling EMEM code done. */
|
||||||
do
|
|
||||||
{//Polling EMEM code done.
|
|
||||||
CPUStatus = read_nic_byte(dev, TCR);
|
CPUStatus = read_nic_byte(dev, TCR);
|
||||||
if(CPUStatus& EMEM_CODE_DONE)
|
if(CPUStatus& EMEM_CODE_DONE)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
udelay(5);
|
udelay(5);
|
||||||
} while (PollingCnt--);
|
} while (PollingCnt--);
|
||||||
if(!(CPUStatus & EMEM_CHK_RPT))
|
if (!(CPUStatus & EMEM_CHK_RPT)) {
|
||||||
{
|
|
||||||
RT_TRACE(COMP_ERR, "FW_STATUS_LOAD_EMEM FAIL CPU, Status=%x\r\n", CPUStatus);
|
RT_TRACE(COMP_ERR, "FW_STATUS_LOAD_EMEM FAIL CPU, Status=%x\r\n", CPUStatus);
|
||||||
return false;
|
goto FirmwareCheckReadyFail;
|
||||||
}
|
}
|
||||||
|
/* Turn On CPU */
|
||||||
// Turn On CPU
|
if (FirmwareEnableCPU(dev) != true) {
|
||||||
rtStatus = FirmwareEnableCPU(dev);
|
RT_TRACE(COMP_ERR, "%s(): failed to enable CPU",
|
||||||
if(rtStatus != RT_STATUS_SUCCESS)
|
__func__);
|
||||||
{
|
goto FirmwareCheckReadyFail;
|
||||||
RT_TRACE(COMP_ERR, "Enable CPU fail ! \n" );
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
else if( LoadFWStatus == FW_STATUS_LOAD_DMEM)
|
case FW_STATUS_LOAD_DMEM:
|
||||||
{
|
do { /* Polling DMEM code done */
|
||||||
do
|
|
||||||
{//Polling DMEM code done
|
|
||||||
CPUStatus = read_nic_byte(dev, TCR);
|
CPUStatus = read_nic_byte(dev, TCR);
|
||||||
if(CPUStatus& DMEM_CODE_DONE)
|
if(CPUStatus& DMEM_CODE_DONE)
|
||||||
break;
|
break;
|
||||||
|
@ -231,40 +215,37 @@ FirmwareCheckReady(struct net_device *dev, u8 LoadFWStatus)
|
||||||
udelay(5);
|
udelay(5);
|
||||||
} while (PollingCnt--);
|
} while (PollingCnt--);
|
||||||
|
|
||||||
if(!(CPUStatus & DMEM_CODE_DONE))
|
if (!(CPUStatus & DMEM_CODE_DONE)) {
|
||||||
{
|
|
||||||
RT_TRACE(COMP_ERR, "Polling DMEM code done fail ! CPUStatus(%#x)\n", CPUStatus);
|
RT_TRACE(COMP_ERR, "Polling DMEM code done fail ! CPUStatus(%#x)\n", CPUStatus);
|
||||||
return false;
|
goto FirmwareCheckReadyFail;
|
||||||
}
|
}
|
||||||
|
|
||||||
RT_TRACE(COMP_FIRMWARE, "DMEM code download success, CPUStatus(%#x)\n", CPUStatus);
|
RT_TRACE(COMP_FIRMWARE, "%s(): DMEM code download success, "
|
||||||
|
"CPUStatus(%#x)",
|
||||||
|
__func__, CPUStatus);
|
||||||
|
|
||||||
// PollingCnt = 100; // Set polling cycle to 10ms.
|
PollingCnt = 10000; /* Set polling cycle to 10ms. */
|
||||||
PollingCnt = 10000; // Set polling cycle to 10ms.
|
|
||||||
|
|
||||||
do
|
do { /* Polling Load Firmware ready */
|
||||||
{//Polling Load Firmware ready
|
|
||||||
CPUStatus = read_nic_byte(dev, TCR);
|
CPUStatus = read_nic_byte(dev, TCR);
|
||||||
if(CPUStatus & FWRDY)
|
if(CPUStatus & FWRDY)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
udelay(100);
|
udelay(100);
|
||||||
} while (PollingCnt--);
|
} while (PollingCnt--);
|
||||||
|
|
||||||
RT_TRACE(COMP_FIRMWARE, "Polling Load Firmware ready, CPUStatus(%x)\n", CPUStatus);
|
RT_TRACE(COMP_FIRMWARE, "%s(): polling load firmware ready, "
|
||||||
|
"CPUStatus(%x)",
|
||||||
|
__func__, CPUStatus);
|
||||||
|
|
||||||
//if(!(CPUStatus & LOAD_FW_READY))
|
if ((CPUStatus & LOAD_FW_READY) != LOAD_FW_READY) {
|
||||||
//if((CPUStatus & LOAD_FW_READY) != 0xff)
|
RT_TRACE(COMP_ERR, "Polling Load Firmware ready failed "
|
||||||
if((CPUStatus & LOAD_FW_READY) != LOAD_FW_READY)
|
"CPUStatus(%x)\n", CPUStatus);
|
||||||
{
|
goto FirmwareCheckReadyFail;
|
||||||
RT_TRACE(COMP_ERR, "Polling Load Firmware ready fail ! CPUStatus(%x)\n", CPUStatus);
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
//
|
* USB interface will update
|
||||||
// <Roger_Notes> USB interface will update reserved followings parameters later!!
|
* reserved followings parameters later
|
||||||
// 2008.08.28.
|
*/
|
||||||
//
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// <Roger_Notes> If right here, we can set TCR/RCR to desired value
|
// <Roger_Notes> If right here, we can set TCR/RCR to desired value
|
||||||
|
@ -277,16 +258,23 @@ FirmwareCheckReady(struct net_device *dev, u8 LoadFWStatus)
|
||||||
write_nic_dword(dev, RCR,
|
write_nic_dword(dev, RCR,
|
||||||
(tmpU4b|RCR_APPFCS|RCR_APP_ICV|RCR_APP_MIC));
|
(tmpU4b|RCR_APPFCS|RCR_APP_ICV|RCR_APP_MIC));
|
||||||
|
|
||||||
RT_TRACE(COMP_FIRMWARE, "FirmwareCheckReady(): Current RCR settings(%#x)\n", tmpU4b);
|
RT_TRACE(COMP_FIRMWARE, "%s(): Current RCR settings(%#x)",
|
||||||
|
__func__, tmpU4b);
|
||||||
|
|
||||||
// Set to normal mode.
|
// Set to normal mode.
|
||||||
write_nic_byte(dev, LBKMD_SEL, LBK_NORMAL);
|
write_nic_byte(dev, LBKMD_SEL, LBK_NORMAL);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
RT_TRACE(COMP_FIRMWARE, "%s(): LoadFWStatus(%d), success",
|
||||||
|
__func__, LoadFWStatus);
|
||||||
|
return rtStatus;
|
||||||
|
|
||||||
RT_TRACE(COMP_FIRMWARE, "<---FirmwareCheckReady(): LoadFWStatus(%d), rtStatus(%x)\n", LoadFWStatus, rtStatus);
|
FirmwareCheckReadyFail:
|
||||||
return (rtStatus == RT_STATUS_SUCCESS) ? true:false;
|
rtStatus = false;
|
||||||
|
RT_TRACE(COMP_FIRMWARE, "%s(): LoadFWStatus(%d), failed",
|
||||||
|
__func__, LoadFWStatus);
|
||||||
|
return rtStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue