Lines Matching refs:dg00x
11 static void handle_unknown_message(struct snd_dg00x *dg00x, in handle_unknown_message() argument
16 spin_lock_irqsave(&dg00x->lock, flags); in handle_unknown_message()
17 dg00x->msg = be32_to_cpu(*buf); in handle_unknown_message()
18 spin_unlock_irqrestore(&dg00x->lock, flags); in handle_unknown_message()
20 wake_up(&dg00x->hwdep_wait); in handle_unknown_message()
28 struct snd_dg00x *dg00x = callback_data; in handle_message() local
33 if (offset == dg00x->async_handler.offset) in handle_message()
34 handle_unknown_message(dg00x, offset, buf); in handle_message()
37 int snd_dg00x_transaction_reregister(struct snd_dg00x *dg00x) in snd_dg00x_transaction_reregister() argument
39 struct fw_device *device = fw_parent_device(dg00x->unit); in snd_dg00x_transaction_reregister()
44 (dg00x->async_handler.offset >> 32)); in snd_dg00x_transaction_reregister()
45 data[1] = cpu_to_be32(dg00x->async_handler.offset); in snd_dg00x_transaction_reregister()
46 return snd_fw_transaction(dg00x->unit, TCODE_WRITE_BLOCK_REQUEST, in snd_dg00x_transaction_reregister()
51 void snd_dg00x_transaction_unregister(struct snd_dg00x *dg00x) in snd_dg00x_transaction_unregister() argument
53 if (dg00x->async_handler.callback_data == NULL) in snd_dg00x_transaction_unregister()
56 fw_core_remove_address_handler(&dg00x->async_handler); in snd_dg00x_transaction_unregister()
58 dg00x->async_handler.callback_data = NULL; in snd_dg00x_transaction_unregister()
61 int snd_dg00x_transaction_register(struct snd_dg00x *dg00x) in snd_dg00x_transaction_register() argument
69 dg00x->async_handler.length = 4; in snd_dg00x_transaction_register()
70 dg00x->async_handler.address_callback = handle_message; in snd_dg00x_transaction_register()
71 dg00x->async_handler.callback_data = dg00x; in snd_dg00x_transaction_register()
73 err = fw_core_add_address_handler(&dg00x->async_handler, in snd_dg00x_transaction_register()
78 err = snd_dg00x_transaction_reregister(dg00x); in snd_dg00x_transaction_register()
80 snd_dg00x_transaction_unregister(dg00x); in snd_dg00x_transaction_register()