Lines Matching refs:fib
59 struct fib * fib; in aac_response_normal() local
75 fib = &dev->fibs[index >> 2]; in aac_response_normal()
76 hwfib = fib->hw_fib_va; in aac_response_normal()
89 if (unlikely(fib->flags & FIB_CONTEXT_FLAG_TIMED_OUT)) { in aac_response_normal()
91 aac_fib_complete(fib); in aac_response_normal()
92 aac_fib_free(fib); in aac_response_normal()
104 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP; in aac_response_normal()
125 fib->flags &= FIB_CONTEXT_FLAG_FASTRESP; in aac_response_normal()
126 fib->callback(fib->callback_data, fib); in aac_response_normal()
129 spin_lock_irqsave(&fib->event_lock, flagv); in aac_response_normal()
130 if (!fib->done) { in aac_response_normal()
131 fib->done = 1; in aac_response_normal()
132 up(&fib->event_wait); in aac_response_normal()
134 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_response_normal()
141 if (fib->done == 2) { in aac_response_normal()
142 spin_lock_irqsave(&fib->event_lock, flagv); in aac_response_normal()
143 fib->done = 0; in aac_response_normal()
144 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_response_normal()
145 aac_fib_complete(fib); in aac_response_normal()
146 aac_fib_free(fib); in aac_response_normal()
188 struct fib fibctx; in aac_command_normal()
191 struct fib *fib = &fibctx; in aac_command_normal() local
202 if((fib = kmalloc(sizeof(struct fib), GFP_ATOMIC)) == NULL) in aac_command_normal()
203 fib = &fibctx; in aac_command_normal()
205 memset(fib, 0, sizeof(struct fib)); in aac_command_normal()
206 INIT_LIST_HEAD(&fib->fiblink); in aac_command_normal()
207 fib->type = FSAFS_NTC_FIB_CONTEXT; in aac_command_normal()
208 fib->size = sizeof(struct fib); in aac_command_normal()
209 fib->hw_fib_va = hw_fib; in aac_command_normal()
210 fib->data = hw_fib->data; in aac_command_normal()
211 fib->dev = dev; in aac_command_normal()
214 if (dev->aif_thread && fib != &fibctx) { in aac_command_normal()
215 list_add_tail(&fib->fiblink, &q->cmdq); in aac_command_normal()
225 aac_fib_adapter_complete(fib, sizeof(u32)); in aac_command_normal()
243 static void aac_aif_callback(void *context, struct fib * fibptr) in aac_aif_callback()
245 struct fib *fibctx; in aac_aif_callback()
250 fibctx = (struct fib *)context; in aac_aif_callback()
292 struct fib * fib; in aac_intr_normal() local
302 || (!(fib = kzalloc(sizeof(struct fib),GFP_ATOMIC)))) in aac_intr_normal()
305 kfree (fib); in aac_intr_normal()
315 INIT_LIST_HEAD(&fib->fiblink); in aac_intr_normal()
316 fib->type = FSAFS_NTC_FIB_CONTEXT; in aac_intr_normal()
317 fib->size = sizeof(struct fib); in aac_intr_normal()
318 fib->hw_fib_va = hw_fib; in aac_intr_normal()
319 fib->data = hw_fib->data; in aac_intr_normal()
320 fib->dev = dev; in aac_intr_normal()
323 list_add_tail(&fib->fiblink, &q->cmdq); in aac_intr_normal()
328 struct fib *fibctx; in aac_intr_normal()
346 struct fib *fib = &dev->fibs[index]; in aac_intr_normal() local
347 struct hw_fib * hwfib = fib->hw_fib_va; in aac_intr_normal()
359 if (unlikely(fib->flags & FIB_CONTEXT_FLAG_TIMED_OUT)) { in aac_intr_normal()
360 aac_fib_complete(fib); in aac_intr_normal()
361 aac_fib_free(fib); in aac_intr_normal()
371 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP; in aac_intr_normal()
392 if (likely(fib->callback && fib->callback_data)) { in aac_intr_normal()
393 fib->flags &= FIB_CONTEXT_FLAG_FASTRESP; in aac_intr_normal()
394 fib->callback(fib->callback_data, fib); in aac_intr_normal()
396 aac_fib_complete(fib); in aac_intr_normal()
397 aac_fib_free(fib); in aac_intr_normal()
402 spin_lock_irqsave(&fib->event_lock, flagv); in aac_intr_normal()
403 if (!fib->done) { in aac_intr_normal()
404 fib->done = 1; in aac_intr_normal()
405 up(&fib->event_wait); in aac_intr_normal()
407 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_intr_normal()
414 if (fib->done == 2) { in aac_intr_normal()
415 spin_lock_irqsave(&fib->event_lock, flagv); in aac_intr_normal()
416 fib->done = 0; in aac_intr_normal()
417 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_intr_normal()
418 aac_fib_complete(fib); in aac_intr_normal()
419 aac_fib_free(fib); in aac_intr_normal()