• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/rt2860/common/

Lines Matching defs:Queue

366 		Status = MlmeQueueInit(&pAd->Mlme.Queue);
472 while (!MlmeQueueEmpty(&pAd->Mlme.Queue)) {
478 pAd->Mlme.Queue.Num));
482 if (MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
636 MlmeQueueDestroy(&pAd->Mlme.Queue);
4643 /*! \brief Initialize The MLME Queue, used by MLME Functions
4644 * \param *Queue The MLME Queue
4653 int MlmeQueueInit(struct rt_mlme_queue *Queue)
4657 NdisAllocateSpinLock(&Queue->Lock);
4659 Queue->Num = 0;
4660 Queue->Head = 0;
4661 Queue->Tail = 0;
4664 Queue->Entry[i].Occupied = FALSE;
4665 Queue->Entry[i].MsgLen = 0;
4666 NdisZeroMemory(Queue->Entry[i].Msg, MGMT_DMA_BUFFER_SIZE);
4673 * \param *Queue The MLME Queue
4692 struct rt_mlme_queue *Queue = (struct rt_mlme_queue *)& pAd->Mlme.Queue;
4707 if (MlmeQueueFull(Queue)) {
4711 NdisAcquireSpinLock(&(Queue->Lock));
4712 Tail = Queue->Tail;
4713 Queue->Tail++;
4714 Queue->Num++;
4715 if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE) {
4716 Queue->Tail = 0;
4719 Queue->Entry[Tail].Wcid = RESERVED_WCID;
4720 Queue->Entry[Tail].Occupied = TRUE;
4721 Queue->Entry[Tail].Machine = Machine;
4722 Queue->Entry[Tail].MsgType = MsgType;
4723 Queue->Entry[Tail].MsgLen = MsgLen;
4726 NdisMoveMemory(Queue->Entry[Tail].Msg, Msg, MsgLen);
4729 NdisReleaseSpinLock(&(Queue->Lock));
4734 * \param *Queue The MLME Queue
4740 * \return TRUE if everything ok, FALSE otherwise (like Queue Full)
4759 struct rt_mlme_queue *Queue = (struct rt_mlme_queue *)& pAd->Mlme.Queue;
4775 if (MlmeQueueFull(Queue)) {
4787 NdisAcquireSpinLock(&(Queue->Lock));
4788 Tail = Queue->Tail;
4789 Queue->Tail++;
4790 Queue->Num++;
4791 if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE) {
4792 Queue->Tail = 0;
4794 Queue->Entry[Tail].Occupied = TRUE;
4795 Queue->Entry[Tail].Machine = Machine;
4796 Queue->Entry[Tail].MsgType = MsgType;
4797 Queue->Entry[Tail].MsgLen = MsgLen;
4798 Queue->Entry[Tail].TimeStamp.u.LowPart = TimeStampLow;
4799 Queue->Entry[Tail].TimeStamp.u.HighPart = TimeStampHigh;
4800 Queue->Entry[Tail].Rssi0 = Rssi0;
4801 Queue->Entry[Tail].Rssi1 = Rssi1;
4802 Queue->Entry[Tail].Rssi2 = Rssi2;
4803 Queue->Entry[Tail].Signal = Signal;
4804 Queue->Entry[Tail].Wcid = (u8)Wcid;
4806 Queue->Entry[Tail].Channel = pAd->LatchRfRegs.Channel;
4809 NdisMoveMemory(Queue->Entry[Tail].Msg, Msg, MsgLen);
4812 NdisReleaseSpinLock(&(Queue->Lock));
4819 /*! \brief Dequeue a message from the MLME Queue
4820 * \param *Queue The MLME Queue
4821 * \param *Elem The message dequeued from MLME Queue
4829 BOOLEAN MlmeDequeue(struct rt_mlme_queue *Queue, struct rt_mlme_queue_elem ** Elem)
4831 NdisAcquireSpinLock(&(Queue->Lock));
4832 *Elem = &(Queue->Entry[Queue->Head]);
4833 Queue->Num--;
4834 Queue->Head++;
4835 if (Queue->Head == MAX_LEN_OF_MLME_QUEUE) {
4836 Queue->Head = 0;
4838 NdisReleaseSpinLock(&(Queue->Lock));
4863 while (!MlmeQueueEmpty(&pAd->Mlme.Queue)) {
4865 if (MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
4913 /*! \brief test if the MLME Queue is empty
4914 * \param *Queue The MLME Queue
4915 * \return TRUE if the Queue is empty, FALSE otherwise
4922 BOOLEAN MlmeQueueEmpty(struct rt_mlme_queue *Queue)
4926 NdisAcquireSpinLock(&(Queue->Lock));
4927 Ans = (Queue->Num == 0);
4928 NdisReleaseSpinLock(&(Queue->Lock));
4933 /*! \brief test if the MLME Queue is full
4934 * \param *Queue The MLME Queue
4935 * \return TRUE if the Queue is empty, FALSE otherwise
4943 BOOLEAN MlmeQueueFull(struct rt_mlme_queue *Queue)
4947 NdisAcquireSpinLock(&(Queue->Lock));
4948 Ans = (Queue->Num == MAX_LEN_OF_MLME_QUEUE
4949 || Queue->Entry[Queue->Tail].Occupied);
4950 NdisReleaseSpinLock(&(Queue->Lock));
4955 /*! \brief The destructor of MLME Queue
4960 * \note Clear Mlme Queue, Set Queue->Num to Zero.