Lines Matching refs:irq_ptr
69 static inline int references_shared_dsci(struct qdio_irq *irq_ptr) in references_shared_dsci() argument
71 return irq_ptr->dsci == &q_indicators[TIQDIO_SHARED_IND].ind; in references_shared_dsci()
74 int test_nonshared_ind(struct qdio_irq *irq_ptr) in test_nonshared_ind() argument
76 if (!is_thinint_irq(irq_ptr)) in test_nonshared_ind()
78 if (references_shared_dsci(irq_ptr)) in test_nonshared_ind()
80 if (*irq_ptr->dsci) in test_nonshared_ind()
135 static int set_subchannel_ind(struct qdio_irq *irq_ptr, int reset) in set_subchannel_ind() argument
137 struct chsc_scssc_area *scssc = (void *)irq_ptr->chsc_page; in set_subchannel_ind()
146 subchannel_indicator_addr = virt_to_phys(irq_ptr->dsci); in set_subchannel_ind()
149 rc = chsc_sadc(irq_ptr->schid, scssc, summary_indicator_addr, in set_subchannel_ind()
152 DBF_ERROR("%4x SSI r:%4x", irq_ptr->schid.sch_no, in set_subchannel_ind()
164 int qdio_establish_thinint(struct qdio_irq *irq_ptr) in qdio_establish_thinint() argument
168 if (!is_thinint_irq(irq_ptr)) in qdio_establish_thinint()
171 irq_ptr->dsci = get_indicator(); in qdio_establish_thinint()
172 DBF_HEX(&irq_ptr->dsci, sizeof(void *)); in qdio_establish_thinint()
174 rc = set_subchannel_ind(irq_ptr, 0); in qdio_establish_thinint()
176 put_indicator(irq_ptr->dsci); in qdio_establish_thinint()
181 list_add_rcu(&irq_ptr->entry, &tiq_list); in qdio_establish_thinint()
186 void qdio_shutdown_thinint(struct qdio_irq *irq_ptr) in qdio_shutdown_thinint() argument
188 if (!is_thinint_irq(irq_ptr)) in qdio_shutdown_thinint()
192 list_del_rcu(&irq_ptr->entry); in qdio_shutdown_thinint()
197 set_subchannel_ind(irq_ptr, 1); in qdio_shutdown_thinint()
198 put_indicator(irq_ptr->dsci); in qdio_shutdown_thinint()