| .. | .. |
|---|
| 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); |
|---|