Lines Matching refs:lpQueue
23 static __inline__ int set_inUse( struct ItLpQueue * lpQueue ) in set_inUse() argument
26 u32 * inUseP = &(lpQueue->xInUseWord); in set_inUse()
37 : "=&r" (t), "=m" (lpQueue->xInUseWord) in set_inUse()
38 : "r" (inUseP), "m" (lpQueue->xInUseWord) in set_inUse()
44 static __inline__ void clear_inUse( struct ItLpQueue * lpQueue ) in clear_inUse() argument
46 lpQueue->xInUseWord = 0; in clear_inUse()
53 struct HvLpEvent * ItLpQueue_getNextLpEvent( struct ItLpQueue * lpQueue ) in ItLpQueue_getNextLpEvent() argument
56 (struct HvLpEvent *)lpQueue->xSlicCurEventPtr; in ItLpQueue_getNextLpEvent()
61 lpQueue->xSlicCurEventPtr += ((nextLpEvent->xSizeMinus1 + in ItLpQueue_getNextLpEvent()
66 if (lpQueue->xSlicCurEventPtr > lpQueue->xSlicLastValidEventPtr) in ItLpQueue_getNextLpEvent()
67 lpQueue->xSlicCurEventPtr = lpQueue->xSlicEventStackPtr; in ItLpQueue_getNextLpEvent()
75 int ItLpQueue_isLpIntPending( struct ItLpQueue * lpQueue ) in ItLpQueue_isLpIntPending() argument
79 if ( lpQueue ) { in ItLpQueue_isLpIntPending()
80 nextLpEvent = (struct HvLpEvent *)lpQueue->xSlicCurEventPtr; in ItLpQueue_isLpIntPending()
81 retval = nextLpEvent->xFlags.xValid | lpQueue->xPlicOverflowIntPending; in ItLpQueue_isLpIntPending()
108 unsigned ItLpQueue_process( struct ItLpQueue * lpQueue, struct pt_regs *regs ) in ItLpQueue_process() argument
114 if ( !set_inUse( lpQueue ) ) in ItLpQueue_process()
123 nextLpEvent = ItLpQueue_getNextLpEvent( lpQueue ); in ItLpQueue_process()
129 lpQueue->xLpIntCount++; in ItLpQueue_process()
144 lpQueue->xLpIntCountByType[nextLpEvent->xType]++; in ItLpQueue_process()
157 if ( lpQueue->xPlicOverflowIntPending ) { in ItLpQueue_process()
159 lpQueue->xIndex); in ItLpQueue_process()
167 clear_inUse( lpQueue ); in ItLpQueue_process()