diff --git a/sound/firewire/dice/dice-tcelectronic.c b/sound/firewire/dice/dice-tcelectronic.c index e134a5110c6c..f9e0072deb81 100644 --- a/sound/firewire/dice/dice-tcelectronic.c +++ b/sound/firewire/dice/dice-tcelectronic.c @@ -49,6 +49,12 @@ static const struct dice_tc_spec studio_konnekt_48 = { .has_midi = true, }; +static const struct dice_tc_spec digital_konnekt_x32 = { + .tx_pcm_chs = {{16, 16, 4}, {0, 0, 0} }, + .rx_pcm_chs = {{16, 16, 4}, {0, 0, 0} }, + .has_midi = false, +}; + int snd_dice_detect_tcelectronic_formats(struct snd_dice *dice) { static const struct { @@ -61,6 +67,7 @@ int snd_dice_detect_tcelectronic_formats(struct snd_dice *dice) {0x00000023, &konnekt_live}, {0x00000024, &desktop_konnekt6}, {0x00000027, &impact_twin}, + {0x00000030, &digital_konnekt_x32}, }; struct fw_csr_iterator it; int key, val, model_id; diff --git a/sound/firewire/dice/dice.c b/sound/firewire/dice/dice.c index beeef62581ba..774eb2205668 100644 --- a/sound/firewire/dice/dice.c +++ b/sound/firewire/dice/dice.c @@ -358,6 +358,14 @@ static const struct ieee1394_device_id dice_id_table[] = { .model_id = 0x000027, .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, }, + /* TC Electronic Digital Konnekt x32. */ + { + .match_flags = IEEE1394_MATCH_VENDOR_ID | + IEEE1394_MATCH_MODEL_ID, + .vendor_id = OUI_TCELECTRONIC, + .model_id = 0x000030, + .driver_data = (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + }, /* Alesis iO14/iO26. */ { .match_flags = IEEE1394_MATCH_VENDOR_ID |