.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * fireworks.h - a part of driver for Fireworks based devices |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (c) 2009-2010 Clemens Ladisch |
---|
5 | 6 | * Copyright (c) 2013-2014 Takashi Sakamoto |
---|
6 | | - * |
---|
7 | | - * Licensed under the terms of the GNU General Public License, version 2. |
---|
8 | 7 | */ |
---|
9 | 8 | #ifndef SOUND_FIREWORKS_H_INCLUDED |
---|
10 | 9 | #define SOUND_FIREWORKS_H_INCLUDED |
---|
.. | .. |
---|
89 | 88 | struct amdtp_stream rx_stream; |
---|
90 | 89 | struct cmp_connection out_conn; |
---|
91 | 90 | struct cmp_connection in_conn; |
---|
92 | | - unsigned int capture_substreams; |
---|
93 | | - unsigned int playback_substreams; |
---|
| 91 | + unsigned int substreams_counter; |
---|
94 | 92 | |
---|
95 | 93 | /* hardware metering parameters */ |
---|
96 | 94 | unsigned int phys_out; |
---|
.. | .. |
---|
109 | 107 | u8 *resp_buf; |
---|
110 | 108 | u8 *pull_ptr; |
---|
111 | 109 | u8 *push_ptr; |
---|
| 110 | + |
---|
| 111 | + struct amdtp_domain domain; |
---|
112 | 112 | }; |
---|
113 | 113 | |
---|
114 | 114 | int snd_efw_transaction_cmd(struct fw_unit *unit, |
---|
.. | .. |
---|
177 | 177 | u32 in_meters; |
---|
178 | 178 | u32 reserved4; |
---|
179 | 179 | u32 reserved5; |
---|
180 | | - u32 values[0]; |
---|
| 180 | + u32 values[]; |
---|
181 | 181 | } __packed; |
---|
182 | 182 | enum snd_efw_clock_source { |
---|
183 | 183 | SND_EFW_CLOCK_SOURCE_INTERNAL = 0, |
---|
.. | .. |
---|
207 | 207 | int snd_efw_command_set_sampling_rate(struct snd_efw *efw, unsigned int rate); |
---|
208 | 208 | |
---|
209 | 209 | int snd_efw_stream_init_duplex(struct snd_efw *efw); |
---|
210 | | -int snd_efw_stream_start_duplex(struct snd_efw *efw, unsigned int rate); |
---|
| 210 | +int snd_efw_stream_reserve_duplex(struct snd_efw *efw, unsigned int rate, |
---|
| 211 | + unsigned int frames_per_period, |
---|
| 212 | + unsigned int frames_per_buffer); |
---|
| 213 | +int snd_efw_stream_start_duplex(struct snd_efw *efw); |
---|
211 | 214 | void snd_efw_stream_stop_duplex(struct snd_efw *efw); |
---|
212 | 215 | void snd_efw_stream_update_duplex(struct snd_efw *efw); |
---|
213 | 216 | void snd_efw_stream_destroy_duplex(struct snd_efw *efw); |
---|