diff options
Diffstat (limited to 'sound/usb/card.h')
| -rw-r--r-- | sound/usb/card.h | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/usb/card.h b/sound/usb/card.h index 5ecacaa90b5..97acb906acc 100644 --- a/sound/usb/card.h +++ b/sound/usb/card.h @@ -2,11 +2,11 @@  #define __USBAUDIO_CARD_H  #define MAX_NR_RATES	1024 -#define MAX_PACKS	20 +#define MAX_PACKS	6		/* per URB */  #define MAX_PACKS_HS	(MAX_PACKS * 8)	/* in high speed mode */ -#define MAX_URBS	8 +#define MAX_URBS	12  #define SYNC_URBS	4	/* always four urbs for sync */ -#define MAX_QUEUE	24	/* try not to exceed this queue length, in ms */ +#define MAX_QUEUE	18	/* try not to exceed this queue length, in ms */  struct audioformat {  	struct list_head list; @@ -87,15 +87,17 @@ struct snd_usb_endpoint {  	unsigned int phase;		/* phase accumulator */  	unsigned int maxpacksize;	/* max packet size in bytes */  	unsigned int maxframesize;      /* max packet size in frames */ +	unsigned int max_urb_frames;	/* max URB size in frames */  	unsigned int curpacksize;	/* current packet size in bytes (for capture) */  	unsigned int curframesize;      /* current packet size in frames (for capture) */  	unsigned int syncmaxsize;	/* sync endpoint packet size */  	unsigned int fill_max:1;	/* fill max packet size always */ +	unsigned int udh01_fb_quirk:1;	/* corrupted feedback data */  	unsigned int datainterval;      /* log_2 of data packet interval */  	unsigned int syncinterval;	/* P for adaptive mode, 0 otherwise */  	unsigned char silence_value;  	unsigned int stride; -	int iface, alt_idx; +	int iface, altsetting;  	int skip_packets;		/* quirks for devices to ignore the first n packets  					   in a stream */ @@ -116,6 +118,8 @@ struct snd_usb_substream {  	unsigned int channels_max;	/* max channels in the all audiofmts */  	unsigned int cur_rate;		/* current rate (for hw_params callback) */  	unsigned int period_bytes;	/* current period bytes (for hw_params callback) */ +	unsigned int period_frames;	/* current frames per period */ +	unsigned int buffer_periods;	/* current periods per buffer */  	unsigned int altset_idx;     /* USB data format: index of alternate setting */  	unsigned int txfr_quirk:1;	/* allow sub-frame alignment */  	unsigned int fmt_type;		/* USB audio format type (1-3) */ @@ -125,6 +129,7 @@ struct snd_usb_substream {  	unsigned int hwptr_done;	/* processed byte position in the buffer */  	unsigned int transfer_done;		/* processed frames since last period update */ +	unsigned int frame_limit;	/* limits number of packets in URB */  	/* data and sync endpoints for this stream */  	unsigned int ep_num;		/* the endpoint number */  | 
