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
67 * aac_fib_map_free - free the fib objects
70 * Free the PCI mappings and the memory allocated for FIB blocks
98 struct fib *fibptr = NULL; in aac_fib_vector_assign()
121 * fib area, the unmapped fib data and also the free list
126 struct fib *fibptr; in aac_fib_setup()
164 fibptr->size = sizeof(struct fib); in aac_fib_setup()
196 * Add the fib chain to the free list in aac_fib_setup()
207 * aac_fib_alloc_tag-allocate a fib using tags
208 * @dev: Adapter to allocate the fib for
211 * Allocate a fib from the adapter fib pool using tags
215 struct fib *aac_fib_alloc_tag(struct aac_dev *dev, struct scsi_cmnd *scmd) in aac_fib_alloc_tag()
217 struct fib *fibptr; in aac_fib_alloc_tag()
234 * aac_fib_alloc - allocate a fib
235 * @dev: Adapter to allocate the fib for
237 * Allocate a fib from the adapter fib pool. If the pool is empty we
241 struct fib *aac_fib_alloc(struct aac_dev *dev) in aac_fib_alloc()
243 struct fib * fibptr; in aac_fib_alloc()
257 fibptr->size = sizeof(struct fib); in aac_fib_alloc()
271 * aac_fib_free - free a fib
272 * @fibptr: fib to free up
274 * Frees up a fib and places it on the appropriate queue
277 void aac_fib_free(struct fib *fibptr) in aac_fib_free()
299 * aac_fib_init - initialise a fib
300 * @fibptr: The fib to initialize
302 * Set up the generic fib fields ready for use
305 void aac_fib_init(struct fib *fibptr) in aac_fib_init()
318 * fib_dealloc - deallocate a fib
319 * @fibptr: fib to deallocate
321 * Will deallocate and return to the free pool the FIB pointed to by the
325 static void fib_dealloc(struct fib * fibptr) in fib_dealloc()
402 * @hw_fib: Fib to associate with the queue entry
404 * @fibptr: Driver fib object to go with fib
408 * queue and associates the Fib with the QE. The QE represented by
413 …_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, struct fib * fibptr, unsigned … in aac_queue_get()
424 * Setup queue entry with a command, status and fib mapped in aac_queue_get()
433 * Setup queue entry with command, status and fib mapped in aac_queue_get()
437 /* Restore adapters pointer to the FIB */ in aac_queue_get()
442 * If MapFib is true than we need to map the Fib and put pointers in aac_queue_get()
459 * aac_fib_send - send a fib to the adapter
461 * @fibptr: The fib
462 * @size: Size of fib data area
463 * @priority: Priority of Fib
469 * Sends the requested FIB to the adapter and optionally will wait for a
470 * response FIB. If the caller does not wish to wait for a response than
472 * response FIB is received from the adapter.
475 int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size, in aac_fib_send()
495 * response and the Fib is not allocated from pool. If a response in aac_fib_send()
496 * is not requested the Fib will just be deallocaed by the DPC in aac_fib_send()
498 * further processing will be done besides deleting the Fib. We in aac_fib_send()
516 * Map the fib into 32bits by using the fib number in aac_fib_send()
529 * Set FIB state to indicate where it came from and if we want a in aac_fib_send()
533 * Map the hw fib pointer as a 32bit value in aac_fib_send()
538 * Set the size of the Fib we want to send to the adapter in aac_fib_send()
545 * Get a queue entry connect the FIB to it and send an notify in aac_fib_send()
564 dprintk((KERN_DEBUG "Fib contents:.\n")); in aac_fib_send()
570 dprintk((KERN_DEBUG " fib being sent=%p\n",fibptr)); in aac_fib_send()
699 int aac_hba_send(u8 command, struct fib *fibptr, fib_callback callback, in aac_hba_send()
855 * aac_fib_adapter_complete - complete adapter issued fib
856 * @fibptr: fib to complete
857 * @size: size of fib
859 * Will do all necessary work to complete a FIB that was sent from
863 int aac_fib_adapter_complete(struct fib *fibptr, unsigned short size) in aac_fib_adapter_complete()
929 * aac_fib_complete - fib completion handler
930 * @fibptr: FIB to complete
932 * Will do all necessary work to complete a FIB.
935 int aac_fib_complete(struct fib *fibptr) in aac_fib_complete()
945 * Check for a fib which has already been completed or with a in aac_fib_complete()
1048 * @dev: Which adapter this fib is from
1051 * This routine handles a driver notify fib from the adapter and
1054 static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) in aac_handle_aif()
1513 struct fib *fib = &aac->fibs[index]; in _aac_reset_adapter() local
1514 __le32 XferState = fib->hw_fib_va->header.XferState; in _aac_reset_adapter()
1522 || fib->flags & FIB_CONTEXT_FLAG_WAIT) { in _aac_reset_adapter()
1524 spin_lock_irqsave(&fib->event_lock, flagv); in _aac_reset_adapter()
1525 complete(&fib->event_wait); in _aac_reset_adapter()
1526 spin_unlock_irqrestore(&fib->event_lock, flagv); in _aac_reset_adapter()
1658 struct fib * fibctx = aac_fib_alloc(aac); in aac_reset_adapter()
1683 /* FIB should be freed only after getting in aac_reset_adapter()
1825 * @dev: Which adapter this fib is from
1828 * This routine handles a driver notify fib from the adapter and
1831 static void aac_handle_sa_aif(struct aac_dev *dev, struct fib *fibptr) in aac_handle_sa_aif()
1901 struct fib **fib_pool, in fillup_pools()
1905 struct fib **fib_p; in fillup_pools()
1916 *(fib_p) = kmalloc(sizeof(struct fib), GFP_KERNEL); in fillup_pools()
1932 struct fib **fib_pool, in wakeup_fibctx_threads()
1933 struct fib *fib, in wakeup_fibctx_threads() argument
1940 struct fib **fib_p; in wakeup_fibctx_threads()
1943 struct fib *newfib; in wakeup_fibctx_threads()
1952 * fib, and then set the event to wake up the in wakeup_fibctx_threads()
2001 * Make the copy of the FIB in wakeup_fibctx_threads()
2004 memcpy(newfib, fib, sizeof(struct fib)); in wakeup_fibctx_threads()
2007 * Put the FIB onto the in wakeup_fibctx_threads()
2021 * Set the status of this FIB in wakeup_fibctx_threads()
2024 aac_fib_adapter_complete(fib, sizeof(u32)); in wakeup_fibctx_threads()
2032 struct fib *fib; in aac_process_events() local
2044 struct fib **fib_pool, **fib_p; in aac_process_events()
2054 fib = list_entry(entry, struct fib, fiblink); in aac_process_events()
2055 hw_fib = fib->hw_fib_va; in aac_process_events()
2058 aac_handle_sa_aif(dev, fib); in aac_process_events()
2059 aac_fib_adapter_complete(fib, (u16)sizeof(u32)); in aac_process_events()
2063 * We will process the FIB here or pass it to a in aac_process_events()
2068 memset(fib, 0, sizeof(struct fib)); in aac_process_events()
2069 fib->type = FSAFS_NTC_FIB_CONTEXT; in aac_process_events()
2070 fib->size = sizeof(struct fib); in aac_process_events()
2071 fib->hw_fib_va = hw_fib; in aac_process_events()
2072 fib->data = hw_fib->data; in aac_process_events()
2073 fib->dev = dev; in aac_process_events()
2081 aac_handle_aif(dev, fib); in aac_process_events()
2083 aac_fib_adapter_complete(fib, (u16)sizeof(u32)); in aac_process_events()
2094 aac_handle_aif(dev, fib); in aac_process_events()
2109 fib_pool = kmalloc_array(num, sizeof(struct fib *), GFP_KERNEL); in aac_process_events()
2114 * Fill up fib pointer pools with actual fibs in aac_process_events()
2126 fib, hw_fib, num); in aac_process_events()
2142 kfree(fib); in aac_process_events()
2160 struct fib *fibptr; in aac_send_wellness_command()
2215 * FIB should be freed only after in aac_send_wellness_command()
2260 struct fib *fibptr; in aac_send_hosttime()
2281 * FIB should be freed only after in aac_send_hosttime()