您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DBGPRINT_ERR函数代码示例

51自学网 2021-06-01 20:17:57
  C++
这篇教程C++ DBGPRINT_ERR函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DBGPRINT_ERR函数的典型用法代码示例。如果您正苦于以下问题:C++ DBGPRINT_ERR函数的具体用法?C++ DBGPRINT_ERR怎么用?C++ DBGPRINT_ERR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DBGPRINT_ERR函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: RT30xxReadRFRegister

/*	========================================================================		Routine Description: Read RT30xx RF register through MAC	Arguments:	Return Value:	IRQL = 		Note:		========================================================================*/NDIS_STATUS RT30xxReadRFRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			regID,	IN	PUCHAR			pValue){	RF_CSR_CFG_STRUC	rfcsr = { { 0 } };	UINT				i=0, k=0;#ifdef RTMP_MAC_PCI	if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))	{		DBGPRINT_ERR(("RT30xxReadRFRegister. Not allow to read RF 0x%x : fail/n",  regID));			return STATUS_UNSUCCESSFUL;	}#endif /* RTMP_MAC_PCI */	{		ASSERT((regID <= pAd->chipCap.MaxNumOfRfId)); /* R0~R63*/		for (i=0; i<MAX_BUSY_COUNT; i++)		{			RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);			if (rfcsr.field.RF_CSR_KICK == BUSY)													continue;			rfcsr.word = 0;			rfcsr.field.RF_CSR_WR = 0;			rfcsr.field.RF_CSR_KICK = 1;			rfcsr.field.TESTCSR_RFACC_REGNUM = regID;			RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);					for (k=0; k<MAX_BUSY_COUNT; k++)			{				RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);				if (rfcsr.field.RF_CSR_KICK == IDLE)					break;			}					if ((rfcsr.field.RF_CSR_KICK == IDLE) &&				(rfcsr.field.TESTCSR_RFACC_REGNUM == regID))			{				*pValue = (UCHAR)(rfcsr.field.RF_CSR_DATA);				break;			}		}		if (rfcsr.field.RF_CSR_KICK == BUSY)		{																				DBGPRINT_ERR(("RF read R%d=0x%X fail, i[%d], k[%d]/n", regID, rfcsr.word,i,k));			return STATUS_UNSUCCESSFUL;		}	}	return STATUS_SUCCESS;}
开发者ID:aircross,项目名称:ray,代码行数:74,


示例2: rlt_rf_write

NDIS_STATUS rlt_rf_write(    IN PRTMP_ADAPTER pAd,    IN UCHAR bank,    IN UCHAR regID,    IN UCHAR value){    RF_CSR_CFG_STRUC rfcsr = { { 0 } };    NDIS_STATUS	 ret;#ifdef RTMP_MAC_PCI    if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))    {        DBGPRINT_ERR(("rlt_rf_write. Not allow to write RF 0x%x : fail/n",  regID));        return STATUS_UNSUCCESSFUL;    }#endif /* RTMP_MAC_PCI */#ifdef RLT_MAC    // TODO: shiang-usw, why we need to check this for MT7601?? Get these code from MT7601!    if (pAd->chipCap.hif_type == HIF_RLT) {        if (pAd->WlanFunCtrl.field.WLAN_EN == 0)        {            DBGPRINT_ERR(("rlt_rf_write. Not allow to write RF 0x%x : fail/n",  regID));            return STATUS_UNSUCCESSFUL;        }    }#endif /* RLT_MAC */    ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));    ret = STATUS_UNSUCCESSFUL;    if (rf_csr_poll_idle(pAd, &rfcsr.word) != IDLE)        goto done;#ifdef RT65xx    if (IS_RT65XX(pAd)) {        rfcsr.bank_65xx.RF_CSR_WR = 1;        rfcsr.bank_65xx.RF_CSR_KICK = 1;        rfcsr.bank_65xx.RF_CSR_REG_BANK = bank;        rfcsr.bank_65xx.RF_CSR_REG_ID = regID;        rfcsr.bank_65xx.RF_CSR_DATA = value;    }    else#endif /* RT65xx */    {        DBGPRINT_ERR(("%s():RF write with wrong handler!/n", __FUNCTION__));        goto done;    }    RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);    ret = NDIS_STATUS_SUCCESS;done:    return ret;}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:58,


示例3: ATEResetBulkOut

/*========================================================================		Routine Description:	Arguments:	Return Value:	Note:	========================================================================*/INT ATEResetBulkOut(	IN PRTMP_ADAPTER	pAd){	PATE_INFO pATEInfo = &(pAd->ate);	PTX_CONTEXT	pNullContext = &(pAd->NullContext);	INT ret=0;	pNullContext->IRPPending = TRUE;	/*		If driver is still in ATE TXFRAME mode, 		keep on transmitting ATE frames.	*/	DBGPRINT(RT_DEBUG_TRACE, ("pATEInfo->Mode == %d/npAd->ContinBulkOut == %d/npAd->BulkOutRemained == %d/n",		pATEInfo->Mode, pAd->ContinBulkOut, atomic_read(&pAd->BulkOutRemained)));	if ((pATEInfo->Mode == ATE_TXFRAME) && ((pAd->ContinBulkOut == TRUE) || (atomic_read(&pAd->BulkOutRemained) > 0)))    {		DBGPRINT(RT_DEBUG_TRACE, ("After CMDTHREAD_RESET_BULK_OUT, continue to bulk out frames !/n"));		/* Init Tx context descriptor. */		RTUSBInitTxDesc(pAd, pNullContext, 0/* pAd->bulkResetPipeid */, (usb_complete_t)RTUSBBulkOutDataPacketComplete);				if ((ret = RTUSB_SUBMIT_URB(pNullContext->pUrb))!=0)		{			DBGPRINT_ERR(("ATE_RTUSBBulkOutDataPacket: Submit Tx URB failed %d/n", ret));		}		pAd->BulkOutReq++;	}	return ret;}
开发者ID:BlackHole,项目名称:wifi-p2p-mt7601,代码行数:46,


示例4: RTUSBWriteBBPRegister

NTSTATUS	RTUSBWriteBBPRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			Id,	IN	UCHAR			Value){	BBP_CSR_CFG_STRUC	BbpCsr;	int					BusyCnt;	for (BusyCnt=0; BusyCnt<MAX_BUSY_COUNT; BusyCnt++)	{		RTMP_IO_READ32(pAd, H2M_BBP_AGENT, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)			continue;		BbpCsr.word = 0;		BbpCsr.field.fRead = 0;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.Value = Value;		BbpCsr.field.RegNum = Id;		RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);		AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0);		pAd->BbpWriteLatch[Id] = Value;		break;	}	if (BusyCnt == MAX_BUSY_COUNT)	{		DBGPRINT_ERR(("BBP write R%d=0x%x fail/n", Id, BbpCsr.word));		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:AppEngine,项目名称:linux-2.6,代码行数:31,


示例5: RT28xx_Set_ATE_TX_FREQ_OFFSET_Proc

INT	RT28xx_Set_ATE_TX_FREQ_OFFSET_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PSTRING			arg){	PATE_INFO pATEInfo = &(pAd->ate);	ULONG R4 = 0;	UCHAR RFFreqOffset = 0;	RFFreqOffset = simple_strtol(arg, 0, 10);	if (RFFreqOffset >= 64)	{		DBGPRINT_ERR(("Set_ATE_TX_FREQ_OFFSET_Proc::Out of range(0 ~ 63)./n"));		return FALSE;	}	pATEInfo->RFFreqOffset = RFFreqOffset;	/* shift TX power control to correct RF register bit position */	R4 = pATEInfo->RFFreqOffset << 15;			R4 |= (pAd->LatchRfRegs.R4 & ((~0x001f8000)));	pAd->LatchRfRegs.R4 = R4;		RtmpRfIoWrite(pAd);		return TRUE;}
开发者ID:vm3vuy,项目名称:my-local-repository,代码行数:27,


