Lines Matching full:fib

42  *	fib_map_alloc		-	allocate the fib objects
45 * Allocate and map the shared PCI space for the FIB blocks used to
75 * aac_fib_map_free - free the fib objects
78 * Free the PCI mappings and the memory allocated for FIB blocks
106 struct fib *fibptr = NULL; in aac_fib_vector_assign()
129 * fib area, the unmapped fib data and also the free list
134 struct fib *fibptr; in aac_fib_setup()
172 fibptr->size = sizeof(struct fib); in aac_fib_setup()
204 * Add the fib chain to the free list in aac_fib_setup()
215 * aac_fib_alloc_tag-allocate a fib using tags
216 * @dev: Adapter to allocate the fib for
219 * Allocate a fib from the adapter fib pool using tags
223 struct fib *aac_fib_alloc_tag(struct aac_dev *dev, struct scsi_cmnd *scmd) in aac_fib_alloc_tag()
225 struct fib *fibptr; in aac_fib_alloc_tag()
242 * aac_fib_alloc - allocate a fib
243 * @dev: Adapter to allocate the fib for
245 * Allocate a fib from the adapter fib pool. If the pool is empty we
249 struct fib *aac_fib_alloc(struct aac_dev *dev) in aac_fib_alloc()
251 struct fib * fibptr; in aac_fib_alloc()
265 fibptr->size = sizeof(struct fib); in aac_fib_alloc()
279 * aac_fib_free - free a fib
280 * @fibptr: fib to free up
282 * Frees up a fib and places it on the appropriate queue
285 void aac_fib_free(struct fib *fibptr) in aac_fib_free()
307 * aac_fib_init - initialise a fib
308 * @fibptr: The fib to initialize
310 * Set up the generic fib fields ready for use
313 void aac_fib_init(struct fib *fibptr) in aac_fib_init()
326 * fib_dealloc - deallocate a fib
327 * @fibptr: fib to deallocate
329 * Will deallocate and return to the free pool the FIB pointed to by the
333 static void fib_dealloc(struct fib * fibptr) in fib_dealloc()
410 * @hw_fib: Fib to associate with the queue entry
412 * @fibptr: Driver fib object to go with fib
416 * queue and associates the Fib with the QE. The QE represented by
421 …_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, struct fib * fibptr, unsigned … in aac_queue_get()
432 * Setup queue entry with a command, status and fib mapped in aac_queue_get()
441 * Setup queue entry with command, status and fib mapped in aac_queue_get()
445 /* Restore adapters pointer to the FIB */ in aac_queue_get()
450 * If MapFib is true than we need to map the Fib and put pointers in aac_queue_get()
467 * aac_fib_send - send a fib to the adapter
469 * @fibptr: The fib
470 * @size: Size of fib data area
471 * @priority: Priority of Fib
477 * Sends the requested FIB to the adapter and optionally will wait for a
478 * response FIB. If the caller does not wish to wait for a response than
480 * response FIB is received from the adapter.
483 int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size, in aac_fib_send()
503 * response and the Fib is not allocated from pool. If a response in aac_fib_send()
504 * is not requested the Fib will just be deallocaed by the DPC in aac_fib_send()
506 * further processing will be done besides deleting the Fib. We in aac_fib_send()
524 * Map the fib into 32bits by using the fib number in aac_fib_send()
537 * Set FIB state to indicate where it came from and if we want a in aac_fib_send()
541 * Map the hw fib pointer as a 32bit value in aac_fib_send()
546 * Set the size of the Fib we want to send to the adapter in aac_fib_send()
553 * Get a queue entry connect the FIB to it and send an notify in aac_fib_send()
572 dprintk((KERN_DEBUG "Fib contents:.\n")); in aac_fib_send()
578 dprintk((KERN_DEBUG " fib being sent=%p\n",fibptr)); in aac_fib_send()
707 int aac_hba_send(u8 command, struct fib *fibptr, fib_callback callback, in aac_hba_send()
863 * aac_fib_adapter_complete - complete adapter issued fib
864 * @fibptr: fib to complete
865 * @size: size of fib
867 * Will do all necessary work to complete a FIB that was sent from
871 int aac_fib_adapter_complete(struct fib *fibptr, unsigned short size) in aac_fib_adapter_complete()
937 * aac_fib_complete - fib completion handler
938 * @fibptr: FIB to complete
940 * Will do all necessary work to complete a FIB.
943 int aac_fib_complete(struct fib *fibptr) in aac_fib_complete()
953 * Check for a fib which has already been completed or with a in aac_fib_complete()
1056 * @dev: Which adapter this fib is from
1059 * This routine handles a driver notify fib from the adapter and
1062 static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) in aac_handle_aif()
1521 struct fib *fib = &aac->fibs[index]; in _aac_reset_adapter() local
1522 __le32 XferState = fib->hw_fib_va->header.XferState; in _aac_reset_adapter()
1530 || fib->flags & FIB_CONTEXT_FLAG_WAIT) { in _aac_reset_adapter()
1532 spin_lock_irqsave(&fib->event_lock, flagv); in _aac_reset_adapter()
1533 complete(&fib->event_wait); in _aac_reset_adapter()
1534 spin_unlock_irqrestore(&fib->event_lock, flagv); in _aac_reset_adapter()
1666 struct fib * fibctx = aac_fib_alloc(aac); in aac_reset_adapter()
1691 /* FIB should be freed only after getting in aac_reset_adapter()
1833 * @dev: Which adapter this fib is from
1836 * This routine handles a driver notify fib from the adapter and
1839 static void aac_handle_sa_aif(struct aac_dev *dev, struct fib *fibptr) in aac_handle_sa_aif()
1909 struct fib **fib_pool, in fillup_pools()
1913 struct fib **fib_p; in fillup_pools()
1924 *(fib_p) = kmalloc(sizeof(struct fib), GFP_KERNEL); in fillup_pools()
1940 struct fib **fib_pool, in wakeup_fibctx_threads()
1941 struct fib *fib, in wakeup_fibctx_threads() argument
1948 struct fib **fib_p; in wakeup_fibctx_threads()
1951 struct fib *newfib; in wakeup_fibctx_threads()
1960 * fib, and then set the event to wake up the in wakeup_fibctx_threads()
2009 * Make the copy of the FIB in wakeup_fibctx_threads()
2012 memcpy(newfib, fib, sizeof(struct fib)); in wakeup_fibctx_threads()
2015 * Put the FIB onto the in wakeup_fibctx_threads()
2029 * Set the status of this FIB in wakeup_fibctx_threads()
2032 aac_fib_adapter_complete(fib, sizeof(u32)); in wakeup_fibctx_threads()
2040 struct fib *fib; in aac_process_events() local
2052 struct fib **fib_pool, **fib_p; in aac_process_events()
2062 fib = list_entry(entry, struct fib, fiblink); in aac_process_events()
2063 hw_fib = fib->hw_fib_va; in aac_process_events()
2066 aac_handle_sa_aif(dev, fib); in aac_process_events()
2067 aac_fib_adapter_complete(fib, (u16)sizeof(u32)); in aac_process_events()
2071 * We will process the FIB here or pass it to a in aac_process_events()
2076 memset(fib, 0, sizeof(struct fib)); in aac_process_events()
2077 fib->type = FSAFS_NTC_FIB_CONTEXT; in aac_process_events()
2078 fib->size = sizeof(struct fib); in aac_process_events()
2079 fib->hw_fib_va = hw_fib; in aac_process_events()
2080 fib->data = hw_fib->data; in aac_process_events()
2081 fib->dev = dev; in aac_process_events()
2089 aac_handle_aif(dev, fib); in aac_process_events()
2091 aac_fib_adapter_complete(fib, (u16)sizeof(u32)); in aac_process_events()
2102 aac_handle_aif(dev, fib); in aac_process_events()
2117 fib_pool = kmalloc_array(num, sizeof(struct fib *), GFP_KERNEL); in aac_process_events()
2122 * Fill up fib pointer pools with actual fibs in aac_process_events()
2134 fib, hw_fib, num); in aac_process_events()
2150 kfree(fib); in aac_process_events()
2168 struct fib *fibptr; in aac_send_wellness_command()
2223 * FIB should be freed only after in aac_send_wellness_command()
2268 struct fib *fibptr; in aac_send_hosttime()
2289 * FIB should be freed only after in aac_send_hosttime()