Lines Matching refs:seq
219 struct asd_seq_data seq; /* sequencer related */ member
301 static inline void asd_tc_index_release(struct asd_seq_data *seq, int index) in asd_tc_index_release() argument
303 seq->tc_index_array[index] = NULL; in asd_tc_index_release()
304 clear_bit(index, seq->tc_index_bitmap); in asd_tc_index_release()
309 static inline int asd_tc_index_get(struct asd_seq_data *seq, void *ptr) in asd_tc_index_get() argument
313 index = find_first_zero_bit(seq->tc_index_bitmap, in asd_tc_index_get()
314 seq->tc_index_bitmap_bits); in asd_tc_index_get()
315 if (index == seq->tc_index_bitmap_bits) in asd_tc_index_get()
318 seq->tc_index_array[index] = ptr; in asd_tc_index_get()
319 set_bit(index, seq->tc_index_bitmap); in asd_tc_index_get()
326 static inline void *asd_tc_index_find(struct asd_seq_data *seq, int index) in asd_tc_index_find() argument
328 return seq->tc_index_array[index]; in asd_tc_index_find()
345 spin_lock_irqsave(&ascb->ha->seq.tc_index_lock, flags); in asd_ascb_free()
346 asd_tc_index_release(&ascb->ha->seq, ascb->tc_index); in asd_ascb_free()
347 spin_unlock_irqrestore(&ascb->ha->seq.tc_index_lock, flags); in asd_ascb_free()