示例6: rtmp_rf_write

NDIS_STATUS rtmp_rf_write(	IN PRTMP_ADAPTER pAd,	IN UCHAR bank,	IN UCHAR regID,	IN UCHAR value){	RF_CSR_CFG_STRUC rfcsr = { { 0 } };	NDIS_STATUS	 ret;#ifdef RTMP_MAC_PCI	if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))	{		DBGPRINT_ERR(("rtmp_rf_write. Not allow to write RF 0x%x : fail/n",  regID));			return STATUS_UNSUCCESSFUL;	}#endif /* RTMP_MAC_PCI */	ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));	ret = STATUS_UNSUCCESSFUL;	if (rtmp_rf_csr_poll_idle(pAd, &rfcsr.word) != IDLE)		goto done;#ifdef RT6352	if (IS_RT6352(pAd))	{		rfcsr.bank_6352.RF_CSR_WR = 1;		rfcsr.bank_6352.RF_CSR_KICK = 1;		rfcsr.bank_6352.TESTCSR_RFACC_REGNUM = (regID | (bank << 6));		rfcsr.bank_6352.RF_CSR_DATA = value;	}	else#endif /* RT6352 */	{		DBGPRINT_ERR(("%s():RF write with wrong handler!/n", __FUNCTION__));		goto done;	}	RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);	ret = NDIS_STATUS_SUCCESS;done:	return ret;}
开发者ID:23171580,项目名称:ralink,代码行数:46,


示例7: RT30xxReadRFRegister

/* ======================================================================== Routine Description: Read RT30xx RF register through MAC Arguments: Return Value: IRQL = Note: ========================================================================*/NDIS_STATUS RT30xxReadRFRegister(    IN PRTMP_ADAPTER pAd,    IN UCHAR   regID,    IN PUCHAR   pValue){    RF_CSR_CFG_STRUC rfcsr = { { 0 } };    UINT    i = 0, k = 0;    {        if (IS_RT3883(pAd))        {            ASSERT((regID <= 63)); // R0~R63        }        else        {            ASSERT((regID <= 31)); // R0~R31        }        for (i = 0; i < MAX_BUSY_COUNT; i++)        {            RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);            if (rfcsr.field.RF_CSR_KICK == BUSY)            {                continue;            }            rfcsr.word = 0;            rfcsr.field.RF_CSR_WR = 0;            rfcsr.field.RF_CSR_KICK = 1;            rfcsr.field.TESTCSR_RFACC_REGNUM = regID;            RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);            for (k = 0; k < MAX_BUSY_COUNT; k++)            {                RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);                if (rfcsr.field.RF_CSR_KICK == IDLE)                    break;            }            if ((rfcsr.field.RF_CSR_KICK == IDLE) &&                    (rfcsr.field.TESTCSR_RFACC_REGNUM == regID))            {                *pValue = (UCHAR)(rfcsr.field.RF_CSR_DATA);                break;            }        }        if (rfcsr.field.RF_CSR_KICK == BUSY)        {            DBGPRINT_ERR(("RF read R%d=0x%X fail, i[%d], k[%d]/n", regID, rfcsr.word, i, k));            return STATUS_UNSUCCESSFUL;        }    }    return STATUS_SUCCESS;}
开发者ID:jameshilliard,项目名称:stblinux-2.6.18_7405,代码行数:72,


示例8: RT635xWriteRFRegister

NDIS_STATUS RT635xWriteRFRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			bank,	IN	UCHAR			regID,	IN	UCHAR			value){	RF_CSR_CFG_STRUC	rfcsr = { { 0 } };	UINT				i = 0;	NDIS_STATUS	 ret;#ifdef RTMP_MAC_PCI	if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))	{		DBGPRINT_ERR(("RT635xWriteRFRegister. Not allow to write RF 0x%x : fail/n",  regID));			return STATUS_UNSUCCESSFUL;	}#endif /* RTMP_MAC_PCI */	ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));	if (regID > pAd->chipCap.MaxNumOfRfId)	{		DBGPRINT(RT_DEBUG_ERROR, ("RegID=%d, pAd->chipCap.MaxNumOfRfId=%d/n", regID, pAd->chipCap.MaxNumOfRfId));	}	ret = STATUS_UNSUCCESSFUL;	do	{		RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);		if (!rfcsr.bank_6352.RF_CSR_KICK)			break;		i++;	}	while ((i < MAX_BUSY_COUNT) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)));	if ((i == MAX_BUSY_COUNT) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))	{		DBGPRINT_RAW(RT_DEBUG_ERROR, ("Retry count exhausted or device removed!!!/n"));		goto done;	}	rfcsr.bank_6352.RF_CSR_WR = 1;	rfcsr.bank_6352.RF_CSR_KICK = 1;	rfcsr.bank_6352.TESTCSR_RFACC_REGNUM = (regID | (bank << 6));	rfcsr.bank_6352.RF_CSR_DATA = value;	RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);	ret = NDIS_STATUS_SUCCESS;done:	return ret;}
开发者ID:23171580,项目名称:ralink,代码行数:55,


示例9: RT30xxReadRFRegister

/*	========================================================================	Routine Description: Read RT30xx RF register through MAC	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/NDIS_STATUS RT30xxReadRFRegister(    IN	PRTMP_ADAPTER	pAd,    IN	UCHAR			regID,    IN	PUCHAR			pValue){    RF_CSR_CFG_STRUC	rfcsr = { { 0 } };    UINT				i=0, k=0;    ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));    for (i=0; i<MAX_BUSY_COUNT; i++)    {        if(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))            return STATUS_UNSUCCESSFUL;        RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);        if (rfcsr.field.RF_CSR_KICK == BUSY)            continue;        rfcsr.word = 0;        rfcsr.field.RF_CSR_WR = 0;        rfcsr.field.RF_CSR_KICK = 1;        rfcsr.field.TESTCSR_RFACC_REGNUM = regID;        RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);        for (k=0; k<MAX_BUSY_COUNT; k++)        {            if(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))                return STATUS_UNSUCCESSFUL;            RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);            if (rfcsr.field.RF_CSR_KICK == IDLE)                break;        }        if ((rfcsr.field.RF_CSR_KICK == IDLE) &&                (rfcsr.field.TESTCSR_RFACC_REGNUM == regID))        {            *pValue = (UCHAR)(rfcsr.field.RF_CSR_DATA);            break;        }    }    if (rfcsr.field.RF_CSR_KICK == BUSY)    {        DBGPRINT_ERR(("RF read R%d=0x%X fail, i[%d], k[%d]/n", regID, rfcsr.word,i,k));        return STATUS_UNSUCCESSFUL;    }    return STATUS_SUCCESS;}
开发者ID:RD777,项目名称:rt3573sta,代码行数:70,


示例10: RT30xxWriteRFRegister

/*	========================================================================		Routine Description: Write RT30xx RF register through MAC	Arguments:	Return Value:	IRQL = 		Note:		========================================================================*/NDIS_STATUS RT30xxWriteRFRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			regID,	IN	UCHAR			value){	RF_CSR_CFG_STRUC	rfcsr = { { 0 } };	UINT				i = 0;#ifdef RTMP_MAC_PCI	if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))	{		DBGPRINT_ERR(("RT30xxWriteRFRegister. Not allow to write RF 0x%x : fail/n",  regID));			return STATUS_UNSUCCESSFUL;	}#endif // RTMP_MAC_PCI //	{		if (IS_RT3883(pAd))		{			ASSERT((regID <= 63)); // R0~R63		}		else		{		ASSERT((regID <= 31)); // R0~R31		}		do		{			RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);			if (!rfcsr.field.RF_CSR_KICK)				break;			i++;		}		while ((i < RETRY_LIMIT) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)));		if ((i == RETRY_LIMIT) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))		{			DBGPRINT_RAW(RT_DEBUG_ERROR, ("Retry count exhausted or device removed!!!/n"));			return STATUS_UNSUCCESSFUL;		}		rfcsr.field.RF_CSR_WR = 1;		rfcsr.field.RF_CSR_KICK = 1;		rfcsr.field.TESTCSR_RFACC_REGNUM = regID; // R0~R31		rfcsr.field.RF_CSR_DATA = value;				RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);	}	return NDIS_STATUS_SUCCESS;}
开发者ID:jaskcon,项目名称:rt3090,代码行数:68,


示例11: RTUSBReadBBPRegister

/*	========================================================================	Routine Description: Read 8-bit BBP register via firmware	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/NTSTATUS	RTUSBReadBBPRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			Id,	IN	PUCHAR			pValue){	BBP_CSR_CFG_STRUC BbpCsr;	int i, k, ret;	RTMP_SEM_EVENT_WAIT(&pAd->reg_atomic, ret);	if (ret != 0)	{		DBGPRINT(RT_DEBUG_ERROR, ("reg_atomic get failed(ret=%d)/n", ret));		return STATUS_UNSUCCESSFUL;	}	for (i=0; i<MAX_BUSY_COUNT; i++)	{		RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)			continue;		BbpCsr.word = 0;		BbpCsr.field.fRead = 1;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.RegNum = Id;		RTUSBWriteMACRegister(pAd, H2M_BBP_AGENT, BbpCsr.word, FALSE);		AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0, TRUE);		for (k=0; k<MAX_BUSY_COUNT; k++)		{			RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);			if (BbpCsr.field.Busy == IDLE)				break;		}		if ((BbpCsr.field.Busy == IDLE) &&			(BbpCsr.field.RegNum == Id))		{			*pValue = (UCHAR)BbpCsr.field.Value;			break;		}	}	RTMP_SEM_EVENT_UP(&pAd->reg_atomic);		if (BbpCsr.field.Busy == BUSY)	{		DBGPRINT_ERR(("BBP read R%d=0x%x fail/n", Id, BbpCsr.word));		*pValue = pAd->BbpWriteLatch[Id];		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:flyleaf91,项目名称:USB-Wireless-LAN-Driver-for-STM32F4xx,代码行数:68,


示例12: ATEResetBulkIn

/*========================================================================		Routine Description:	Arguments:	Return Value:		None	Note:	========================================================================*/VOID ATEResetBulkIn(	IN PRTMP_ADAPTER	pAd){	if ((pAd->PendingRx > 0) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))	{		DBGPRINT_ERR(("ATE : BulkIn IRP Pending!!!/n"));		ATE_RTUSBCancelPendingBulkInIRP(pAd);		RtmpOsMsDelay(100);		pAd->PendingRx = 0;	}	return;}
开发者ID:BlackHole,项目名称:wifi-p2p-mt7601,代码行数:27,


示例13: MlmeThread

/*========================================================================Routine Description:    MLME kernel thread.Arguments:	*Context			the pAd, driver control block pointerReturn Value:    0					close the threadNote:========================================================================*/INT MlmeThread(	IN ULONG Context){	RTMP_ADAPTER *pAd;	RTMP_OS_TASK *pTask;	int status;	status = 0;	pTask = (RTMP_OS_TASK *)Context;	pAd = (PRTMP_ADAPTER)RTMP_OS_TASK_DATA_GET(pTask);	if (pAd == NULL)		goto LabelExit; /* avoid compile warning */	RtmpOSTaskCustomize(pTask);	while(!RTMP_OS_TASK_IS_KILLED(pTask))	{		if (RtmpOSTaskWait(pAd, pTask, &status) == FALSE)		{			DBGPRINT_ERR(("RtmpOSTaskWait returned false in MlmeThread, setting halt in progress flag!/n"));			RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS);			break;		}					/* lock the device pointers , need to check if required*/		/*down(&(pAd->usbdev_semaphore)); */				if (!pAd->PM_FlgSuspend)			MlmeHandler(pAd);	}	/* notify the exit routine that we're actually exiting now 	 *	 * complete()/wait_for_completion() is similar to up()/down(),	 * except that complete() is safe in the case where the structure	 * is getting deleted in a parallel mode of execution (i.e. just	 * after the down() -- that's necessary for the thread-shutdown	 * case.	 *	 * complete_and_exit() goes even further than this -- it is safe in	 * the case that the thread of the caller is going away (not just	 * the structure) -- this is necessary for the module-remove case.	 * This is important in preemption kernels, which transfer the flow	 * of execution immediately upon a complete().	 */LabelExit:	DBGPRINT(RT_DEBUG_TRACE,( "<---%s/n",__FUNCTION__));	RtmpOSTaskNotifyToExit(pTask);	return 0;}
开发者ID:1950packard,项目名称:rt3573sta,代码行数:65,


示例14: MlmeEnqueueEx

/*! /brief   Enqueue a message for other threads, if they want to send messages to MLME thread *  /param  *Queue    The MLME Queue *  /param   Machine  The State Machine Id *  /param   MsgType  The Message Type *  /param   MsgLen   The Message length *  /param  *Msg      The message pointer *  /return  TRUE if enqueue is successful, FALSE if the queue is full *  /pre *  /post *  /note    The message has to be initialized */BOOLEAN MlmeEnqueueEx(	IN	PRTMP_ADAPTER	pAd,	IN ULONG Machine, 	IN ULONG MsgType, 	IN ULONG MsgLen, 	IN VOID *Msg,	IN USHORT Idx){	INT Tail;	MLME_QUEUE *Queue = (MLME_QUEUE *)&pAd->Mlme.Queue;	// Do nothing if the driver is starting halt state.	// This might happen when timer already been fired before cancel timer with mlmehalt	if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS))		return FALSE;	// First check the size, it MUST not exceed the mlme queue size	if (MsgLen > MAX_LEN_OF_MLME_BUFFER)	{		DBGPRINT_ERR(("MlmeEnqueueEx: msg too large, size = %ld /n", MsgLen));		return FALSE;	}		if (MlmeQueueFull(Queue)) 	{				return FALSE;	}	RTMP_SEM_LOCK(&Queue->Lock);	Tail = Queue->Tail;	Queue->Tail++;	Queue->Num++;	if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE) 	{		Queue->Tail = 0;	}	Queue->Entry[Tail].Occupied = TRUE;	Queue->Entry[Tail].Machine = Machine;	Queue->Entry[Tail].MsgType = MsgType;	Queue->Entry[Tail].MsgLen = MsgLen;	Queue->Entry[Tail].Idx = Idx;	if (Msg != NULL)		NdisMoveMemory(Queue->Entry[Tail].Msg, Msg, MsgLen);	RTMP_SEM_UNLOCK(&Queue->Lock);	return TRUE;}
开发者ID:acassis,项目名称:emlinux-ssd1935,代码行数:61,


示例15: mcu_sys_init

INT mcu_sys_init(RTMP_ADAPTER *pAd){	NDIS_STATUS Status;	/* Load MCU firmware*/	MCU_CTRL_INIT(pAd);	Status = load_patch(pAd);		if (Status != NDIS_STATUS_SUCCESS)	{		DBGPRINT_ERR(("load patch failed, Status[=0x%08x]/n", Status));		return FALSE;	}		Status = NICLoadFirmware(pAd);	if (Status != NDIS_STATUS_SUCCESS)	{		DBGPRINT_ERR(("NICLoadFirmware failed, Status[=0x%08x]/n", Status));		return FALSE;	}	return TRUE;}
开发者ID:23171580,项目名称:ralink,代码行数:24,


示例16: ATE_RTUSBBulkOutDataPacket

/*========================================================================		Routine Description:	Arguments:	Return Value:		None	Note:	========================================================================*/VOID ATE_RTUSBBulkOutDataPacket(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			BulkOutPipeId){	PTX_CONTEXT		pNullContext = &(pAd->NullContext);	PURB			pUrb;	INT			ret = 0;	ULONG			IrqFlags;	ASSERT(BulkOutPipeId == 0);	/* Build up the frame first. */	BULK_OUT_LOCK(&pAd->BulkOutLock[BulkOutPipeId], IrqFlags);	if (pAd->BulkOutPending[BulkOutPipeId] == TRUE)	{		BULK_OUT_UNLOCK(&pAd->BulkOutLock[BulkOutPipeId], IrqFlags);		return;	}	pAd->BulkOutPending[BulkOutPipeId] = TRUE;	BULK_OUT_UNLOCK(&pAd->BulkOutLock[BulkOutPipeId], IrqFlags);	/* Increase total transmit byte counter. */	pAd->RalinkCounters.OneSecTransmittedByteCount +=  pNullContext->BulkOutSize; 	pAd->RalinkCounters.TransmittedByteCount +=  pNullContext->BulkOutSize;	/* Clear ATE frame bulk out flag. */	RTUSB_CLEAR_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_ATE);	/* Init Tx context descriptor. */	pNullContext->IRPPending = TRUE;	RTUSBInitTxDesc(pAd, pNullContext, BulkOutPipeId,		(usb_complete_t)RTUSBBulkOutDataPacketComplete);	pUrb = pNullContext->pUrb;	if ((ret = RTUSB_SUBMIT_URB(pUrb))!=0)	{		DBGPRINT_ERR(("ATE_RTUSBBulkOutDataPacket: Submit Tx URB failed %d/n", ret));		return;	}	pAd->BulkOutReq++;	return;}
开发者ID:BlackHole,项目名称:wifi-p2p-mt7601,代码行数:61,


示例17: RTUSBWriteBBPRegister

NTSTATUS	RTUSBWriteBBPRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			Id,	IN	UCHAR			Value){	BBP_CSR_CFG_STRUC BbpCsr;	int BusyCnt;	int ret;	RTMP_SEM_EVENT_WAIT(&pAd->reg_atomic, ret);	if (ret != 0)	{		DBGPRINT(RT_DEBUG_ERROR, ("reg_atomic get failed(ret=%d)/n", ret));		return STATUS_UNSUCCESSFUL;	}	for (BusyCnt=0; BusyCnt<MAX_BUSY_COUNT; BusyCnt++)	{		RTMP_IO_READ32(pAd, H2M_BBP_AGENT, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)			continue;		BbpCsr.word = 0;		BbpCsr.field.fRead = 0;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.Value = Value;		BbpCsr.field.RegNum = Id;		RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);		AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0, TRUE);		pAd->BbpWriteLatch[Id] = Value;		break;	}	RTMP_SEM_EVENT_UP(&pAd->reg_atomic);		if (BusyCnt == MAX_BUSY_COUNT)	{		DBGPRINT_ERR(("BBP write R%d=0x%x fail/n", Id, BbpCsr.word));		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:flyleaf91,项目名称:USB-Wireless-LAN-Driver-for-STM32F4xx,代码行数:43,


示例18: RT30xxReadRFRegister

/*	========================================================================	Routine Description: Read RT3070 RF register through MAC	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/NTSTATUS	RT30xxReadRFRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			RegID,	IN	PUCHAR			pValue){	RF_CSR_CFG_STRUC	rfcsr;	UINT				i=0, k;	for (i=0; i<MAX_BUSY_COUNT; i++)	{		RTUSBReadMACRegister(pAd, RF_CSR_CFG, &rfcsr.word);		if (rfcsr.field.RF_CSR_KICK == BUSY)		{			continue;		}		rfcsr.word = 0;		rfcsr.field.RF_CSR_WR = 0;		rfcsr.field.RF_CSR_KICK = 1;		rfcsr.field.TESTCSR_RFACC_REGNUM = RegID;		RTUSBWriteMACRegister(pAd, RF_CSR_CFG, rfcsr.word);		for (k=0; k<MAX_BUSY_COUNT; k++)		{			RTUSBReadMACRegister(pAd, RF_CSR_CFG, &rfcsr.word);			if (rfcsr.field.RF_CSR_KICK == IDLE)				break;		}		if ((rfcsr.field.RF_CSR_KICK == IDLE) &&			(rfcsr.field.TESTCSR_RFACC_REGNUM == RegID))		{			*pValue = (UCHAR)rfcsr.field.RF_CSR_DATA;			break;		}	}	if (rfcsr.field.RF_CSR_KICK == BUSY)	{		DBGPRINT_ERR(("RF read R%d=0x%x fail/n", RegID, rfcsr.word));		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:AppEngine,项目名称:linux-2.6,代码行数:58,


示例19: RTUSBReadBBPRegister

/*	========================================================================	Routine Description: Read 8-bit BBP register via firmware	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/NTSTATUS	RTUSBReadBBPRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			Id,	IN	PUCHAR			pValue){	BBP_CSR_CFG_STRUC	BbpCsr;	int					i, k;	for (i=0; i<MAX_BUSY_COUNT; i++)	{		RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)		{			continue;		}		BbpCsr.word = 0;		BbpCsr.field.fRead = 1;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.RegNum = Id;		RTUSBWriteMACRegister(pAd, H2M_BBP_AGENT, BbpCsr.word);		AsicSendCommandToMcu(pAd, 0x80, 0xff, 0x0, 0x0);		for (k=0; k<MAX_BUSY_COUNT; k++)		{			RTUSBReadMACRegister(pAd, H2M_BBP_AGENT, &BbpCsr.word);			if (BbpCsr.field.Busy == IDLE)				break;		}		if ((BbpCsr.field.Busy == IDLE) &&			(BbpCsr.field.RegNum == Id))		{			*pValue = (UCHAR)BbpCsr.field.Value;			break;		}	}	if (BbpCsr.field.Busy == BUSY)	{		DBGPRINT_ERR(("BBP read R%d=0x%x fail/n", Id, BbpCsr.word));		*pValue = pAd->BbpWriteLatch[Id];		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:AppEngine,项目名称:linux-2.6,代码行数:57,


示例20: MCUSysInit

INT32 MCUSysInit(RTMP_ADAPTER *pAd){	INT32 Ret = 0;	DBGPRINT(RT_DEBUG_TRACE, ("%s/n", __FUNCTION__));	MCU_CTRL_INIT(pAd);	#ifdef MT_MAC	if (pAd->chipOps.FwInit && (pAd->chipCap.hif_type == HIF_MT))		pAd->chipOps.FwInit(pAd);	#ifndef RTMP_SDIO_SUPPORT	#endif /*leonardo temporari skip rom patch download for FPGA*/	#endif /* MT_MAC */	Ret = NICLoadFirmware(pAd);		if (Ret != NDIS_STATUS_SUCCESS)	{		DBGPRINT_ERR(("%s: NICLoadFirmware failed, Status[=0x%08x]/n", __FUNCTION__, Ret));		return -1;	}#ifdef MT_MAC	if (pAd->chipCap.hif_type == HIF_MT) {#if defined(RTMP_PCI_SUPPORT) || defined(RTMP_USB_SUPPORT)		AsicDMASchedulerInit(pAd, DMA_SCH_LMAC);#endif#ifdef CONFIG_AP_SUPPORT		CmdPsRetrieveReq(pAd , pAd->bPS_Retrieve);#endif	}#endif /* MT_MAC */	return Ret;}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:40,


示例21: RT30xxReadRFRegister

/*	========================================================================	Routine Description: Read RT30xx RF register through MAC	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/int RT30xxReadRFRegister(struct rt_rtmp_adapter *pAd,				 u8 regID, u8 *pValue){	RF_CSR_CFG_STRUC rfcsr;	u32 i = 0, k = 0;	for (i = 0; i < MAX_BUSY_COUNT; i++) {		RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);		if (rfcsr.field.RF_CSR_KICK == BUSY) {			continue;		}		rfcsr.word = 0;		rfcsr.field.RF_CSR_WR = 0;		rfcsr.field.RF_CSR_KICK = 1;		rfcsr.field.TESTCSR_RFACC_REGNUM = regID;		RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);		for (k = 0; k < MAX_BUSY_COUNT; k++) {			RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);			if (rfcsr.field.RF_CSR_KICK == IDLE)				break;		}		if ((rfcsr.field.RF_CSR_KICK == IDLE) &&		    (rfcsr.field.TESTCSR_RFACC_REGNUM == regID)) {			*pValue = (u8)rfcsr.field.RF_CSR_DATA;			break;		}	}	if (rfcsr.field.RF_CSR_KICK == BUSY) {		DBGPRINT_ERR(("RF read R%d=0x%x fail, i[%d], k[%d]/n", regID,			      rfcsr.word, i, k));		return STATUS_UNSUCCESSFUL;	}	return STATUS_SUCCESS;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:52,


示例22: CntlEnqueueForRecv

BOOLEAN CntlEnqueueForRecv(						  IN PRTMP_ADAPTER		pAd, 						  IN ULONG				Wcid, 						  IN ULONG				MsgLen, 						  IN PFRAME_BA_REQ		pMsg) {	PFRAME_BA_REQ   pFrame = pMsg;	//PRTMP_REORDERBUF	pBuffer;	//PRTMP_REORDERBUF	pDmaBuf;	PBA_REC_ENTRY pBAEntry;	//BOOLEAN 	Result;	ULONG   Idx;	//UCHAR	NumRxPkt;	UCHAR	TID;//, i;		TID = (UCHAR)pFrame->BARControl.TID;	DBGPRINT(RT_DEBUG_TRACE, ("%s(): BAR-Wcid(%ld), Tid (%d)/n", __FUNCTION__, Wcid, TID));	//hex_dump("BAR", (PCHAR) pFrame, MsgLen);	// Do nothing if the driver is starting halt state.	// This might happen when timer already been fired before cancel timer with mlmehalt	if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS | fRTMP_ADAPTER_NIC_NOT_EXIST))		return FALSE;	// First check the size, it MUST not exceed the mlme queue size	if (MsgLen > MGMT_DMA_BUFFER_SIZE)	{		DBGPRINT_ERR(("CntlEnqueueForRecv: frame too large, size = %ld /n", MsgLen));		return FALSE;	}	else if (MsgLen != sizeof(FRAME_BA_REQ))	{		DBGPRINT_ERR(("CntlEnqueueForRecv: BlockAck Request frame length size = %ld incorrect/n", MsgLen));		return FALSE;	}	else if (MsgLen != sizeof(FRAME_BA_REQ))	{		DBGPRINT_ERR(("CntlEnqueueForRecv: BlockAck Request frame length size = %ld incorrect/n", MsgLen));		return FALSE;	}			if ((Wcid < MAX_LEN_OF_MAC_TABLE) && (TID < 8))		{		// if this receiving packet is from SA that is in our OriEntry. Since WCID <9 has direct mapping. no need search.		Idx = pAd->MacTab.Content[Wcid].BARecWcidArray[TID];		pBAEntry = &pAd->BATable.BARecEntry[Idx];		}		else		{		return FALSE;	}	DBGPRINT(RT_DEBUG_TRACE, ("BAR(%ld) : Tid (%d) - %04x:%04x/n", Wcid, TID, pFrame->BAStartingSeq.field.StartSeq, pBAEntry->LastIndSeq ));	if (SEQ_SMALLER(pBAEntry->LastIndSeq, pFrame->BAStartingSeq.field.StartSeq, MAXSEQ))	{		//DBGPRINT(RT_DEBUG_TRACE, ("BAR Seq = %x, LastIndSeq = %x/n", pFrame->BAStartingSeq.field.StartSeq, pBAEntry->LastIndSeq));		ba_indicate_reordering_mpdus_le_seq(pAd, pBAEntry, pFrame->BAStartingSeq.field.StartSeq);		pBAEntry->LastIndSeq = (pFrame->BAStartingSeq.field.StartSeq == 0) ? MAXSEQ :(pFrame->BAStartingSeq.field.StartSeq -1);	}	//ba_refresh_reordering_mpdus(pAd, pBAEntry);	return TRUE;}
开发者ID:acassis,项目名称:emlinux-ssd1935,代码行数:63,


示例23: RT28xx_Set_ATE_TX_BW_Proc

/* ==========================================================================    Description:        Set RT28xx/RT2880 ATE RF BW            Return:        TRUE if all parameters are OK, FALSE otherwise==========================================================================*/INT	RT28xx_Set_ATE_TX_BW_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PSTRING			arg){	PATE_INFO pATEInfo = &(pAd->ate);	INT powerIndex;	UCHAR value = 0;	UCHAR BBPCurrentBW;		BBPCurrentBW = simple_strtol(arg, 0, 10);	if (BBPCurrentBW == 0)	{		pATEInfo->TxWI.BW = BW_20;	}	else	{		pATEInfo->TxWI.BW = BW_40; 	}#ifdef RELEASE_EXCLUDE	/* Fix the error spectrum of CCK-40MHZ. */	/* Turn on BBP 20MHz mode by request here. */#endif /* RELEASE_EXCLUDE */	if ((pATEInfo->TxWI.TXWI_O.PHYMODE == MODE_CCK) && (pATEInfo->TxWI.TXWI_O.BW == BW_40))	{		DBGPRINT_ERR(("Set_ATE_TX_BW_Proc!! Warning!! CCK only supports 20MHZ!!/n"));		DBGPRINT_ERR(("Bandwidth switch to 20!!/n"));		pATEInfo->TxWI.BW = BW_20;	}	if (pATEInfo->TxWI.BW == BW_20)	{		if (pATEInfo->Channel <= 14)		{			/* BW=20;G band */ 			for (powerIndex=0; powerIndex<MAX_TXPOWER_ARRAY_SIZE; powerIndex++) 			{				if (pAd->Tx20MPwrCfgGBand[powerIndex] == 0xffffffff)					continue;				/* TX_PWR_CFG_0 ~ TX_PWR_CFG_4 */				RTMP_IO_WRITE32(pAd, TX_PWR_CFG_0 + powerIndex*4, pAd->Tx20MPwrCfgGBand[powerIndex]);					RtmpOsMsDelay(5);							}		}		else		{			/* BW=20;A band */ 			for (powerIndex=0; powerIndex<MAX_TXPOWER_ARRAY_SIZE; powerIndex++) 			{				if (pAd->Tx20MPwrCfgABand[powerIndex] == 0xffffffff)					continue;				/* TX_PWR_CFG_0 ~ TX_PWR_CFG_4 */				RTMP_IO_WRITE32(pAd, TX_PWR_CFG_0 + powerIndex*4, pAd->Tx20MPwrCfgABand[powerIndex]);	 				RtmpOsMsDelay(5);				 			}		}		/* set BW = 20 MHz */		/* Set BBP R4 bit[4:3]=0:0 */ 		ATE_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R4, &value); 		value &= (~0x18); 		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R4, value);		/* Set BBP R66=0x3C */		value = 0x3C;		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, value);		/* set BW = 20 MHz */		pAd->LatchRfRegs.R4 &= ~0x00200000;		RtmpRfIoWrite(pAd);		/* BW = 20 MHz */		/* Set BBP R68=0x0B to improve Rx sensitivity. */		value = 0x0B;		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R68, value);		/* Set BBP R69=0x16 */		value = 0x16; 		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R69, value);		/* Set BBP R70=0x08 */		value = 0x08; 		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R70, value);		/* Set BBP R73=0x11 */	    value = 0x11; 		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R73, value);#ifdef RELEASE_EXCLUDE		/*			If Channel=14, Bandwidth=20M and Mode=CCK, Set BBP R4 bit5=1//.........这里部分代码省略.........
开发者ID:vm3vuy,项目名称:my-local-repository,代码行数:101,


示例24: RT28xxATETxPwrHandler

INT RT28xxATETxPwrHandler(	IN PRTMP_ADAPTER pAd,	IN char index){	PATE_INFO pATEInfo = &(pAd->ate);	ULONG R;	CHAR TxPower = 0;	UCHAR Bbp94 = 0;	BOOLEAN bPowerReduce = FALSE;#ifdef RALINK_QA	if ((pATEInfo->bQATxStart == TRUE) || (pATEInfo->bQARxStart == TRUE))	{#ifdef RELEASE_EXCLUDE		/* 			When QA is used for Tx, pATEInfo->TxPower0/1 and real tx power			are not synchronized.		*/#endif /* RELEASE_EXCLUDE */		return 0;	}	else#endif /* RALINK_QA */	if (index == 0)	{		TxPower = pATEInfo->TxPower0;	}	else if (index == 1)	{		TxPower = pATEInfo->TxPower1;	}	else	{		DBGPRINT_ERR(("%s : Only TxPower0 and TxPower1 are adjustable !/n", __FUNCTION__));		DBGPRINT_ERR(("%s : TxPower%d is out of range !/n", __FUNCTION__, index));		return -1;	}	if (pATEInfo->Channel <= 14)	{		if (TxPower > 31)		{			/* R3, R4 can't large than 31 (0x24), 31 ~ 36 used by BBP 94 */			R = 31;			if (TxPower <= 36)				Bbp94 = BBPR94_DEFAULT + (UCHAR)(TxPower - 31);				}		else if (TxPower < 0)		{			/* R3, R4 can't less than 0, -1 ~ -6 used by BBP 94 */			R = 0;			if (TxPower >= -6)				Bbp94 = BBPR94_DEFAULT + TxPower;		}		else		{  			/* 0 ~ 31 */			R = (ULONG) TxPower;			Bbp94 = BBPR94_DEFAULT;		}		DBGPRINT(RT_DEBUG_TRACE, ("%s : (TxPower=%d, R=%ld, BBP_R94=%d)/n", __FUNCTION__, TxPower, R, Bbp94));	}	else /* 5.5 GHz */	{		if (TxPower > 15)		{			/* R3, R4 can't large than 15 (0x0F) */			R = 15;		}		else if (TxPower < 0)		{			/* R3, R4 can't less than 0 */			/* -1 ~ -7 */			ASSERT((TxPower >= -7));			R = (ULONG)(TxPower + 7);			bPowerReduce = TRUE;		}		else		{  			/* 0 ~ 15 */			R = (ULONG) TxPower;		}		DBGPRINT(RT_DEBUG_TRACE, ("%s : (TxPower=%d, R=%lu)/n", __FUNCTION__, TxPower, R));	}	if (pATEInfo->Channel <= 14)	{		if (index == 0)		{			/* shift TX power control to correct RF(R3) register bit position */			R = R << 9;					R |= (pAd->LatchRfRegs.R3 & 0xffffc1ff);			pAd->LatchRfRegs.R3 = R;		}		else		{			/* shift TX power control to correct RF(R4) register bit position */			R = R << 6;		//.........这里部分代码省略.........
开发者ID:vm3vuy,项目名称:my-local-repository,代码行数:101,


示例25: RT30xxWriteRFRegister

/*	========================================================================		Routine Description: Write RT30xx RF register through MAC	Arguments:	Return Value:	IRQL = 		Note:		========================================================================*/NDIS_STATUS RT30xxWriteRFRegister(	IN	PRTMP_ADAPTER	pAd,	IN	UCHAR			regID,	IN	UCHAR			value){	RF_CSR_CFG_STRUC	rfcsr = { { 0 } };	UINT				i = 0;#ifdef RTMP_MAC_PCI	if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))	{		DBGPRINT_ERR(("RT30xxWriteRFRegister. Not allow to write RF 0x%x : fail/n",  regID));			return STATUS_UNSUCCESSFUL;	}#endif /* RTMP_MAC_PCI */	ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));	do	{		RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);		if (!rfcsr.field.RF_CSR_KICK)			break;		i++;	}	while ((i < MAX_BUSY_COUNT) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)));	if ((i == MAX_BUSY_COUNT) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))	{		DBGPRINT_RAW(RT_DEBUG_ERROR, ("Retry count exhausted or device removed!!!/n"));		return STATUS_UNSUCCESSFUL;	}	rfcsr.field.RF_CSR_WR = 1;	rfcsr.field.RF_CSR_KICK = 1;	rfcsr.field.TESTCSR_RFACC_REGNUM = regID;	if ((pAd->chipCap.RfReg17WtMethod == RF_REG_WT_METHOD_STEP_ON) && (regID == RF_R17))	{		UCHAR IdRf;		UCHAR RfValue;		BOOLEAN beAdd;		RT30xxReadRFRegister(pAd, RF_R17, &RfValue);		beAdd =  (RfValue < value) ? TRUE : FALSE;		IdRf = RfValue;		while(IdRf != value)		{			if (beAdd)				IdRf++;			else				IdRf--;							rfcsr.field.RF_CSR_DATA = IdRf;				RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);				RtmpOsMsDelay(1);		}	}	rfcsr.field.RF_CSR_DATA = value;	RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);	return NDIS_STATUS_SUCCESS;}
开发者ID:Sleuthhound,项目名称:RT28XX-RT539X-Linux-driver,代码行数:80,


示例26: rlt_rf_read

/*	========================================================================	Routine Description: Read RF register through MAC	Arguments:	Return Value:	IRQL =	Note:	========================================================================*/NDIS_STATUS rlt_rf_read(    IN RTMP_ADAPTER *pAd,    IN UCHAR bank,    IN UCHAR regID,    IN UCHAR *pValue){    RF_CSR_CFG_STRUC rfcsr = { { 0 } };    UINT i=0, k=0;    BOOLEAN rf_status;    NDIS_STATUS	 ret = STATUS_UNSUCCESSFUL;#ifdef MT76x0    if (IS_MT7610U(pAd)) {        BANK_RF_REG_PAIR reg;        reg.Bank = bank;        reg.Register = regID;        RF_RANDOM_READ(pAd, &reg, 1);        *pValue = reg.Value;        return NDIS_STATUS_SUCCESS;    }#endif /* MT76x0 */#ifdef RTMP_MAC_PCI    if ((pAd->bPCIclkOff == TRUE) || (pAd->LastMCUCmd == SLEEP_MCU_CMD))    {        DBGPRINT_ERR(("RT30xxReadRFRegister. Not allow to read RF 0x%x : fail/n",  regID));        return STATUS_UNSUCCESSFUL;    }#endif /* RTMP_MAC_PCI */#ifdef RTMP_MAC_USB    if (IS_USB_INF(pAd)) {        RTMP_SEM_EVENT_WAIT(&pAd->reg_atomic, i);        if (i != 0) {            DBGPRINT(RT_DEBUG_ERROR, ("reg_atomic get failed(ret=%d)/n", i));            return STATUS_UNSUCCESSFUL;        }    }#endif /* RTMP_MAC_USB */    ASSERT((regID <= pAd->chipCap.MaxNumOfRfId));    rfcsr.word = 0;    for (i=0; i<MAX_BUSY_COUNT; i++)    {        if(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))            goto done;        rf_status = rf_csr_poll_idle(pAd, &rfcsr.word);        if ( rf_status == BUSY)            break;        rfcsr.word = 0;#ifdef RT6352        if (IS_RT6352(pAd))        {            rfcsr.bank_6352.RF_CSR_WR = 0;            rfcsr.bank_6352.RF_CSR_KICK = 1;            rfcsr.bank_6352.TESTCSR_RFACC_REGNUM = (regID | (bank << 6));        }        else#endif /* RT6352 */#ifdef RT65xx            if (IS_RT65XX(pAd)) {                rfcsr.bank_65xx.RF_CSR_WR = 0;                rfcsr.bank_65xx.RF_CSR_KICK = 1;                rfcsr.bank_65xx.RF_CSR_REG_ID = regID;                rfcsr.bank_65xx.RF_CSR_REG_BANK = bank;            }            else#endif /* RT65xx */            {                DBGPRINT_ERR(("RF[%d] read function for non-supported chip[0x%x]/n", regID, pAd->MACVersion));                break;            }        RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);        rf_status = rf_csr_poll_idle(pAd, &rfcsr.word);        if (rf_status == IDLE)        {#ifdef RT6352            if (IS_RT6352(pAd) && ((rfcsr.bank_6352.TESTCSR_RFACC_REGNUM & 0x3F) == regID))//.........这里部分代码省略.........
开发者ID:vm3vuy,项目名称:my-local-repository,代码行数:101,


示例27: AUTH_ReqSend

BOOLEAN AUTH_ReqSend(	IN PRTMP_ADAPTER pAd,	IN PMLME_QUEUE_ELEM pElem,	IN PRALINK_TIMER_STRUCT pAuthTimer,	IN PSTRING pSMName,	IN USHORT SeqNo,	IN PUCHAR pNewElement,	IN ULONG ElementLen){	USHORT Alg, Seq, Status;	UCHAR Addr[6];	ULONG Timeout;	HEADER_802_11 AuthHdr;	BOOLEAN TimerCancelled;	NDIS_STATUS NStatus;	PUCHAR pOutBuffer = NULL;	ULONG FrameLen = 0, tmp = 0;	/* Block all authentication request durning WPA block period */	if (pAd->StaCfg.bBlockAssoc == TRUE) {		DBGPRINT(RT_DEBUG_TRACE,			 ("%s - Block Auth request durning WPA block period!/n",			  pSMName));		pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;		Status = MLME_STATE_MACHINE_REJECT;		MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF, 2,			    &Status, 0);	} else	    if (MlmeAuthReqSanity		(pAd, pElem->Msg, pElem->MsgLen, Addr, &Timeout, &Alg)) {		/* reset timer */		RTMPCancelTimer(pAuthTimer, &TimerCancelled);		COPY_MAC_ADDR(pAd->MlmeAux.Bssid, Addr);		pAd->MlmeAux.Alg = Alg;		Seq = SeqNo;		Status = MLME_SUCCESS;		NStatus = MlmeAllocateMemory(pAd, &pOutBuffer);	/*Get an unused nonpaged memory */		if (NStatus != NDIS_STATUS_SUCCESS) {			DBGPRINT(RT_DEBUG_TRACE,				 ("%s - MlmeAuthReqAction(Alg:%d) allocate memory failed/n",				  pSMName, Alg));			pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;			Status = MLME_FAIL_NO_RESOURCE;			MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF,				    2, &Status, 0);			return FALSE;		}		DBGPRINT(RT_DEBUG_TRACE,			 ("%s - Send AUTH request seq#1 (Alg=%d).../n", pSMName,			  Alg));		MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, Addr,#ifdef P2P_SUPPORT							pAd->CurrentAddress,#endif /* P2P_SUPPORT */							pAd->MlmeAux.Bssid);		MakeOutgoingFrame(pOutBuffer, &FrameLen, sizeof (HEADER_802_11),				  &AuthHdr, 2, &Alg, 2, &Seq, 2, &Status,				  END_OF_ARGS);		if (pNewElement && ElementLen) {			MakeOutgoingFrame(pOutBuffer + FrameLen, &tmp,					  ElementLen, pNewElement, END_OF_ARGS);			FrameLen += tmp;		}		MiniportMMRequest(pAd, 0, pOutBuffer, FrameLen);		MlmeFreeMemory(pAd, pOutBuffer);		RTMPSetTimer(pAuthTimer, Timeout);		return TRUE;	} else {		DBGPRINT_ERR(("%s - MlmeAuthReqAction() sanity check failed/n",			      pSMName));		return FALSE;	}	return TRUE;}
开发者ID:0x000000FF,项目名称:MT7601u,代码行数:81,


示例28: rt28xx_init

RTMP_BUILD_DRV_OPS_FUNCTION_BODY#endif /* OS_ABL_FUNC_SUPPORT */#endif /* LINUX */int rt28xx_init(	IN VOID		*pAdSrc,	IN PSTRING	pDefaultMac, 	IN PSTRING	pHostName){	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER)pAdSrc;	UINT					index;	UCHAR					TmpPhy;	NDIS_STATUS				Status;	if (pAd == NULL)		return FALSE;#ifdef CONFIG_STA_SUPPORT#ifdef PCIE_PS_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{    	/* If dirver doesn't wake up firmware here,*/    	/* NICLoadFirmware will hang forever when interface is up again.*/    	if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE) &&        	OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_ADVANCE_POWER_SAVE_PCIE_DEVICE))    	{        	AUTO_WAKEUP_STRUC AutoWakeupCfg;			AsicForceWakeup(pAd, TRUE);        	AutoWakeupCfg.word = 0;	    	RTMP_IO_WRITE32(pAd, AUTO_WAKEUP_CFG, AutoWakeupCfg.word);        	OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);    	}	}#endif /* PCIE_PS_SUPPORT */#endif /* CONFIG_STA_SUPPORT */	/* reset Adapter flags*/	RTMP_CLEAR_FLAGS(pAd);	/* Init BssTab & ChannelInfo tabbles for auto channel select.*/#ifdef CONFIG_AP_SUPPORT		IF_DEV_CONFIG_OPMODE_ON_AP(pAd)	{/*#ifdef AUTO_CH_SELECT_ENHANCE*/		AutoChBssTableInit(pAd);		ChannelInfoInit(pAd);/*#endif  AUTO_CH_SELECT_ENHANCE */	}#endif /* CONFIG_AP_SUPPORT */#ifdef DOT11_N_SUPPORT	/* Allocate BA Reordering memory*/	if (ba_reordering_resource_init(pAd, MAX_REORDERING_MPDU_NUM) != TRUE)				goto err1;#endif /* DOT11_N_SUPPORT */	/* Make sure MAC gets ready.*/	index = 0;	if (WaitForAsicReady(pAd) != TRUE)		goto err1;	DBGPRINT(RT_DEBUG_TRACE, ("MAC[Ver:Rev=0x%08x]/n", pAd->MACVersion));			if (MAX_LEN_OF_MAC_TABLE > MAX_AVAILABLE_CLIENT_WCID(pAd))	{		DBGPRINT(RT_DEBUG_ERROR, ("MAX_LEN_OF_MAC_TABLE can not be larger than MAX_AVAILABLE_CLIENT_WCID!!!!/n"));		goto err1;	}#ifdef RTMP_MAC_PCI	/* To fix driver disable/enable hang issue when radio off*/	RTMP_IO_WRITE32(pAd, PWR_PIN_CFG, 0x2);#endif /* RTMP_MAC_PCI */	/* Disable DMA*/	RT28XXDMADisable(pAd);	/* Load 8051 firmware*/	Status = NICLoadFirmware(pAd);	if (Status != NDIS_STATUS_SUCCESS)	{		DBGPRINT_ERR(("NICLoadFirmware failed, Status[=0x%08x]/n", Status));		goto err1;	}	NICLoadRateSwitchingParams(pAd);	/* Disable interrupts here which is as soon as possible*/	/* This statement should never be true. We might consider to remove it later*/#ifdef RTMP_MAC_PCI	if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_INTERRUPT_ACTIVE))	{		RTMP_ASIC_INTERRUPT_DISABLE(pAd);	}//.........这里部分代码省略.........
开发者ID:2812015651,项目名称:cuckoo,代码行数:101,


示例29: RTMP_BBP_IO_WRITE8

VOID RTMP_BBP_IO_WRITE8(	RTMP_ADAPTER *pAd,	UCHAR bbp_id,	UINT8 Value,	BOOLEAN bViaMCU){	BBP_CSR_CFG_STRUC BbpCsr;	int _busyCnt=0, _regID;	BOOLEAN brc;	ULONG __IrqFlags = 0;#ifdef RT65xx	if (IS_RT65XX(pAd))		return;#endif /* RT65xx */	if (bViaMCU == TRUE)		RTMP_MAC_SHR_MSEL_PROTECT_LOCK(pAd, __IrqFlags);	_regID = (bViaMCU == TRUE ? H2M_BBP_AGENT : BBP_CSR_CFG);	for (_busyCnt=1; _busyCnt<MAX_BUSY_COUNT; _busyCnt++)	{		RTMP_IO_READ32((pAd), _regID, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)		{				if ( (bViaMCU == TRUE) && ((_busyCnt % 20) == 0))				{					BbpCsr.field.Busy = IDLE;					RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);				}			continue;		}		BbpCsr.word = 0;		BbpCsr.field.fRead = 0;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.Value = Value;		BbpCsr.field.RegNum = bbp_id;		RTMP_IO_WRITE32((pAd), _regID, BbpCsr.word);		if (bViaMCU == TRUE)		{			brc = AsicSendCommandToMcuBBP(pAd, 0x80, 0xff, 0x0, 0x0, FALSE);			if (pAd->OpMode == OPMODE_AP)				RtmpusecDelay(1000);			if (brc == FALSE)			{				BbpCsr.field.Busy = IDLE;				RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);			}		}		pAd->BbpWriteLatch[bbp_id] = Value;		break;	}	if (_busyCnt == MAX_BUSY_COUNT)	{		DBGPRINT_ERR(("BBP write R%d fail/n", bbp_id));		if(bViaMCU == TRUE)		{			RTMP_IO_READ32(pAd, H2M_BBP_AGENT, &BbpCsr.word);			BbpCsr.field.Busy = 0;			RTMP_IO_WRITE32(pAd, H2M_BBP_AGENT, BbpCsr.word);		}	}	if (bViaMCU == TRUE)		RTMP_MAC_SHR_MSEL_PROTECT_UNLOCK(pAd, __IrqFlags);		}
开发者ID:pierce1234,项目名称:rt-n56u,代码行数:68,


示例30: RTMP_BBP_IO_READ8

VOID RTMP_BBP_IO_READ8(	PRTMP_ADAPTER pAd,	UCHAR bbp_id,	UINT8 *pValue,	BOOLEAN bViaMCU){	BBP_CSR_CFG_STRUC BbpCsr;	int _busyCnt, _secCnt, _regID;	ULONG __IrqFlags = 0;#ifdef RT65xx	if (IS_RT65XX(pAd))		return;#endif /* RT65xx */	if ((bViaMCU) == TRUE)		RTMP_MAC_SHR_MSEL_PROTECT_LOCK(pAd, __IrqFlags);	_regID = ((bViaMCU) == TRUE ? H2M_BBP_AGENT : BBP_CSR_CFG);	for (_busyCnt=0; _busyCnt<MAX_BUSY_COUNT; _busyCnt++)	{		RTMP_IO_READ32(pAd, _regID, &BbpCsr.word);		if (BbpCsr.field.Busy == BUSY)			continue;		BbpCsr.word = 0;		BbpCsr.field.fRead = 1;		BbpCsr.field.BBP_RW_MODE = 1;		BbpCsr.field.Busy = 1;		BbpCsr.field.RegNum = bbp_id;		RTMP_IO_WRITE32(pAd, _regID, BbpCsr.word);		if ((bViaMCU) == TRUE)		{			AsicSendCommandToMcuBBP(pAd, 0x80, 0xff, 0x0, 0x0, FALSE);			/*RtmpusecDelay(1000);*/		}		for (_secCnt=0; _secCnt<MAX_BUSY_COUNT; _secCnt++)		{			RTMP_IO_READ32(pAd, _regID, &BbpCsr.word);			if (BbpCsr.field.Busy == IDLE)				break;		}		if ((BbpCsr.field.Busy == IDLE) && (BbpCsr.field.RegNum == bbp_id))		{			*pValue = (UCHAR)BbpCsr.field.Value;			break;		}	}	if (BbpCsr.field.Busy == BUSY)	{		DBGPRINT_ERR(("BBP(viaMCU=%d) read R%d fail/n", bViaMCU, bbp_id));		*pValue = pAd->BbpWriteLatch[bbp_id];		if (bViaMCU == TRUE)		{			RTMP_IO_READ32(pAd, _regID, &BbpCsr.word);			BbpCsr.field.Busy = 0;			RTMP_IO_WRITE32(pAd, _regID, BbpCsr.word);		}	}	if (bViaMCU == TRUE)		RTMP_MAC_SHR_MSEL_PROTECT_UNLOCK(pAd, __IrqFlags);}
开发者ID:pierce1234,项目名称:rt-n56u,代码行数:64,



注:本文中的DBGPRINT_ERR函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DBGPRINT_RAW函数代码示例
C++ DBGPRINT函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。