Lines Matching refs:fib

60 	struct fib * fib;  in aac_response_normal()  local
76 fib = &dev->fibs[index >> 2]; in aac_response_normal()
77 hwfib = fib->hw_fib_va; in aac_response_normal()
90 if (unlikely(fib->flags & FIB_CONTEXT_FLAG_TIMED_OUT)) { in aac_response_normal()
92 aac_fib_complete(fib); in aac_response_normal()
93 aac_fib_free(fib); in aac_response_normal()
105 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()
293 struct fib * fib; in aac_intr_normal() local
303 || (!(fib = kzalloc(sizeof(struct fib),GFP_ATOMIC)))) in aac_intr_normal()
306 kfree (fib); in aac_intr_normal()
310 fib->hbacmd_size = index; /* store event type */ in aac_intr_normal()
318 INIT_LIST_HEAD(&fib->fiblink); in aac_intr_normal()
319 fib->type = FSAFS_NTC_FIB_CONTEXT; in aac_intr_normal()
320 fib->size = sizeof(struct fib); in aac_intr_normal()
321 fib->hw_fib_va = hw_fib; in aac_intr_normal()
322 fib->data = hw_fib->data; in aac_intr_normal()
323 fib->dev = dev; in aac_intr_normal()
326 list_add_tail(&fib->fiblink, &q->cmdq); in aac_intr_normal()
331 struct fib *fibctx; in aac_intr_normal()
349 struct fib *fib = &dev->fibs[index]; in aac_intr_normal() local
362 if (unlikely(fib->flags & FIB_CONTEXT_FLAG_TIMED_OUT)) { in aac_intr_normal()
363 aac_fib_complete(fib); in aac_intr_normal()
364 aac_fib_free(fib); in aac_intr_normal()
370 if (fib->flags & FIB_CONTEXT_FLAG_NATIVE_HBA) { in aac_intr_normal()
373 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP; in aac_intr_normal()
375 if (fib->callback) { in aac_intr_normal()
382 spin_lock_irqsave(&fib->event_lock, flagv); in aac_intr_normal()
383 if (fib->done == 2) { in aac_intr_normal()
384 fib->done = 1; in aac_intr_normal()
387 fib->done = 1; in aac_intr_normal()
388 up(&fib->event_wait); in aac_intr_normal()
390 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_intr_normal()
399 aac_fib_complete(fib); in aac_intr_normal()
402 struct hw_fib *hwfib = fib->hw_fib_va; in aac_intr_normal()
409 fib->flags |= FIB_CONTEXT_FLAG_FASTRESP; in aac_intr_normal()
434 spin_lock_irqsave(&fib->event_lock, flagv); in aac_intr_normal()
435 if (fib->done == 2) { in aac_intr_normal()
436 fib->done = 1; in aac_intr_normal()
439 fib->done = 1; in aac_intr_normal()
440 up(&fib->event_wait); in aac_intr_normal()
442 spin_unlock_irqrestore(&fib->event_lock, flagv); in aac_intr_normal()
451 aac_fib_complete(fib); in aac_intr_normal()
461 if (likely(fib->callback && fib->callback_data)) { in aac_intr_normal()
462 fib->callback(fib->callback_data, fib); in aac_intr_normal()
464 aac_fib_complete(fib); in aac_intr_normal()
465 aac_fib_free(fib); in aac_intr_normal()