/linux-4.4.14/sound/firewire/dice/ |
D | dice-stream.c | 27 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 …]
|
D | dice-transaction.c | 14 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 …]
|
D | dice-hwdep.c | 15 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 …]
|
D | dice.h | 89 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 …]
|
D | dice-pcm.c | 16 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 …]
|
D | dice.c | 114 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 …]
|
D | dice-midi.c | 12 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 …]
|
D | Makefile | 1 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
|
D | dice-proc.c | 12 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/ |
D | Makefile | 7 obj-$(CONFIG_SND_DICE) += dice/
|
D | Kconfig | 24 will be called snd-dice.
|