Home
last modified time | relevance | path

Searched full:dice (Results 1 – 25 of 43) sorted by relevance

12

/Linux-v6.6/sound/firewire/dice/
Ddice-stream.c3 * dice_stream.c - a part of driver for DICE based devices
9 #include "dice.h"
32 int snd_dice_stream_get_rate_mode(struct snd_dice *dice, unsigned int rate, in snd_dice_stream_get_rate_mode() argument
48 if (!(dice->clock_caps & BIT(i))) in snd_dice_stream_get_rate_mode()
60 static int select_clock(struct snd_dice *dice, unsigned int rate) in select_clock() argument
67 err = snd_dice_transaction_read_global(dice, GLOBAL_CLOCK_SELECT, in select_clock()
83 if (completion_done(&dice->clock_accepted)) in select_clock()
84 reinit_completion(&dice->clock_accepted); in select_clock()
87 err = snd_dice_transaction_write_global(dice, GLOBAL_CLOCK_SELECT, in select_clock()
92 if (wait_for_completion_timeout(&dice->clock_accepted, in select_clock()
[all …]
Ddice-transaction.c3 * dice_transaction.c - a part of driver for Dice based devices
9 #include "dice.h"
11 static u64 get_subaddr(struct snd_dice *dice, enum snd_dice_addr_type type, in get_subaddr() argument
16 offset += dice->tx_offset; in get_subaddr()
19 offset += dice->rx_offset; in get_subaddr()
22 offset += dice->sync_offset; in get_subaddr()
25 offset += dice->rsrv_offset; in get_subaddr()
29 offset += dice->global_offset; in get_subaddr()
36 int snd_dice_transaction_write(struct snd_dice *dice, in snd_dice_transaction_write() argument
40 return snd_fw_transaction(dice->unit, in snd_dice_transaction_write()
[all …]
Ddice.h3 * dice.h - a part of driver for Dice based devices
40 #include "dice-interface.h"
46 * In documents for ASICs called with a name of 'DICE':
47 * - ASIC for DICE II:
50 * - TCD2210/2210-E (so-called 'Dice Mini'):
53 * - TCD2220/2220-E (so-called 'Dice Jr.')
56 * - TCD3070-CH (so-called 'Dice III')
73 typedef int (*snd_dice_detect_formats_t)(struct snd_dice *dice);
125 int snd_dice_transaction_write(struct snd_dice *dice,
129 int snd_dice_transaction_read(struct snd_dice *dice,
[all …]
Ddice-hwdep.c3 * dice_hwdep.c - a part of driver for DICE based devices
9 #include "dice.h"
14 struct snd_dice *dice = hwdep->private_data; in hwdep_read() local
18 spin_lock_irq(&dice->lock); in hwdep_read()
20 while (!dice->dev_lock_changed && dice->notification_bits == 0) { in hwdep_read()
21 prepare_to_wait(&dice->hwdep_wait, &wait, TASK_INTERRUPTIBLE); in hwdep_read()
22 spin_unlock_irq(&dice->lock); in hwdep_read()
24 finish_wait(&dice->hwdep_wait, &wait); in hwdep_read()
27 spin_lock_irq(&dice->lock); in hwdep_read()
31 if (dice->dev_lock_changed) { in hwdep_read()
[all …]
Ddice-pcm.c3 * dice_pcm.c - a part of driver for DICE based devices
9 #include "dice.h"
15 struct snd_dice *dice = substream->private_data; in dice_rate_constraint() local
30 pcm_channels = dice->tx_pcm_chs[index]; in dice_rate_constraint()
32 pcm_channels = dice->rx_pcm_chs[index]; in dice_rate_constraint()
36 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_rate_constraint()
53 struct snd_dice *dice = substream->private_data; in dice_channels_constraint() local
68 pcm_channels = dice->tx_pcm_chs[index]; in dice_channels_constraint()
70 pcm_channels = dice->rx_pcm_chs[index]; in dice_channels_constraint()
74 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_channels_constraint()
[all …]
Ddice-midi.c3 * dice_midi.c - a part of driver for Dice based devices
7 #include "dice.h"
11 struct snd_dice *dice = substream->rmidi->private_data; in midi_open() local
14 err = snd_dice_stream_lock_try(dice); in midi_open()
18 mutex_lock(&dice->mutex); in midi_open()
20 err = snd_dice_stream_reserve_duplex(dice, 0, 0, 0); in midi_open()
22 ++dice->substreams_counter; in midi_open()
23 err = snd_dice_stream_start_duplex(dice); in midi_open()
25 --dice->substreams_counter; in midi_open()
28 mutex_unlock(&dice->mutex); in midi_open()
[all …]
DMakefile2 snd-dice-objs := dice-transaction.o dice-stream.o dice-proc.o dice-midi.o \
3 dice-pcm.o dice-hwdep.o dice.o dice-tcelectronic.o \
4 dice-alesis.o dice-extension.o dice-mytek.o dice-presonus.o \
5 dice-harman.o dice-focusrite.o dice-weiss.o
6 obj-$(CONFIG_SND_DICE) += snd-dice.o
Ddice-alesis.c3 * dice-alesis.c - a part of driver for DICE based devices
8 #include "dice.h"
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, &reg, 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()
54 int snd_dice_detect_alesis_mastercontrol_formats(struct snd_dice *dice) in snd_dice_detect_alesis_mastercontrol_formats() argument
[all …]
Ddice.c8 #include "dice.h"
10 MODULE_DESCRIPTION("DICE driver");
41 * Check that GUID and unit directory are constructed according to DICE in check_dice_category()
73 static int check_clock_caps(struct snd_dice *dice) in check_clock_caps() argument
79 if (dice->clock_caps > 0) { in check_clock_caps()
80 err = snd_dice_transaction_read_global(dice, in check_clock_caps()
85 dice->clock_caps = be32_to_cpu(value); in check_clock_caps()
88 dice->clock_caps = CLOCK_CAP_RATE_44100 | in check_clock_caps()
97 static void dice_card_strings(struct snd_dice *dice) in dice_card_strings() argument
99 struct snd_card *card = dice->card; in dice_card_strings()
[all …]
Ddice-focusrite.c2 // dice-focusrite.c - a part of driver for DICE based devices
6 #include "dice.h"
8 int snd_dice_detect_focusrite_pro40_tcd3070_formats(struct snd_dice *dice) in snd_dice_detect_focusrite_pro40_tcd3070_formats() argument
12 dice->tx_pcm_chs[0][0] = 20; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
13 dice->tx_midi_ports[0] = 1; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
14 dice->rx_pcm_chs[0][0] = 20; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
15 dice->rx_midi_ports[0] = 1; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
17 dice->tx_pcm_chs[0][1] = 16; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
18 dice->tx_midi_ports[1] = 1; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
19 dice->rx_pcm_chs[0][1] = 16; in snd_dice_detect_focusrite_pro40_tcd3070_formats()
[all …]
Ddice-extension.c3 * dice-extension.c - a part of driver for DICE based devices
8 #include "dice.h"
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()
[all …]
Ddice-proc.c3 * dice_proc.c - a part of driver for Dice based devices
9 #include "dice.h"
11 static int dice_proc_read_mem(struct snd_dice *dice, void *buffer, in dice_proc_read_mem() argument
17 err = snd_fw_transaction(dice->unit, TCODE_READ_BLOCK_REQUEST, in dice_proc_read_mem()
70 struct snd_dice *dice = entry->private_data; in dice_proc_read() local
117 if (dice_proc_read_mem(dice, sections, 0, ARRAY_SIZE(sections)) < 0) in dice_proc_read()
126 if (dice_proc_read_mem(dice, &buf.global, sections[0], quadlets) < 0) in dice_proc_read()
170 if (dice_proc_read_mem(dice, &tx_rx_header, sections[2], 2) < 0) in dice_proc_read()
174 if (dice_proc_read_mem(dice, &buf.tx, sections[2] + 2 + in dice_proc_read()
196 if (dice_proc_read_mem(dice, &tx_rx_header, sections[4], 2) < 0) in dice_proc_read()
[all …]
Ddice-harman.c2 // dice-harman.c - a part of driver for DICE based devices
6 #include "dice.h"
8 int snd_dice_detect_harman_formats(struct snd_dice *dice) in snd_dice_detect_harman_formats() argument
17 dice->tx_pcm_chs[0][i] = 12; in snd_dice_detect_harman_formats()
18 dice->tx_midi_ports[0] = 1; in snd_dice_detect_harman_formats()
19 dice->rx_pcm_chs[0][i] = 10; in snd_dice_detect_harman_formats()
20 dice->rx_midi_ports[0] = 1; in snd_dice_detect_harman_formats()
Ddice-mytek.c3 * dice-mytek.c - a part of driver for DICE based devices
8 #include "dice.h"
25 * they are missing here. An example is the Mytek 8x192 ADDA, which is DICE.
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()
Ddice-presonus.c2 // dice-presonus.c - a part of driver for DICE based devices
6 #include "dice.h"
20 int snd_dice_detect_presonus_formats(struct snd_dice *dice) in snd_dice_detect_presonus_formats() argument
33 fw_csr_iterator_init(&it, dice->unit->directory); in snd_dice_detect_presonus_formats()
49 memcpy(dice->tx_pcm_chs, entry->spec->tx_pcm_chs, in snd_dice_detect_presonus_formats()
51 memcpy(dice->rx_pcm_chs, entry->spec->rx_pcm_chs, in snd_dice_detect_presonus_formats()
55 dice->tx_midi_ports[0] = 1; in snd_dice_detect_presonus_formats()
56 dice->rx_midi_ports[0] = 1; in snd_dice_detect_presonus_formats()
Ddice-tcelectronic.c3 * dice-tc_electronic.c - a part of driver for DICE based devices
8 #include "dice.h"
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()
Ddice-weiss.c2 // dice-weiss.c - a part of driver for DICE based devices
6 #include "dice.h"
61 int snd_dice_detect_weiss_formats(struct snd_dice *dice) in snd_dice_detect_weiss_formats() argument
82 fw_csr_iterator_init(&it, dice->unit->directory); in snd_dice_detect_weiss_formats()
98 memcpy(dice->tx_pcm_chs, entry->spec->tx_pcm_chs, in snd_dice_detect_weiss_formats()
100 memcpy(dice->rx_pcm_chs, entry->spec->rx_pcm_chs, in snd_dice_detect_weiss_formats()
Ddice-interface.h6 * DICE device interface definitions
15 * All values are in big endian. The DICE firmware runs on a little-endian CPU
21 * Streaming is handled by the "DICE driver" interface. Its registers are
185 * The version of the DICE driver specification that this device conforms to;
260 * SCODE_800 is only available in Dice III.
/Linux-v6.6/Documentation/devicetree/bindings/reserved-memory/
Dgoogle,open-dice.yaml4 $id: http://devicetree.org/schemas/reserved-memory/google,open-dice.yaml#
7 title: Open Profile for DICE
11 generated by the Open Profile for DICE protocol.
13 See https://pigweed.googlesource.com/open-dice/
23 const: google,open-dice
26 description: page-aligned region of memory containing DICE data
41 dice: dice@12340000 {
42 compatible = "google,open-dice";
/Linux-v6.6/drivers/misc/
Dopen-dice.c6 * Driver for Open Profile for DICE.
9 * generated by the Open Profile for DICE measured boot protocol. The memory
29 #define DRIVER_NAME "open-dice"
177 { .compatible = "google,open-dice" },
193 /* DICE regions are optional. Succeed even with zero instances. */ in open_dice_init()
DKconfig497 tristate "Open Profile for DICE driver"
501 This driver exposes a DICE reserved memory region to userspace via
503 Identifiers (CDIs) generated by firmware as an output of DICE
DMakefile63 obj-$(CONFIG_OPEN_DICE) += open-dice.o
/Linux-v6.6/sound/firewire/
DKconfig17 tristate "DICE-based DACs support"
21 Say Y here to include support for devices based on the DICE chip family
22 (DICE-II/TCD2210(Mini)/TCD2220(Jr.)) which TC Applied Technologies (TCAT) produced.
42 will be called snd-dice.
DMakefile10 obj-$(CONFIG_SND_DICE) += dice/
/Linux-v6.6/Documentation/translations/it_IT/process/
Dmanagement-style.rst50 se qualcuno vi chiede di "Decidere" tra (a) o (b), e vi dice che ha
95 - avere qualcuno che ti dice che ciò su cui hai lavorato nell'ultimo anno

12