Lines Matching refs:hw_fib
129 struct hw_fib *hw_fib; in aac_fib_setup() local
143 dev->hw_fib_va = (struct hw_fib *)((unsigned char *)dev->hw_fib_va + in aac_fib_setup()
151 dev->hw_fib_va = (struct hw_fib *)((unsigned char *)dev->hw_fib_va + in aac_fib_setup()
155 hw_fib = dev->hw_fib_va; in aac_fib_setup()
166 fibptr->hw_fib_va = hw_fib; in aac_fib_setup()
171 hw_fib->header.XferState = cpu_to_le32(0xffffffff); in aac_fib_setup()
172 hw_fib->header.SenderSize = cpu_to_le16(dev->max_fib_size); in aac_fib_setup()
174 hw_fib = (struct hw_fib *)((unsigned char *)hw_fib + in aac_fib_setup()
269 struct hw_fib *hw_fib = fibptr->hw_fib_va; in aac_fib_init() local
271 memset(&hw_fib->header, 0, sizeof(struct aac_fibhdr)); in aac_fib_init()
272 hw_fib->header.StructType = FIB_MAGIC; in aac_fib_init()
273 hw_fib->header.Size = cpu_to_le16(fibptr->dev->max_fib_size); in aac_fib_init()
274 …hw_fib->header.XferState = cpu_to_le32(HostOwned | FibInitialized | FibEmpty | FastResponseCapable… in aac_fib_init()
275 hw_fib->header.u.ReceiverFibAddress = cpu_to_le32(fibptr->hw_fib_pa); in aac_fib_init()
276 hw_fib->header.SenderSize = cpu_to_le16(fibptr->dev->max_fib_size); in aac_fib_init()
289 struct hw_fib *hw_fib = fibptr->hw_fib_va; in fib_dealloc() local
290 hw_fib->header.XferState = 0; in fib_dealloc()
375 int aac_queue_get(struct aac_dev * dev, u32 * index, u32 qid, struct hw_fib * hw_fib, int wait, str… in aac_queue_get() argument
388 entry->size = cpu_to_le32(le16_to_cpu(hw_fib->header.Size)); in aac_queue_get()
397 entry->size = cpu_to_le32(le16_to_cpu(hw_fib->header.Size)); in aac_queue_get()
398 entry->addr = hw_fib->header.SenderFibAddress; in aac_queue_get()
400 …hw_fib->header.u.ReceiverFibAddress = hw_fib->header.SenderFibAddress; /* Let the adapter now whe… in aac_queue_get()
442 struct hw_fib * hw_fib = fibptr->hw_fib_va; in aac_fib_send() local
448 if (!(hw_fib->header.XferState & cpu_to_le32(HostOwned))) in aac_fib_send()
465 hw_fib->header.XferState |= cpu_to_le32(Async | ResponseExpected); in aac_fib_send()
468 hw_fib->header.XferState |= cpu_to_le32(NoResponseExpected); in aac_fib_send()
471 hw_fib->header.XferState |= cpu_to_le32(ResponseExpected); in aac_fib_send()
478 hw_fib->header.SenderFibAddress = cpu_to_le32(((u32)(fibptr - dev->fibs)) << 2); in aac_fib_send()
479 hw_fib->header.Handle = (u32)(fibptr - dev->fibs) + 1; in aac_fib_send()
487 hw_fib->header.Command = cpu_to_le16(command); in aac_fib_send()
488 hw_fib->header.XferState |= cpu_to_le32(SentFromHost); in aac_fib_send()
492 hw_fib->header.Size = cpu_to_le16(sizeof(struct aac_fibhdr) + size); in aac_fib_send()
493 if (le16_to_cpu(hw_fib->header.Size) > le16_to_cpu(hw_fib->header.SenderSize)) { in aac_fib_send()
500 hw_fib->header.XferState |= cpu_to_le32(NormalPriority); in aac_fib_send()
517 dprintk((KERN_DEBUG " Command = %d.\n", le32_to_cpu(hw_fib->header.Command))); in aac_fib_send()
519 dprintk((KERN_DEBUG " XferState = %x.\n", le32_to_cpu(hw_fib->header.XferState))); in aac_fib_send()
731 struct hw_fib * hw_fib = fibptr->hw_fib_va; in aac_fib_adapter_complete() local
739 kfree(hw_fib); in aac_fib_adapter_complete()
743 if (hw_fib->header.XferState == 0) { in aac_fib_adapter_complete()
745 kfree(hw_fib); in aac_fib_adapter_complete()
751 if (hw_fib->header.StructType != FIB_MAGIC && in aac_fib_adapter_complete()
752 hw_fib->header.StructType != FIB_MAGIC2 && in aac_fib_adapter_complete()
753 hw_fib->header.StructType != FIB_MAGIC2_64) { in aac_fib_adapter_complete()
755 kfree(hw_fib); in aac_fib_adapter_complete()
765 if (hw_fib->header.XferState & cpu_to_le32(SentFromAdapter)) { in aac_fib_adapter_complete()
767 kfree (hw_fib); in aac_fib_adapter_complete()
770 hw_fib->header.XferState |= cpu_to_le32(HostProcessed); in aac_fib_adapter_complete()
773 if (size > le16_to_cpu(hw_fib->header.SenderSize)) in aac_fib_adapter_complete()
775 hw_fib->header.Size = cpu_to_le16(size); in aac_fib_adapter_complete()
779 aac_queue_get(dev, &index, AdapNormRespQueue, hw_fib, 1, NULL, &nointr); in aac_fib_adapter_complete()
802 struct hw_fib * hw_fib = fibptr->hw_fib_va; in aac_fib_complete() local
808 if (hw_fib->header.XferState == 0) in aac_fib_complete()
814 if (hw_fib->header.StructType != FIB_MAGIC && in aac_fib_complete()
815 hw_fib->header.StructType != FIB_MAGIC2 && in aac_fib_complete()
816 hw_fib->header.StructType != FIB_MAGIC2_64) in aac_fib_complete()
825 if((hw_fib->header.XferState & cpu_to_le32(SentFromHost)) && in aac_fib_complete()
826 (hw_fib->header.XferState & cpu_to_le32(AdapterProcessed))) in aac_fib_complete()
830 else if(hw_fib->header.XferState & cpu_to_le32(SentFromHost)) in aac_fib_complete()
837 } else if(hw_fib->header.XferState & cpu_to_le32(HostOwned)) { in aac_fib_complete()
891 struct hw_fib * hw_fib = fibptr->hw_fib_va; in aac_handle_aif() local
892 struct aac_aifcmd * aifcmd = (struct aac_aifcmd *)hw_fib->data; in aac_handle_aif()
1578 struct hw_fib * hw_fib; in aac_check_health() local
1606 hw_fib = kzalloc(sizeof(struct hw_fib), GFP_ATOMIC); in aac_check_health()
1608 if (fib && hw_fib) { in aac_check_health()
1611 fib->hw_fib_va = hw_fib; in aac_check_health()
1616 fib->data = hw_fib->data; in aac_check_health()
1617 aif = (struct aac_aifcmd *)hw_fib->data; in aac_check_health()
1639 kfree(hw_fib); in aac_check_health()
1684 struct hw_fib *hw_fib, *hw_newfib; in aac_command_thread() local
1725 hw_fib = fib->hw_fib_va; in aac_command_thread()
1729 fib->hw_fib_va = hw_fib; in aac_command_thread()
1730 fib->data = hw_fib->data; in aac_command_thread()
1735 aifcmd = (struct aac_aifcmd *) hw_fib->data; in aac_command_thread()
1739 *(__le32 *)hw_fib->data = cpu_to_le32(ST_OK); in aac_command_thread()
1748 struct hw_fib ** hw_fib_pool, ** hw_fib_p; in aac_command_thread()
1768 / sizeof(struct hw_fib); /* some extra */ in aac_command_thread()
1779 && ((hw_fib_pool = kmalloc(sizeof(struct hw_fib *) * num, GFP_KERNEL))) in aac_command_thread()
1784 if (!(*(hw_fib_p++) = kmalloc(sizeof(struct hw_fib), GFP_KERNEL))) { in aac_command_thread()
1853 memcpy(hw_newfib, hw_fib, sizeof(struct hw_fib)); in aac_command_thread()
1875 *(__le32 *)hw_fib->data = cpu_to_le32(ST_OK); in aac_command_thread()