/Linux-v4.19/sound/firewire/dice/ |
D | dice-stream.c | 33 int snd_dice_stream_get_rate_mode(struct snd_dice *dice, unsigned int rate, in snd_dice_stream_get_rate_mode() argument 49 if (!(dice->clock_caps & BIT(i))) in snd_dice_stream_get_rate_mode() 65 static int ensure_phase_lock(struct snd_dice *dice, unsigned int rate) in ensure_phase_lock() argument 72 err = snd_dice_transaction_read_global(dice, GLOBAL_CLOCK_SELECT, in ensure_phase_lock() 88 if (completion_done(&dice->clock_accepted)) in ensure_phase_lock() 89 reinit_completion(&dice->clock_accepted); in ensure_phase_lock() 92 err = snd_dice_transaction_write_global(dice, GLOBAL_CLOCK_SELECT, in ensure_phase_lock() 97 if (wait_for_completion_timeout(&dice->clock_accepted, in ensure_phase_lock() 104 err = snd_dice_transaction_read_global(dice, GLOBAL_STATUS, in ensure_phase_lock() 115 static int get_register_params(struct snd_dice *dice, in get_register_params() argument [all …]
|
D | dice-transaction.c | 12 static u64 get_subaddr(struct snd_dice *dice, enum snd_dice_addr_type type, in get_subaddr() argument 17 offset += dice->tx_offset; in get_subaddr() 20 offset += dice->rx_offset; in get_subaddr() 23 offset += dice->sync_offset; in get_subaddr() 26 offset += dice->rsrv_offset; in get_subaddr() 30 offset += dice->global_offset; in get_subaddr() 37 int snd_dice_transaction_write(struct snd_dice *dice, in snd_dice_transaction_write() argument 41 return snd_fw_transaction(dice->unit, in snd_dice_transaction_write() 44 get_subaddr(dice, type, offset), buf, len, 0); in snd_dice_transaction_write() 47 int snd_dice_transaction_read(struct snd_dice *dice, in snd_dice_transaction_read() argument [all …]
|
D | dice.c | 66 static int check_clock_caps(struct snd_dice *dice) in check_clock_caps() argument 72 if (dice->clock_caps > 0) { in check_clock_caps() 73 err = snd_dice_transaction_read_global(dice, in check_clock_caps() 78 dice->clock_caps = be32_to_cpu(value); in check_clock_caps() 81 dice->clock_caps = CLOCK_CAP_RATE_44100 | in check_clock_caps() 90 static void dice_card_strings(struct snd_dice *dice) in dice_card_strings() argument 92 struct snd_card *card = dice->card; in dice_card_strings() 93 struct fw_device *dev = fw_parent_device(dice->unit); in dice_card_strings() 102 err = snd_dice_transaction_read_global(dice, GLOBAL_NICK_NAME, in dice_card_strings() 116 fw_csr_string(dice->unit->directory, CSR_MODEL, model, sizeof(model)); in dice_card_strings() [all …]
|
D | dice.h | 74 typedef int (*snd_dice_detect_formats_t)(struct snd_dice *dice); 127 int snd_dice_transaction_write(struct snd_dice *dice, 131 int snd_dice_transaction_read(struct snd_dice *dice, 135 static inline int snd_dice_transaction_write_global(struct snd_dice *dice, in snd_dice_transaction_write_global() argument 139 return snd_dice_transaction_write(dice, in snd_dice_transaction_write_global() 143 static inline int snd_dice_transaction_read_global(struct snd_dice *dice, in snd_dice_transaction_read_global() argument 147 return snd_dice_transaction_read(dice, in snd_dice_transaction_read_global() 151 static inline int snd_dice_transaction_write_tx(struct snd_dice *dice, in snd_dice_transaction_write_tx() argument 155 return snd_dice_transaction_write(dice, SND_DICE_ADDR_TYPE_TX, offset, in snd_dice_transaction_write_tx() 158 static inline int snd_dice_transaction_read_tx(struct snd_dice *dice, in snd_dice_transaction_read_tx() 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-pcm.c | 16 struct snd_dice *dice = substream->private_data; in dice_rate_constraint() local 31 pcm_channels = dice->tx_pcm_chs[index]; in dice_rate_constraint() 33 pcm_channels = dice->rx_pcm_chs[index]; in dice_rate_constraint() 37 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_rate_constraint() 54 struct snd_dice *dice = substream->private_data; in dice_channels_constraint() local 69 pcm_channels = dice->tx_pcm_chs[index]; in dice_channels_constraint() 71 pcm_channels = dice->rx_pcm_chs[index]; in dice_channels_constraint() 75 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_channels_constraint() 88 static int limit_channels_and_rates(struct snd_dice *dice, in limit_channels_and_rates() argument 98 pcm_channels = dice->tx_pcm_chs[index]; in limit_channels_and_rates() [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 dice-tcelectronic.o \ 3 dice-alesis.o dice-extension.o dice-mytek.o 4 obj-$(CONFIG_SND_DICE) += snd-dice.o
|
D | dice-extension.c | 50 static inline int read_transaction(struct snd_dice *dice, u64 section_addr, in read_transaction() argument 53 return snd_fw_transaction(dice->unit, in read_transaction() 59 static int read_stream_entries(struct snd_dice *dice, u64 section_addr, in read_stream_entries() argument 72 err = read_transaction(dice, section_addr, in read_stream_entries() 84 static int detect_stream_formats(struct snd_dice *dice, u64 section_addr) in detect_stream_formats() argument 107 if (!(cap & dice->clock_caps)) in detect_stream_formats() 112 err = read_transaction(dice, section_addr, in detect_stream_formats() 120 err = read_stream_entries(dice, section_addr, base_offset, in detect_stream_formats() 122 dice->tx_pcm_chs, in detect_stream_formats() 123 dice->tx_midi_ports); in detect_stream_formats() [all …]
|
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 …]
|
D | dice-alesis.c | 22 int snd_dice_detect_alesis_formats(struct snd_dice *dice) in snd_dice_detect_alesis_formats() argument 29 err = snd_dice_transaction_read_tx(dice, TX_NUMBER_AUDIO, ®, in snd_dice_detect_alesis_formats() 36 memcpy(dice->tx_pcm_chs, alesis_io14_tx_pcm_chs, in snd_dice_detect_alesis_formats() 40 memcpy(dice->tx_pcm_chs, alesis_io26_tx_pcm_chs, in snd_dice_detect_alesis_formats() 46 dice->rx_pcm_chs[0][i] = 8; in snd_dice_detect_alesis_formats() 48 dice->tx_midi_ports[0] = 1; in snd_dice_detect_alesis_formats() 49 dice->rx_midi_ports[0] = 1; in snd_dice_detect_alesis_formats()
|
D | dice-mytek.c | 28 int snd_dice_detect_mytek_formats(struct snd_dice *dice) in snd_dice_detect_mytek_formats() argument 35 memcpy(dice->tx_pcm_chs, dev->tx_pcm_chs, in snd_dice_detect_mytek_formats() 37 memcpy(dice->rx_pcm_chs, dev->rx_pcm_chs, in snd_dice_detect_mytek_formats() 41 dice->tx_midi_ports[i] = 0; in snd_dice_detect_mytek_formats() 42 dice->rx_midi_ports[i] = 0; in snd_dice_detect_mytek_formats()
|
D | dice-tcelectronic.c | 58 int snd_dice_detect_tcelectronic_formats(struct snd_dice *dice) in snd_dice_detect_tcelectronic_formats() argument 77 fw_csr_iterator_init(&it, dice->unit->directory); in snd_dice_detect_tcelectronic_formats() 93 memcpy(dice->tx_pcm_chs, entry->spec->tx_pcm_chs, in snd_dice_detect_tcelectronic_formats() 95 memcpy(dice->rx_pcm_chs, entry->spec->rx_pcm_chs, in snd_dice_detect_tcelectronic_formats() 99 dice->tx_midi_ports[0] = 1; in snd_dice_detect_tcelectronic_formats() 100 dice->rx_midi_ports[0] = 1; in snd_dice_detect_tcelectronic_formats()
|
/Linux-v4.19/sound/firewire/ |
D | Makefile | 10 obj-$(CONFIG_SND_DICE) += dice/
|
D | Kconfig | 24 will be called snd-dice.
|
/Linux-v4.19/Documentation/translations/it_IT/kernel-hacking/ |
D | hacking.rst | 236 - Avete abilitato le interruzioni (in realtà, Andy Kleen dice che
|
D | locking.rst | 892 leggendo solamente il codice. E come dice Alan Cox: “Lock data, not code”.
|