• 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 refs:pAd

77 static void RtmpTimerQHandle(struct rt_rtmp_adapter *pAd)
87 pTask = &pAd->timerTask;
92 RTMP_WAIT_EVENT_INTERRUPTIBLE(pAd, pTask);
97 if (pAd->TimerQ.status == RTMP_TASK_STAT_STOPED)
101 while (pAd->TimerQ.pQHead) {
102 RTMP_INT_LOCK(&pAd->TimerQLock, irqFlag);
103 pEntry = pAd->TimerQ.pQHead;
108 pAd->TimerQ.pQHead = pEntry->pNext;
109 if (pEntry == pAd->TimerQ.pQTail)
110 pAd->TimerQ.pQTail = NULL;
113 pEntry->pNext = pAd->TimerQ.pQPollFreeList;
114 pAd->TimerQ.pQPollFreeList = pEntry;
116 RTMP_INT_UNLOCK(&pAd->TimerQLock, irqFlag);
120 && (!pAd->PM_FlgSuspend))
133 pAd->TimerQ.status = RTMP_TASK_STAT_STOPED;
134 RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS);
144 struct rt_rtmp_adapter *pAd;
147 pAd = pTask->priv;
151 RtmpTimerQHandle(pAd);
177 struct rt_rtmp_timer_task_entry *RtmpTimerQInsert(struct rt_rtmp_adapter *pAd,
182 struct rt_rtmp_os_task *pTask = &pAd->timerTask;
184 RTMP_INT_LOCK(&pAd->TimerQLock, irqFlags);
185 if (pAd->TimerQ.status & RTMP_TASK_CAN_DO_INSERT) {
186 if (pAd->TimerQ.pQPollFreeList) {
187 pQNode = pAd->TimerQ.pQPollFreeList;
188 pAd->TimerQ.pQPollFreeList = pQNode->pNext;
193 pQTail = pAd->TimerQ.pQTail;
194 if (pAd->TimerQ.pQTail != NULL)
196 pAd->TimerQ.pQTail = pQNode;
197 if (pAd->TimerQ.pQHead == NULL)
198 pAd->TimerQ.pQHead = pQNode;
201 RTMP_INT_UNLOCK(&pAd->TimerQLock, irqFlags);
214 BOOLEAN RtmpTimerQRemove(struct rt_rtmp_adapter *pAd, struct rt_ralink_timer *pTimer)
219 RTMP_INT_LOCK(&pAd->TimerQLock, irqFlags);
220 if (pAd->TimerQ.status >= RTMP_TASK_STAT_INITED) {
221 pNode = pAd->TimerQ.pQHead;
231 if (pNode == pAd->TimerQ.pQHead)
232 pAd->TimerQ.pQHead = pNode->pNext;
233 if (pNode == pAd->TimerQ.pQTail)
234 pAd->TimerQ.pQTail = pPrev;
239 pNode->pNext = pAd->TimerQ.pQPollFreeList;
240 pAd->TimerQ.pQPollFreeList = pNode;
243 RTMP_INT_UNLOCK(&pAd->TimerQLock, irqFlags);
248 void RtmpTimerQExit(struct rt_rtmp_adapter *pAd)
253 RTMP_INT_LOCK(&pAd->TimerQLock, irqFlags);
254 while (pAd->TimerQ.pQHead) {
255 pTimerQ = pAd->TimerQ.pQHead;
256 pAd->TimerQ.pQHead = pTimerQ->pNext;
259 pAd->TimerQ.pQPollFreeList = NULL;
260 os_free_mem(pAd, pAd->TimerQ.pTimerQPoll);
261 pAd->TimerQ.pQTail = NULL;
262 pAd->TimerQ.pQHead = NULL;
264 pAd->TimerQ.status = RTMP_TASK_STAT_STOPED;
266 RTMP_INT_UNLOCK(&pAd->TimerQLock, irqFlags);
270 void RtmpTimerQInit(struct rt_rtmp_adapter *pAd)
276 NdisAllocateSpinLock(&pAd->TimerQLock);
278 NdisZeroMemory(&pAd->TimerQ, sizeof(pAd->TimerQ));
280 os_alloc_mem(pAd, &pAd->TimerQ.pTimerQPoll,
282 if (pAd->TimerQ.pTimerQPoll) {
284 pQNode = (struct rt_rtmp_timer_task_entry *)pAd->TimerQ.pTimerQPoll;
285 NdisZeroMemory(pAd->TimerQ.pTimerQPoll,
289 RTMP_INT_LOCK(&pAd->TimerQLock, irqFlags);
295 pAd->TimerQ.pQPollFreeList = pEntry;
296 pAd->TimerQ.pQHead = NULL;
297 pAd->TimerQ.pQTail = NULL;
298 pAd->TimerQ.status = RTMP_TASK_STAT_INITED;
299 RTMP_INT_UNLOCK(&pAd->TimerQLock, irqFlags);