File Index
Files and directories
Sign in
FILE

dice-teac.c

File preview with syntax highlighting.

linux-6.19.14/sound/firewire/dice/dice-teac.c C
 1// SPDX-License-Identifier: GPL-2.0
 2// dice-teac.c - a part of driver for DICE based devices
 3//
 4// Copyright (c) 2025 Takashi Sakamoto
 5
 6#include "dice.h"
 7
 8int snd_dice_detect_teac_formats(struct snd_dice *dice)
 9{
10	__be32 reg;
11	u32 data;
12	int err;
13
14	err = snd_dice_transaction_read_tx(dice, TX_NUMBER, &reg, sizeof(reg));
15	if (err  < 0)
16		return err;
17
18	dice->tx_pcm_chs[0][SND_DICE_RATE_MODE_LOW] = 16;
19	dice->tx_pcm_chs[0][SND_DICE_RATE_MODE_MIDDLE] = 16;
20	dice->tx_midi_ports[0] = 1;
21
22	data = be32_to_cpu(reg);
23	if (data > 1) {
24		dice->tx_pcm_chs[1][SND_DICE_RATE_MODE_LOW] = 16;
25		dice->tx_pcm_chs[1][SND_DICE_RATE_MODE_MIDDLE] = 16;
26	}
27
28	err = snd_dice_transaction_read_rx(dice, RX_NUMBER, &reg, sizeof(reg));
29	if (err  < 0)
30		return err;
31
32	dice->rx_pcm_chs[0][SND_DICE_RATE_MODE_LOW] = 16;
33	dice->rx_pcm_chs[0][SND_DICE_RATE_MODE_MIDDLE] = 16;
34	dice->rx_midi_ports[0] = 1;
35
36	data = be32_to_cpu(reg);
37	if (data > 1) {
38		dice->rx_pcm_chs[1][SND_DICE_RATE_MODE_LOW] = 16;
39		dice->rx_pcm_chs[1][SND_DICE_RATE_MODE_MIDDLE] = 16;
40	}
41
42	return 0;
43}
~/ Read-only file preview.