summaryrefslogtreecommitdiff
path: root/sound/firewire/dice/dice.h
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2018-05-02 19:16:43 +0900
committerTakashi Iwai <tiwai@suse.de>2018-05-02 16:01:55 +0200
commitf1f0f330b1d0ac1bcc38d7c84d439f4fde341a9c (patch)
treec0d28b3822f4ef6a4e0c33e9dc9c19d849e97033 /sound/firewire/dice/dice.h
parentb60152f750ca22ddee20954228d1bcbf45c936f7 (diff)
ALSA: dice: add parameters of stream formats for models produced by TC Electronic
TC Electronic shipped some models with DICE ASICs. All of them just support DICE original protocol and drivers can't retrieve all of available stream formats without changing status of sampling transmission frequency actually. This commit puts some hard-coded parameters for the models. When detecting the models, the corresponding parameters are copied as cache of stream formats. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/dice/dice.h')
-rw-r--r--sound/firewire/dice/dice.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/firewire/dice/dice.h b/sound/firewire/dice/dice.h
index 0c044f28b9e7..a4987dce9e0a 100644
--- a/sound/firewire/dice/dice.h
+++ b/sound/firewire/dice/dice.h
@@ -70,6 +70,9 @@ enum snd_dice_rate_mode {
SND_DICE_RATE_MODE_COUNT,
};
+struct snd_dice;
+typedef int (*snd_dice_detect_formats_t)(struct snd_dice *dice);
+
struct snd_dice {
struct snd_card *card;
struct fw_unit *unit;
@@ -91,6 +94,7 @@ struct snd_dice {
unsigned int rx_pcm_chs[MAX_STREAMS][SND_DICE_RATE_MODE_COUNT];
unsigned int tx_midi_ports[MAX_STREAMS];
unsigned int rx_midi_ports[MAX_STREAMS];
+ snd_dice_detect_formats_t detect_formats;
struct fw_address_handler notification_handler;
int owner_generation;
@@ -221,4 +225,6 @@ void snd_dice_create_proc(struct snd_dice *dice);
int snd_dice_create_midi(struct snd_dice *dice);
+int snd_dice_detect_tcelectronic_formats(struct snd_dice *dice);
+
#endif