Skip to content

Commit

Permalink
ALSA: dice: add proc node for stream formation
Browse files Browse the repository at this point in the history
Products with DICE interface in market can support variable stream
formats for three levels of sampling transmission frequencies. To
record these formats, a proxy structure got several fields in former
commit.

This commit adds a proc node to output the stream formats for debugging
purpose.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
takaswie authored and tiwai committed May 2, 2018
1 parent 37149d6 commit b7fd3d6
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions sound/firewire/dice/dice-proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,40 @@ static void dice_proc_read(struct snd_info_entry *entry,
}
}

static void dice_proc_read_formation(struct snd_info_entry *entry,
struct snd_info_buffer *buffer)
{
static const char *const rate_labels[] = {
[SND_DICE_RATE_MODE_LOW] = "low",
[SND_DICE_RATE_MODE_MIDDLE] = "middle",
[SND_DICE_RATE_MODE_HIGH] = "high",
};
struct snd_dice *dice = entry->private_data;
int i, j;

snd_iprintf(buffer, "Output stream from unit:\n");
for (i = 0; i < SND_DICE_RATE_MODE_COUNT; ++i)
snd_iprintf(buffer, "\t%s", rate_labels[i]);
snd_iprintf(buffer, "\tMIDI\n");
for (i = 0; i < MAX_STREAMS; ++i) {
snd_iprintf(buffer, "Tx %u:", i);
for (j = 0; j < SND_DICE_RATE_MODE_COUNT; ++j)
snd_iprintf(buffer, "\t%u", dice->tx_pcm_chs[i][j]);
snd_iprintf(buffer, "\t%u\n", dice->tx_midi_ports[i]);
}

snd_iprintf(buffer, "Input stream to unit:\n");
for (i = 0; i < SND_DICE_RATE_MODE_COUNT; ++i)
snd_iprintf(buffer, "\t%s", rate_labels[i]);
snd_iprintf(buffer, "\n");
for (i = 0; i < MAX_STREAMS; ++i) {
snd_iprintf(buffer, "Rx %u:", i);
for (j = 0; j < SND_DICE_RATE_MODE_COUNT; ++j)
snd_iprintf(buffer, "\t%u", dice->rx_pcm_chs[i][j]);
snd_iprintf(buffer, "\t%u\n", dice->rx_midi_ports[i]);
}
}

static void add_node(struct snd_dice *dice, struct snd_info_entry *root,
const char *name,
void (*op)(struct snd_info_entry *entry,
Expand Down Expand Up @@ -278,4 +312,5 @@ void snd_dice_create_proc(struct snd_dice *dice)
}

add_node(dice, root, "dice", dice_proc_read);
add_node(dice, root, "formation", dice_proc_read_formation);
}

0 comments on commit b7fd3d6

Please sign in to comment.