Lines Matching refs:reply_q

916 	struct adapter_reply_queue *reply_q = bus_id;  in _base_interrupt()  local
923 u8 msix_index = reply_q->msix_index; in _base_interrupt()
924 struct MPT2SAS_ADAPTER *ioc = reply_q->ioc; in _base_interrupt()
931 if (!atomic_add_unless(&reply_q->busy, 1, 1)) in _base_interrupt()
934 rpf = &reply_q->reply_post_free[reply_q->reply_post_host_index]; in _base_interrupt()
938 atomic_dec(&reply_q->busy); in _base_interrupt()
995 reply_q->reply_post_host_index = in _base_interrupt()
996 (reply_q->reply_post_host_index == in _base_interrupt()
998 reply_q->reply_post_host_index + 1; in _base_interrupt()
1000 reply_q->reply_post_free[reply_q->reply_post_host_index]. in _base_interrupt()
1005 if (!reply_q->reply_post_host_index) in _base_interrupt()
1006 rpf = reply_q->reply_post_free; in _base_interrupt()
1014 atomic_dec(&reply_q->busy); in _base_interrupt()
1019 writel(reply_q->reply_post_host_index, in _base_interrupt()
1021 atomic_dec(&reply_q->busy); in _base_interrupt()
1024 writel(reply_q->reply_post_host_index | (msix_index << in _base_interrupt()
1026 atomic_dec(&reply_q->busy); in _base_interrupt()
1056 struct adapter_reply_queue *reply_q; in mpt2sas_base_flush_reply_queues() local
1064 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in mpt2sas_base_flush_reply_queues()
1068 if (reply_q->msix_index == 0) in mpt2sas_base_flush_reply_queues()
1070 _base_interrupt(reply_q->vector, (void *)reply_q); in mpt2sas_base_flush_reply_queues()
1296 struct adapter_reply_queue *reply_q, *next; in _base_free_irq() local
1301 list_for_each_entry_safe(reply_q, next, &ioc->reply_queue_list, list) { in _base_free_irq()
1302 list_del(&reply_q->list); in _base_free_irq()
1303 irq_set_affinity_hint(reply_q->vector, NULL); in _base_free_irq()
1304 free_cpumask_var(reply_q->affinity_hint); in _base_free_irq()
1305 synchronize_irq(reply_q->vector); in _base_free_irq()
1306 free_irq(reply_q->vector, reply_q); in _base_free_irq()
1307 kfree(reply_q); in _base_free_irq()
1322 struct adapter_reply_queue *reply_q; in _base_request_irq() local
1325 reply_q = kzalloc(sizeof(struct adapter_reply_queue), GFP_KERNEL); in _base_request_irq()
1326 if (!reply_q) { in _base_request_irq()
1331 reply_q->ioc = ioc; in _base_request_irq()
1332 reply_q->msix_index = index; in _base_request_irq()
1333 reply_q->vector = vector; in _base_request_irq()
1335 if (!alloc_cpumask_var(&reply_q->affinity_hint, GFP_KERNEL)) in _base_request_irq()
1337 cpumask_clear(reply_q->affinity_hint); in _base_request_irq()
1339 atomic_set(&reply_q->busy, 0); in _base_request_irq()
1341 snprintf(reply_q->name, MPT_NAME_LENGTH, "%s%d-msix%d", in _base_request_irq()
1344 snprintf(reply_q->name, MPT_NAME_LENGTH, "%s%d", in _base_request_irq()
1346 r = request_irq(vector, _base_interrupt, IRQF_SHARED, reply_q->name, in _base_request_irq()
1347 reply_q); in _base_request_irq()
1350 reply_q->name, vector); in _base_request_irq()
1351 kfree(reply_q); in _base_request_irq()
1355 INIT_LIST_HEAD(&reply_q->list); in _base_request_irq()
1356 list_add_tail(&reply_q->list, &ioc->reply_queue_list); in _base_request_irq()
1373 struct adapter_reply_queue *reply_q; in _base_assign_reply_queues() local
1388 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_assign_reply_queues()
1400 cpumask_or(reply_q->affinity_hint, in _base_assign_reply_queues()
1401 reply_q->affinity_hint, get_cpu_mask(cpu)); in _base_assign_reply_queues()
1405 if (irq_set_affinity_hint(reply_q->vector, in _base_assign_reply_queues()
1406 reply_q->affinity_hint)) in _base_assign_reply_queues()
1409 ioc->name, reply_q->vector)); in _base_assign_reply_queues()
1525 struct adapter_reply_queue *reply_q; in mpt2sas_base_map_resources() local
1600 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) in mpt2sas_base_map_resources()
1602 reply_q->name, ((ioc->msix_enable) ? "PCI-MSI-X enabled" : in mpt2sas_base_map_resources()
1603 "IO-APIC enabled"), reply_q->vector); in mpt2sas_base_map_resources()
4279 struct adapter_reply_queue *reply_q; in _base_make_ioc_operational() local
4355 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_make_ioc_operational()
4356 reply_q->reply_post_host_index = 0; in _base_make_ioc_operational()
4357 reply_q->reply_post_free = (Mpi2ReplyDescriptorsUnion_t *) in _base_make_ioc_operational()
4360 reply_q->reply_post_free[i].Words = in _base_make_ioc_operational()
4385 list_for_each_entry(reply_q, &ioc->reply_queue_list, list) { in _base_make_ioc_operational()
4386 writel(reply_q->msix_index << MPI2_RPHI_MSIX_INDEX_SHIFT, in _base_make_ioc_operational()