Lines Matching refs:q

81 	struct qdio_q *q;  in __qdio_free_queues()  local
85 q = queues[i]; in __qdio_free_queues()
86 free_page((unsigned long) q->slib); in __qdio_free_queues()
87 kmem_cache_free(qdio_q_cache, q); in __qdio_free_queues()
102 struct qdio_q *q; in __qdio_allocate_qs() local
106 q = kmem_cache_zalloc(qdio_q_cache, GFP_KERNEL); in __qdio_allocate_qs()
107 if (!q) { in __qdio_allocate_qs()
112 q->slib = (struct slib *) __get_free_page(GFP_KERNEL); in __qdio_allocate_qs()
113 if (!q->slib) { in __qdio_allocate_qs()
114 kmem_cache_free(qdio_q_cache, q); in __qdio_allocate_qs()
118 irq_ptr_qs[i] = q; in __qdio_allocate_qs()
142 static void setup_queues_misc(struct qdio_q *q, struct qdio_irq *irq_ptr, in setup_queues_misc() argument
145 struct slib *slib = q->slib; in setup_queues_misc()
148 memset(q, 0, sizeof(*q)); in setup_queues_misc()
150 q->slib = slib; in setup_queues_misc()
151 q->irq_ptr = irq_ptr; in setup_queues_misc()
152 q->mask = 1 << (31 - i); in setup_queues_misc()
153 q->nr = i; in setup_queues_misc()
154 q->handler = handler; in setup_queues_misc()
157 static void setup_storage_lists(struct qdio_q *q, struct qdio_irq *irq_ptr, in setup_storage_lists() argument
163 DBF_HEX(&q, sizeof(void *)); in setup_storage_lists()
164 q->sl = (struct sl *)((char *)q->slib + PAGE_SIZE / 2); in setup_storage_lists()
168 q->sbal[j] = *sbals_array++; in setup_storage_lists()
172 prev = (q->is_input_q) ? irq_ptr->input_qs[i - 1] in setup_storage_lists()
174 prev->slib->nsliba = (unsigned long)q->slib; in setup_storage_lists()
177 q->slib->sla = (unsigned long)q->sl; in setup_storage_lists()
178 q->slib->slsba = (unsigned long)&q->slsb.val[0]; in setup_storage_lists()
182 q->sl->element[j].sbal = virt_to_phys(q->sbal[j]); in setup_storage_lists()
188 struct qdio_q *q; in setup_queues() local
191 for_each_input_queue(irq_ptr, q, i) { in setup_queues()
193 setup_queues_misc(q, irq_ptr, qdio_init->input_handler, i); in setup_queues()
195 q->is_input_q = 1; in setup_queues()
197 setup_storage_lists(q, irq_ptr, in setup_queues()
201 for_each_output_queue(irq_ptr, q, i) { in setup_queues()
203 setup_queues_misc(q, irq_ptr, qdio_init->output_handler, i); in setup_queues()
205 q->is_input_q = 0; in setup_queues()
206 setup_storage_lists(q, irq_ptr, in setup_queues()