Home
last modified time | relevance | path

Searched refs:dice (Results 1 – 11 of 11) sorted by relevance

/linux-4.4.14/sound/firewire/dice/
Ddice-stream.c27 int snd_dice_stream_get_rate_mode(struct snd_dice *dice, unsigned int rate, in snd_dice_stream_get_rate_mode() argument
33 if (!(dice->clock_caps & BIT(i))) in snd_dice_stream_get_rate_mode()
44 static void release_resources(struct snd_dice *dice, in release_resources() argument
51 if (resources == &dice->tx_resources) in release_resources()
52 snd_dice_transaction_write_tx(dice, TX_ISOCHRONOUS, in release_resources()
55 snd_dice_transaction_write_rx(dice, RX_ISOCHRONOUS, in release_resources()
61 static int keep_resources(struct snd_dice *dice, in keep_resources() argument
69 fw_parent_device(dice->unit)->max_speed); in keep_resources()
75 if (resources == &dice->tx_resources) in keep_resources()
76 err = snd_dice_transaction_write_tx(dice, TX_ISOCHRONOUS, in keep_resources()
[all …]
Ddice-transaction.c14 static u64 get_subaddr(struct snd_dice *dice, enum snd_dice_addr_type type, in get_subaddr() argument
19 offset += dice->tx_offset; in get_subaddr()
22 offset += dice->rx_offset; in get_subaddr()
25 offset += dice->sync_offset; in get_subaddr()
28 offset += dice->rsrv_offset; in get_subaddr()
32 offset += dice->global_offset; in get_subaddr()
39 int snd_dice_transaction_write(struct snd_dice *dice, in snd_dice_transaction_write() argument
43 return snd_fw_transaction(dice->unit, in snd_dice_transaction_write()
46 get_subaddr(dice, type, offset), buf, len, 0); in snd_dice_transaction_write()
49 int snd_dice_transaction_read(struct snd_dice *dice, in snd_dice_transaction_read() argument
[all …]
Ddice-hwdep.c15 struct snd_dice *dice = hwdep->private_data; in hwdep_read() local
19 spin_lock_irq(&dice->lock); in hwdep_read()
21 while (!dice->dev_lock_changed && dice->notification_bits == 0) { in hwdep_read()
22 prepare_to_wait(&dice->hwdep_wait, &wait, TASK_INTERRUPTIBLE); in hwdep_read()
23 spin_unlock_irq(&dice->lock); in hwdep_read()
25 finish_wait(&dice->hwdep_wait, &wait); in hwdep_read()
28 spin_lock_irq(&dice->lock); in hwdep_read()
32 if (dice->dev_lock_changed) { in hwdep_read()
34 event.lock_status.status = dice->dev_lock_count > 0; in hwdep_read()
35 dice->dev_lock_changed = false; in hwdep_read()
[all …]
Ddice.h89 int snd_dice_transaction_write(struct snd_dice *dice,
93 int snd_dice_transaction_read(struct snd_dice *dice,
97 static inline int snd_dice_transaction_write_global(struct snd_dice *dice, in snd_dice_transaction_write_global() argument
101 return snd_dice_transaction_write(dice, in snd_dice_transaction_write_global()
105 static inline int snd_dice_transaction_read_global(struct snd_dice *dice, in snd_dice_transaction_read_global() argument
109 return snd_dice_transaction_read(dice, in snd_dice_transaction_read_global()
113 static inline int snd_dice_transaction_write_tx(struct snd_dice *dice, in snd_dice_transaction_write_tx() argument
117 return snd_dice_transaction_write(dice, SND_DICE_ADDR_TYPE_TX, offset, in snd_dice_transaction_write_tx()
120 static inline int snd_dice_transaction_read_tx(struct snd_dice *dice, in snd_dice_transaction_read_tx() argument
124 return snd_dice_transaction_read(dice, SND_DICE_ADDR_TYPE_TX, offset, in snd_dice_transaction_read_tx()
[all …]
Ddice-pcm.c16 struct snd_dice *dice = substream->private_data; in dice_rate_constraint() local
28 pcm_channels = dice->tx_channels; in dice_rate_constraint()
30 pcm_channels = dice->rx_channels; in dice_rate_constraint()
34 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_rate_constraint()
51 struct snd_dice *dice = substream->private_data; in dice_channels_constraint() local
63 pcm_channels = dice->tx_channels; in dice_channels_constraint()
65 pcm_channels = dice->rx_channels; in dice_channels_constraint()
69 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_channels_constraint()
82 static void limit_channels_and_rates(struct snd_dice *dice, in limit_channels_and_rates() argument
94 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in limit_channels_and_rates()
[all …]
Ddice.c114 static int highest_supported_mode_rate(struct snd_dice *dice, in highest_supported_mode_rate() argument
121 if (snd_dice_stream_get_rate_mode(dice, *rate, &m) < 0) in highest_supported_mode_rate()
132 static int dice_read_mode_params(struct snd_dice *dice, unsigned int mode) in dice_read_mode_params() argument
138 if (highest_supported_mode_rate(dice, mode, &rate) < 0) { in dice_read_mode_params()
139 dice->tx_channels[mode] = 0; in dice_read_mode_params()
140 dice->tx_midi_ports[mode] = 0; in dice_read_mode_params()
141 dice->rx_channels[mode] = 0; in dice_read_mode_params()
142 dice->rx_midi_ports[mode] = 0; in dice_read_mode_params()
146 err = snd_dice_transaction_set_rate(dice, rate); in dice_read_mode_params()
150 err = snd_dice_transaction_read_tx(dice, TX_NUMBER_AUDIO, in dice_read_mode_params()
[all …]
Ddice-midi.c12 struct snd_dice *dice = substream->rmidi->private_data; in midi_open() local
15 err = snd_dice_stream_lock_try(dice); in midi_open()
19 mutex_lock(&dice->mutex); in midi_open()
21 dice->substreams_counter++; in midi_open()
22 err = snd_dice_stream_start_duplex(dice, 0); in midi_open()
24 mutex_unlock(&dice->mutex); in midi_open()
27 snd_dice_stream_lock_release(dice); in midi_open()
34 struct snd_dice *dice = substream->rmidi->private_data; in midi_close() local
36 mutex_lock(&dice->mutex); in midi_close()
38 dice->substreams_counter--; in midi_close()
[all …]
DMakefile1 snd-dice-objs := dice-transaction.o dice-stream.o dice-proc.o dice-midi.o \
2 dice-pcm.o dice-hwdep.o dice.o
3 obj-$(CONFIG_SND_DICE) += snd-dice.o
Ddice-proc.c12 static int dice_proc_read_mem(struct snd_dice *dice, void *buffer, in dice_proc_read_mem() argument
18 err = snd_fw_transaction(dice->unit, TCODE_READ_BLOCK_REQUEST, in dice_proc_read_mem()
71 struct snd_dice *dice = entry->private_data; in dice_proc_read() local
118 if (dice_proc_read_mem(dice, sections, 0, ARRAY_SIZE(sections)) < 0) in dice_proc_read()
127 if (dice_proc_read_mem(dice, &buf.global, sections[0], quadlets) < 0) in dice_proc_read()
171 if (dice_proc_read_mem(dice, &tx_rx_header, sections[2], 2) < 0) in dice_proc_read()
175 if (dice_proc_read_mem(dice, &buf.tx, sections[2] + 2 + in dice_proc_read()
197 if (dice_proc_read_mem(dice, &tx_rx_header, sections[4], 2) < 0) in dice_proc_read()
201 if (dice_proc_read_mem(dice, &buf.rx, sections[4] + 2 + in dice_proc_read()
225 if (dice_proc_read_mem(dice, &buf.ext_sync, in dice_proc_read()
[all …]
/linux-4.4.14/sound/firewire/
DMakefile7 obj-$(CONFIG_SND_DICE) += dice/
DKconfig24 will be called snd-dice.