Lines Matching refs:irq_ptr

70 static inline int references_shared_dsci(struct qdio_irq *irq_ptr)  in references_shared_dsci()  argument
72 return irq_ptr->dsci == &q_indicators[TIQDIO_SHARED_IND].ind; in references_shared_dsci()
75 int test_nonshared_ind(struct qdio_irq *irq_ptr) in test_nonshared_ind() argument
77 if (!is_thinint_irq(irq_ptr)) in test_nonshared_ind()
79 if (references_shared_dsci(irq_ptr)) in test_nonshared_ind()
81 if (*irq_ptr->dsci) in test_nonshared_ind()
137 static int set_subchannel_ind(struct qdio_irq *irq_ptr, int reset) in set_subchannel_ind() argument
139 struct chsc_scssc_area *scssc = (void *)irq_ptr->chsc_page; in set_subchannel_ind()
148 subchannel_indicator_addr = virt_to_phys(irq_ptr->dsci); in set_subchannel_ind()
151 rc = chsc_sadc(irq_ptr->schid, scssc, summary_indicator_addr, in set_subchannel_ind()
154 DBF_ERROR("%4x SSI r:%4x", irq_ptr->schid.sch_no, in set_subchannel_ind()
166 int qdio_establish_thinint(struct qdio_irq *irq_ptr) in qdio_establish_thinint() argument
170 if (!is_thinint_irq(irq_ptr)) in qdio_establish_thinint()
173 irq_ptr->dsci = get_indicator(); in qdio_establish_thinint()
174 DBF_HEX(&irq_ptr->dsci, sizeof(void *)); in qdio_establish_thinint()
176 rc = set_subchannel_ind(irq_ptr, 0); in qdio_establish_thinint()
178 put_indicator(irq_ptr->dsci); in qdio_establish_thinint()
183 list_add_rcu(&irq_ptr->entry, &tiq_list); in qdio_establish_thinint()
188 void qdio_shutdown_thinint(struct qdio_irq *irq_ptr) in qdio_shutdown_thinint() argument
190 if (!is_thinint_irq(irq_ptr)) in qdio_shutdown_thinint()
194 list_del_rcu(&irq_ptr->entry); in qdio_shutdown_thinint()
199 set_subchannel_ind(irq_ptr, 1); in qdio_shutdown_thinint()
200 put_indicator(irq_ptr->dsci); in qdio_shutdown_thinint()