mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
ALSA: usb-audio: add Roland QUAD-CAPTURE multirate support
The QUAD-CAPTURE provides alternate settings for 44.1, 48, 96 and 192 kHz. Its fixed quirk currently describes only 44.1 kHz. Add the remaining playback and capture settings. The device provides four playback and six capture channels through 96 kHz, and two channels in each direction at 192 kHz. Each setting uses an S32_LE container. Tested on a physical QUAD-CAPTURE with full-duplex streams at 44.1, 48, 96 and 192 kHz. Signed-off-by: Jonathan Seth Mainguy <jon@soh.re> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20260829005001.534571-4-jon@soh.re
This commit is contained in:
parent
a334881bcb
commit
b4801a387c
|
|
@ -1374,7 +1374,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|||
}
|
||||
},
|
||||
{
|
||||
/* only 44.1 kHz works at the moment */
|
||||
/* S32_LE; altsettings 1-4 match the device clock. */
|
||||
USB_DEVICE(0x0582, 0x012f),
|
||||
QUIRK_DRIVER_INFO {
|
||||
/* .vendor_name = "Roland", */
|
||||
|
|
@ -1396,6 +1396,54 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|||
.rate_table = (unsigned int[]) { 44100 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(0) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 4,
|
||||
.iface = 0,
|
||||
.altsetting = 2,
|
||||
.altset_idx = 2,
|
||||
.endpoint = 0x05,
|
||||
.ep_attr = 0x05,
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.rate_min = 48000,
|
||||
.rate_max = 48000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 48000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(0) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 4,
|
||||
.iface = 0,
|
||||
.altsetting = 3,
|
||||
.altset_idx = 3,
|
||||
.endpoint = 0x05,
|
||||
.ep_attr = 0x05,
|
||||
.rates = SNDRV_PCM_RATE_96000,
|
||||
.rate_min = 96000,
|
||||
.rate_max = 96000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 96000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(0) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 2,
|
||||
.iface = 0,
|
||||
.altsetting = 4,
|
||||
.altset_idx = 4,
|
||||
.endpoint = 0x05,
|
||||
.ep_attr = 0x05,
|
||||
.rates = SNDRV_PCM_RATE_192000,
|
||||
.rate_min = 192000,
|
||||
.rate_max = 192000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 192000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(1) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
|
|
@ -1412,6 +1460,54 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|||
.rate_table = (unsigned int[]) { 44100 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(1) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 6,
|
||||
.iface = 1,
|
||||
.altsetting = 2,
|
||||
.altset_idx = 2,
|
||||
.endpoint = 0x85,
|
||||
.ep_attr = 0x25,
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.rate_min = 48000,
|
||||
.rate_max = 48000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 48000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(1) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 6,
|
||||
.iface = 1,
|
||||
.altsetting = 3,
|
||||
.altset_idx = 3,
|
||||
.endpoint = 0x85,
|
||||
.ep_attr = 0x25,
|
||||
.rates = SNDRV_PCM_RATE_96000,
|
||||
.rate_min = 96000,
|
||||
.rate_max = 96000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 96000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_AUDIOFORMAT(1) {
|
||||
.formats = SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels = 2,
|
||||
.iface = 1,
|
||||
.altsetting = 4,
|
||||
.altset_idx = 4,
|
||||
.endpoint = 0x85,
|
||||
.ep_attr = 0x25,
|
||||
.rates = SNDRV_PCM_RATE_192000,
|
||||
.rate_min = 192000,
|
||||
.rate_max = 192000,
|
||||
.nr_rates = 1,
|
||||
.rate_table = (unsigned int[]) { 192000 }
|
||||
}
|
||||
},
|
||||
{
|
||||
QUIRK_DATA_MIDI_FIXED_ENDPOINT(2) {
|
||||
.out_cables = 0x0001,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user