Lines Matching +full:rx +full:- +full:input +full:- +full:m
1 // SPDX-License-Identifier: GPL-2.0-only
3 * fireworks_proc.c - a part of driver for Fireworks based devices
5 * Copyright (c) 2009-2010 Clemens Ladisch
6 * Copyright (c) 2013-2014 Takashi Sakamoto
12 get_phys_name(struct snd_efw_phys_grp *grp, bool input) in get_phys_name() argument
19 if (grp->type < ARRAY_SIZE(ch_type)) in get_phys_name()
20 return ch_type[grp->type]; in get_phys_name()
21 else if (input) in get_phys_name()
22 return "Input"; in get_phys_name()
30 struct snd_efw *efw = entry->private_data; in proc_read_hwinfo()
41 snd_iprintf(buffer, "guid_hi: 0x%X\n", hwinfo->guid_hi); in proc_read_hwinfo()
42 snd_iprintf(buffer, "guid_lo: 0x%X\n", hwinfo->guid_lo); in proc_read_hwinfo()
43 snd_iprintf(buffer, "type: 0x%X\n", hwinfo->type); in proc_read_hwinfo()
44 snd_iprintf(buffer, "version: 0x%X\n", hwinfo->version); in proc_read_hwinfo()
45 snd_iprintf(buffer, "vendor_name: %s\n", hwinfo->vendor_name); in proc_read_hwinfo()
46 snd_iprintf(buffer, "model_name: %s\n", hwinfo->model_name); in proc_read_hwinfo()
48 snd_iprintf(buffer, "dsp_version: 0x%X\n", hwinfo->dsp_version); in proc_read_hwinfo()
49 snd_iprintf(buffer, "arm_version: 0x%X\n", hwinfo->arm_version); in proc_read_hwinfo()
50 snd_iprintf(buffer, "fpga_version: 0x%X\n", hwinfo->fpga_version); in proc_read_hwinfo()
52 snd_iprintf(buffer, "flags: 0x%X\n", hwinfo->flags); in proc_read_hwinfo()
54 snd_iprintf(buffer, "max_sample_rate: 0x%X\n", hwinfo->max_sample_rate); in proc_read_hwinfo()
55 snd_iprintf(buffer, "min_sample_rate: 0x%X\n", hwinfo->min_sample_rate); in proc_read_hwinfo()
57 hwinfo->supported_clocks); in proc_read_hwinfo()
59 snd_iprintf(buffer, "phys out: 0x%X\n", hwinfo->phys_out); in proc_read_hwinfo()
60 snd_iprintf(buffer, "phys in: 0x%X\n", hwinfo->phys_in); in proc_read_hwinfo()
63 hwinfo->phys_in_grp_count); in proc_read_hwinfo()
64 for (i = 0; i < hwinfo->phys_in_grp_count; i++) { in proc_read_hwinfo()
67 i, hwinfo->phys_out_grps[i].type, in proc_read_hwinfo()
68 hwinfo->phys_out_grps[i].count); in proc_read_hwinfo()
72 hwinfo->phys_out_grp_count); in proc_read_hwinfo()
73 for (i = 0; i < hwinfo->phys_out_grp_count; i++) { in proc_read_hwinfo()
76 i, hwinfo->phys_out_grps[i].type, in proc_read_hwinfo()
77 hwinfo->phys_out_grps[i].count); in proc_read_hwinfo()
80 snd_iprintf(buffer, "amdtp rx pcm channels 1x: 0x%X\n", in proc_read_hwinfo()
81 hwinfo->amdtp_rx_pcm_channels); in proc_read_hwinfo()
83 hwinfo->amdtp_tx_pcm_channels); in proc_read_hwinfo()
84 snd_iprintf(buffer, "amdtp rx pcm channels 2x: 0x%X\n", in proc_read_hwinfo()
85 hwinfo->amdtp_rx_pcm_channels_2x); in proc_read_hwinfo()
87 hwinfo->amdtp_tx_pcm_channels_2x); in proc_read_hwinfo()
88 snd_iprintf(buffer, "amdtp rx pcm channels 4x: 0x%X\n", in proc_read_hwinfo()
89 hwinfo->amdtp_rx_pcm_channels_4x); in proc_read_hwinfo()
91 hwinfo->amdtp_tx_pcm_channels_4x); in proc_read_hwinfo()
93 snd_iprintf(buffer, "midi out ports: 0x%X\n", hwinfo->midi_out_ports); in proc_read_hwinfo()
94 snd_iprintf(buffer, "midi in ports: 0x%X\n", hwinfo->midi_in_ports); in proc_read_hwinfo()
97 hwinfo->mixer_playback_channels); in proc_read_hwinfo()
99 hwinfo->mixer_capture_channels); in proc_read_hwinfo()
107 struct snd_efw *efw = entry->private_data; in proc_read_clock()
124 * -144.0 dB when linear is 0
130 struct snd_efw *efw = entry->private_data; in proc_read_phys_meters()
132 unsigned int g, c, m, max, size; in proc_read_phys_meters() local
138 (efw->phys_in + efw->phys_out) * sizeof(u32); in proc_read_phys_meters()
149 m = 0; in proc_read_phys_meters()
150 max = min(efw->phys_out, meters->out_meters); in proc_read_phys_meters()
151 linear = meters->values; in proc_read_phys_meters()
153 for (g = 0; g < efw->phys_out_grp_count; g++) { in proc_read_phys_meters()
154 name = get_phys_name(&efw->phys_out_grps[g], false); in proc_read_phys_meters()
155 for (c = 0; c < efw->phys_out_grps[g].count; c++) { in proc_read_phys_meters()
156 if (m < max) in proc_read_phys_meters()
158 name, c, linear[m++]); in proc_read_phys_meters()
162 m = 0; in proc_read_phys_meters()
163 max = min(efw->phys_in, meters->in_meters); in proc_read_phys_meters()
164 linear = meters->values + meters->out_meters; in proc_read_phys_meters()
166 for (g = 0; g < efw->phys_in_grp_count; g++) { in proc_read_phys_meters()
167 name = get_phys_name(&efw->phys_in_grps[g], true); in proc_read_phys_meters()
168 for (c = 0; c < efw->phys_in_grps[g].count; c++) in proc_read_phys_meters()
169 if (m < max) in proc_read_phys_meters()
171 name, c, linear[m++]); in proc_read_phys_meters()
181 struct snd_efw *efw = entry->private_data; in proc_read_queues_state()
184 if (efw->pull_ptr > efw->push_ptr) in proc_read_queues_state()
185 consumed = snd_efw_resp_buf_size - in proc_read_queues_state()
186 (unsigned int)(efw->pull_ptr - efw->push_ptr); in proc_read_queues_state()
188 consumed = (unsigned int)(efw->push_ptr - efw->pull_ptr); in proc_read_queues_state()
200 entry = snd_info_create_card_entry(efw->card, name, root); in add_node()
213 root = snd_info_create_card_entry(efw->card, "firewire", in snd_efw_proc_init()
214 efw->card->proc_root); in snd_efw_proc_init()
217 root->mode = S_IFDIR | 0555; in snd_efw_proc_init()