diff options
author | Daniel Mack <daniel@caiaq.de> | 2010-05-11 20:13:50 +0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-05-12 00:44:07 +0400 |
commit | e213e9cf707c51808e372dabd1070a61af17e77b (patch) | |
tree | 320ddb8fce3b554d1555c698c840437250928ca2 /include/linux/usb/audio.h | |
parent | 0350b6a0cbeaf46e0883d8c79ede2efd49965472 (diff) | |
download | linux-e213e9cf707c51808e372dabd1070a61af17e77b.tar.xz |
ALSA: sound/usb: add preliminary support for UAC2 interrupts
For both UAC1 and UAC2, interrupt endpoint messages are now parsed with
structs rather that with anonymous buffer array accesses.
For UAC2, only CUR interrupt notifications are supported for now.
snd_usb_mixer_status_complete() was renamed to
snd_usb_mixer_interrupt().
Fixed one indentation flaw on the way.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/linux/usb/audio.h')
-rw-r--r-- | include/linux/usb/audio.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/usb/audio.h b/include/linux/usb/audio.h index 9fae6bdab338..c0ef18dc2da7 100644 --- a/include/linux/usb/audio.h +++ b/include/linux/usb/audio.h @@ -488,6 +488,21 @@ struct uac_iso_endpoint_descriptor { #define UAC_FU_BASS_BOOST (1 << (UAC_BASS_BOOST_CONTROL - 1)) #define UAC_FU_LOUDNESS (1 << (UAC_LOUDNESS_CONTROL - 1)) +/* status word format (3.7.1.1) */ + +#define UAC1_STATUS_TYPE_ORIG_MASK 0x0f +#define UAC1_STATUS_TYPE_ORIG_AUDIO_CONTROL_IF 0x0 +#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_IF 0x1 +#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_EP 0x2 + +#define UAC1_STATUS_TYPE_IRQ_PENDING (1 << 7) +#define UAC1_STATUS_TYPE_MEM_CHANGED (1 << 6) + +struct uac1_status_word { + __u8 bStatusType; + __u8 bOriginator; +} __attribute__((packed)); + #ifdef __KERNEL__ struct usb_audio_control { |