aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/card.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/card.h')
-rw-r--r--sound/usb/card.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/usb/card.h b/sound/usb/card.h
index 2b9fffff23b6..afa4f9e9b27a 100644
--- a/sound/usb/card.h
+++ b/sound/usb/card.h
@@ -92,6 +92,8 @@ struct snd_usb_endpoint {
92 unsigned char silence_value; 92 unsigned char silence_value;
93 unsigned int stride; 93 unsigned int stride;
94 int iface, alt_idx; 94 int iface, alt_idx;
95 int skip_packets; /* quirks for devices to ignore the first n packets
96 in a stream */
95 97
96 spinlock_t lock; 98 spinlock_t lock;
97 struct list_head list; 99 struct list_head list;
@@ -105,6 +107,8 @@ struct snd_usb_substream {
105 int interface; /* current interface */ 107 int interface; /* current interface */
106 int endpoint; /* assigned endpoint */ 108 int endpoint; /* assigned endpoint */
107 struct audioformat *cur_audiofmt; /* current audioformat pointer (for hw_params callback) */ 109 struct audioformat *cur_audiofmt; /* current audioformat pointer (for hw_params callback) */
110 snd_pcm_format_t pcm_format; /* current audio format (for hw_params callback) */
111 unsigned int channels; /* current number of channels (for hw_params callback) */
108 unsigned int cur_rate; /* current rate (for hw_params callback) */ 112 unsigned int cur_rate; /* current rate (for hw_params callback) */
109 unsigned int period_bytes; /* current period bytes (for hw_params callback) */ 113 unsigned int period_bytes; /* current period bytes (for hw_params callback) */
110 unsigned int altset_idx; /* USB data format: index of alternate setting */ 114 unsigned int altset_idx; /* USB data format: index of alternate setting */
@@ -115,14 +119,13 @@ struct snd_usb_substream {
115 119
116 unsigned int hwptr_done; /* processed byte position in the buffer */ 120 unsigned int hwptr_done; /* processed byte position in the buffer */
117 unsigned int transfer_done; /* processed frames since last period update */ 121 unsigned int transfer_done; /* processed frames since last period update */
118 unsigned long active_mask; /* bitmask of active urbs */
119 unsigned long unlink_mask; /* bitmask of unlinked urbs */
120 122
121 /* data and sync endpoints for this stream */ 123 /* data and sync endpoints for this stream */
122 unsigned int ep_num; /* the endpoint number */ 124 unsigned int ep_num; /* the endpoint number */
123 struct snd_usb_endpoint *data_endpoint; 125 struct snd_usb_endpoint *data_endpoint;
124 struct snd_usb_endpoint *sync_endpoint; 126 struct snd_usb_endpoint *sync_endpoint;
125 unsigned long flags; 127 unsigned long flags;
128 bool need_setup_ep; /* (re)configure EP at prepare? */
126 129
127 u64 formats; /* format bitmasks (all or'ed) */ 130 u64 formats; /* format bitmasks (all or'ed) */
128 unsigned int num_formats; /* number of supported audio formats (list) */ 131 unsigned int num_formats; /* number of supported audio formats (list) */