Lines Matching refs:reply_q
903 struct adapter_reply_queue *reply_q = bus_id; in _base_interrupt() local
910 u8 msix_index = reply_q->msix_index; in _base_interrupt()
911 struct MPT3SAS_ADAPTER *ioc = reply_q->ioc; in _base_interrupt()
918 if (!atomic_add_unless(&reply_q->busy, 1, 1)) in _base_interrupt()
921 rpf = &reply_q->reply_post_free[reply_q->reply_post_host_index]; in _base_interrupt()
925 atomic_dec(&reply_q->busy); in _base_interrupt()
988 reply_q->reply_post_host_index = in _base_interrupt()
989 (reply_q->reply_post_host_index == in _base_interrupt()
991 reply_q->reply_post_host_index + 1; in _base_interrupt()
993 reply_q->reply_post_free[reply_q->reply_post_host_index]. in _base_interrupt()
998 if (!reply_q->reply_post_host_index) in _base_interrupt()
999 rpf = reply_q->reply_post_free; in _base_interrupt()
1007 atomic_dec(&reply_q->busy); in _base_interrupt()
1012 writel(reply_q->reply_post_host_index | (msix_index << in _base_interrupt()
1014 atomic_dec(&reply_q->busy); in _base_interrupt()
1044 struct adapter_reply_queue *reply_q; in mpt3sas_base_flush_reply_queues() local
1052 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in mpt3sas_base_flush_reply_queues()
1056 if (reply_q->msix_index == 0) in mpt3sas_base_flush_reply_queues()
1058 _base_interrupt(reply_q->vector, (void *)reply_q); in mpt3sas_base_flush_reply_queues()
1580 struct adapter_reply_queue *reply_q, *next; in _base_free_irq() local
1585 list_for_each_entry_safe(reply_q, next, &ioc->reply_queue_list, list) { in _base_free_irq()
1586 list_del(&reply_q->list); in _base_free_irq()
1587 irq_set_affinity_hint(reply_q->vector, NULL); in _base_free_irq()
1588 free_cpumask_var(reply_q->affinity_hint); in _base_free_irq()
1589 synchronize_irq(reply_q->vector); in _base_free_irq()
1590 free_irq(reply_q->vector, reply_q); in _base_free_irq()
1591 kfree(reply_q); in _base_free_irq()
1606 struct adapter_reply_queue *reply_q; in _base_request_irq() local
1609 reply_q = kzalloc(sizeof(struct adapter_reply_queue), GFP_KERNEL); in _base_request_irq()
1610 if (!reply_q) { in _base_request_irq()
1615 reply_q->ioc = ioc; in _base_request_irq()
1616 reply_q->msix_index = index; in _base_request_irq()
1617 reply_q->vector = vector; in _base_request_irq()
1619 if (!alloc_cpumask_var(&reply_q->affinity_hint, GFP_KERNEL)) in _base_request_irq()
1621 cpumask_clear(reply_q->affinity_hint); in _base_request_irq()
1623 atomic_set(&reply_q->busy, 0); in _base_request_irq()
1625 snprintf(reply_q->name, MPT_NAME_LENGTH, "%s%d-msix%d", in _base_request_irq()
1628 snprintf(reply_q->name, MPT_NAME_LENGTH, "%s%d", in _base_request_irq()
1630 r = request_irq(vector, _base_interrupt, IRQF_SHARED, reply_q->name, in _base_request_irq()
1631 reply_q); in _base_request_irq()
1634 reply_q->name, vector); in _base_request_irq()
1635 kfree(reply_q); in _base_request_irq()
1639 INIT_LIST_HEAD(&reply_q->list); in _base_request_irq()
1640 list_add_tail(&reply_q->list, &ioc->reply_queue_list); in _base_request_irq()
1657 struct adapter_reply_queue *reply_q; in _base_assign_reply_queues() local
1672 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_assign_reply_queues()
1684 cpumask_or(reply_q->affinity_hint, in _base_assign_reply_queues()
1685 reply_q->affinity_hint, get_cpu_mask(cpu)); in _base_assign_reply_queues()
1689 if (irq_set_affinity_hint(reply_q->vector, in _base_assign_reply_queues()
1690 reply_q->affinity_hint)) in _base_assign_reply_queues()
1693 ioc->name, reply_q->vector)); in _base_assign_reply_queues()
1810 struct adapter_reply_queue *reply_q; in mpt3sas_base_map_resources() local
1883 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) in mpt3sas_base_map_resources()
1885 reply_q->name, ((ioc->msix_enable) ? "PCI-MSI-X enabled" : in mpt3sas_base_map_resources()
1886 "IO-APIC enabled"), reply_q->vector); in mpt3sas_base_map_resources()
4418 struct adapter_reply_queue *reply_q; in _base_make_ioc_operational() local
4494 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_make_ioc_operational()
4495 reply_q->reply_post_host_index = 0; in _base_make_ioc_operational()
4496 reply_q->reply_post_free = (Mpi2ReplyDescriptorsUnion_t *) in _base_make_ioc_operational()
4499 reply_q->reply_post_free[i].Words = in _base_make_ioc_operational()
4524 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_make_ioc_operational()
4525 writel(reply_q->msix_index << MPI2_RPHI_MSIX_INDEX_SHIFT, in _base_make_ioc_operational()