Lines Matching refs:eq

54 		   struct ehca_eq *eq,  in ehca_create_eq()  argument
64 spin_lock_init(&eq->spinlock); in ehca_create_eq()
65 spin_lock_init(&eq->irq_spinlock); in ehca_create_eq()
66 eq->is_initialized = 0; in ehca_create_eq()
69 ehca_err(ib_dev, "Invalid EQ type %x. eq=%p", type, eq); in ehca_create_eq()
73 ehca_err(ib_dev, "EQ length must not be zero. eq=%p", eq); in ehca_create_eq()
78 &eq->pf, in ehca_create_eq()
81 &eq->ipz_eq_handle, in ehca_create_eq()
82 &eq->length, in ehca_create_eq()
83 &nr_pages, &eq->ist); in ehca_create_eq()
86 ehca_err(ib_dev, "Can't allocate EQ/NEQ. eq=%p", eq); in ehca_create_eq()
90 ret = ipz_queue_ctor(NULL, &eq->ipz_queue, nr_pages, in ehca_create_eq()
93 ehca_err(ib_dev, "Can't allocate EQ pages eq=%p", eq); in ehca_create_eq()
100 vpage = ipz_qpageit_get_inc(&eq->ipz_queue); in ehca_create_eq()
106 eq->ipz_eq_handle, in ehca_create_eq()
107 &eq->pf, in ehca_create_eq()
112 vpage = ipz_qpageit_get_inc(&eq->ipz_queue); in ehca_create_eq()
121 ipz_qeit_reset(&eq->ipz_queue); in ehca_create_eq()
125 tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca); in ehca_create_eq()
127 ret = ibmebus_request_irq(eq->ist, ehca_interrupt_eq, in ehca_create_eq()
133 tasklet_init(&eq->interrupt_task, ehca_tasklet_neq, (long)shca); in ehca_create_eq()
135 ret = ibmebus_request_irq(eq->ist, ehca_interrupt_neq, in ehca_create_eq()
142 eq->is_initialized = 1; in ehca_create_eq()
147 ipz_queue_dtor(NULL, &eq->ipz_queue); in ehca_create_eq()
150 hipz_h_destroy_eq(shca->ipz_hca_handle, eq); in ehca_create_eq()
155 void *ehca_poll_eq(struct ehca_shca *shca, struct ehca_eq *eq) in ehca_poll_eq() argument
160 spin_lock_irqsave(&eq->spinlock, flags); in ehca_poll_eq()
161 eqe = ipz_eqit_eq_get_inc_valid(&eq->ipz_queue); in ehca_poll_eq()
162 spin_unlock_irqrestore(&eq->spinlock, flags); in ehca_poll_eq()
167 int ehca_destroy_eq(struct ehca_shca *shca, struct ehca_eq *eq) in ehca_destroy_eq() argument
172 ibmebus_free_irq(eq->ist, (void *)shca); in ehca_destroy_eq()
175 eq->is_initialized = 0; in ehca_destroy_eq()
178 tasklet_kill(&eq->interrupt_task); in ehca_destroy_eq()
180 h_ret = hipz_h_destroy_eq(shca->ipz_hca_handle, eq); in ehca_destroy_eq()
186 ipz_queue_dtor(NULL, &eq->ipz_queue); in ehca_destroy_eq()