|
@@ -1830,7 +1830,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
USB_DEVICE(0x0763, 0x2080),
|
|
|
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
|
|
|
/* .vendor_name = "M-Audio", */
|
|
|
- /* .product_name = "Fast Track Ultra 8", */
|
|
|
+ /* .product_name = "Fast Track Ultra", */
|
|
|
.ifnum = QUIRK_ANY_INTERFACE,
|
|
|
.type = QUIRK_COMPOSITE,
|
|
|
.data = & (const struct snd_usb_audio_quirk[]) {
|
|
@@ -1840,11 +1840,51 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
},
|
|
|
{
|
|
|
.ifnum = 1,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ .type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
+ .data = & (const struct audioformat) {
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
+ .channels = 8,
|
|
|
+ .iface = 1,
|
|
|
+ .altsetting = 1,
|
|
|
+ .altset_idx = 1,
|
|
|
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
|
|
|
+ .endpoint = 0x01,
|
|
|
+ .ep_attr = 0x09,
|
|
|
+ .rates = SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000,
|
|
|
+ .rate_min = 44100,
|
|
|
+ .rate_max = 96000,
|
|
|
+ .nr_rates = 4,
|
|
|
+ .rate_table = (unsigned int[]) {
|
|
|
+ 44100, 48000, 88200, 96000
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
.ifnum = 2,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ .type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
+ .data = & (const struct audioformat) {
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
+ .channels = 8,
|
|
|
+ .iface = 2,
|
|
|
+ .altsetting = 1,
|
|
|
+ .altset_idx = 1,
|
|
|
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
|
|
|
+ .endpoint = 0x81,
|
|
|
+ .ep_attr = 0x05,
|
|
|
+ .rates = SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000,
|
|
|
+ .rate_min = 44100,
|
|
|
+ .rate_max = 96000,
|
|
|
+ .nr_rates = 4,
|
|
|
+ .rate_table = (unsigned int[]) {
|
|
|
+ 44100, 48000, 88200, 96000
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
/* interface 3 (MIDI) is standard compliant */
|
|
|
{
|
|
@@ -1867,11 +1907,51 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
},
|
|
|
{
|
|
|
.ifnum = 1,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ .type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
+ .data = & (const struct audioformat) {
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
+ .channels = 8,
|
|
|
+ .iface = 1,
|
|
|
+ .altsetting = 1,
|
|
|
+ .altset_idx = 1,
|
|
|
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
|
|
|
+ .endpoint = 0x01,
|
|
|
+ .ep_attr = 0x09,
|
|
|
+ .rates = SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000,
|
|
|
+ .rate_min = 44100,
|
|
|
+ .rate_max = 96000,
|
|
|
+ .nr_rates = 4,
|
|
|
+ .rate_table = (unsigned int[]) {
|
|
|
+ 44100, 48000, 88200, 96000
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
.ifnum = 2,
|
|
|
- .type = QUIRK_AUDIO_STANDARD_INTERFACE
|
|
|
+ .type = QUIRK_AUDIO_FIXED_ENDPOINT,
|
|
|
+ .data = & (const struct audioformat) {
|
|
|
+ .formats = SNDRV_PCM_FMTBIT_S24_3LE,
|
|
|
+ .channels = 8,
|
|
|
+ .iface = 2,
|
|
|
+ .altsetting = 1,
|
|
|
+ .altset_idx = 1,
|
|
|
+ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
|
|
|
+ .endpoint = 0x81,
|
|
|
+ .ep_attr = 0x05,
|
|
|
+ .rates = SNDRV_PCM_RATE_44100 |
|
|
|
+ SNDRV_PCM_RATE_48000 |
|
|
|
+ SNDRV_PCM_RATE_88200 |
|
|
|
+ SNDRV_PCM_RATE_96000,
|
|
|
+ .rate_min = 44100,
|
|
|
+ .rate_max = 96000,
|
|
|
+ .nr_rates = 4,
|
|
|
+ .rate_table = (unsigned int[]) {
|
|
|
+ 44100, 48000, 88200, 96000
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
/* interface 3 (MIDI) is standard compliant */
|
|
|
{
|