From: Cyrus Harmon <cyrus@bobobeach.com>
To: alsa-devel@alsa-project.org
Subject: Re: [PATCH v2] ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4
Date: Wed, 1 Jul 2015 09:55:09 -0700 [thread overview]
Message-ID: <55941B6D.7090503@bobobeach.com> (raw)
In-Reply-To: <s5hmvzflwsu.wl-tiwai@suse.de>
As long as you're messing around with the quirks table, it would be nice
to add support for the UR44. This was discussed on the list a while back
and it wasn't clear why the quirk was needed, but it still seems to be
needed, at least last I looked.
thanks,
Cyrus
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 2f6d3e9..ed7875e 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -466,6 +466,36 @@ YAMAHA_DEVICE(0x105d, NULL),
}
}
},
+{
+ USB_DEVICE(0x0499, 0x150e),
+ .driver_info = (unsigned long) & (const struct
snd_usb_audio_quirk) {
+ /* .vendor_name = "Yamaha", */
+ /* .product_name = "Steinberg UR44", */
+ .ifnum = QUIRK_ANY_INTERFACE,
+ .type = QUIRK_COMPOSITE,
+ .data = (const struct snd_usb_audio_quirk[]) {
+ {
+ .ifnum = 1,
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
+ },
+ {
+ .ifnum = 2,
+ .type = QUIRK_AUDIO_STANDARD_INTERFACE
+ },
+ {
+ .ifnum = 3,
+ .type = QUIRK_MIDI_YAMAHA
+ },
+ {
+ .ifnum = 4,
+ .type = QUIRK_IGNORE_INTERFACE
+ },
+ {
+ .ifnum = -1
+ }
+ }
+ }
+},
YAMAHA_DEVICE(0x2000, "DGP-7"),
YAMAHA_DEVICE(0x2001, "DGP-5"),
YAMAHA_DEVICE(0x2002, NULL),
On 07/01/2015 08:30 AM, Takashi Iwai wrote:
> At Tue, 30 Jun 2015 17:41:33 +0200,
> Dominic Sacré wrote:
>> The Steinberg MI2 and MI4 interfaces are compatible with the USB class
>> audio spec, but the MIDI part of the devices is reported as a vendor
>> specific interface.
>>
>> This patch adds entries to quirks-table.h to recognize the MIDI
>> endpoints. Audio functionality was already working and is unaffected by
>> this change.
>>
>> Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de>
>> Signed-off-by: Albert Huitsing <albert@huitsing.nl>
> Applied now with Clemens' ack, and Cc to stable.
>
>
> thanks,
>
> Takashi
>
>> ---
>> sound/usb/quirks-table.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 68 insertions(+)
>>
>> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
>> index 2f6d3e9..e475665 100644
>> --- a/sound/usb/quirks-table.h
>> +++ b/sound/usb/quirks-table.h
>> @@ -2512,6 +2512,74 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>> }
>> },
>>
>> +/* Steinberg devices */
>> +{
>> + /* Steinberg MI2 */
>> + USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x2040),
>> + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
>> + .ifnum = QUIRK_ANY_INTERFACE,
>> + .type = QUIRK_COMPOSITE,
>> + .data = & (const struct snd_usb_audio_quirk[]) {
>> + {
>> + .ifnum = 0,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 1,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 2,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 3,
>> + .type = QUIRK_MIDI_FIXED_ENDPOINT,
>> + .data = &(const struct snd_usb_midi_endpoint_info) {
>> + .out_cables = 0x0001,
>> + .in_cables = 0x0001
>> + }
>> + },
>> + {
>> + .ifnum = -1
>> + }
>> + }
>> + }
>> +},
>> +{
>> + /* Steinberg MI4 */
>> + USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x4040),
>> + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
>> + .ifnum = QUIRK_ANY_INTERFACE,
>> + .type = QUIRK_COMPOSITE,
>> + .data = & (const struct snd_usb_audio_quirk[]) {
>> + {
>> + .ifnum = 0,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 1,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 2,
>> + .type = QUIRK_AUDIO_STANDARD_INTERFACE
>> + },
>> + {
>> + .ifnum = 3,
>> + .type = QUIRK_MIDI_FIXED_ENDPOINT,
>> + .data = &(const struct snd_usb_midi_endpoint_info) {
>> + .out_cables = 0x0001,
>> + .in_cables = 0x0001
>> + }
>> + },
>> + {
>> + .ifnum = -1
>> + }
>> + }
>> + }
>> +},
>> +
>> /* TerraTec devices */
>> {
>> USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012),
>> --
>> 2.4.5
>>
>> _______________________________________________
>> Alsa-devel mailing list
>> Alsa-devel@alsa-project.org
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2015-07-01 16:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-25 15:26 [PATCH] ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4 Dominic Sacré
2015-06-25 18:23 ` Clemens Ladisch
2015-06-30 15:41 ` [PATCH v2] " Dominic Sacré
2015-07-01 14:06 ` Clemens Ladisch
2015-07-01 15:30 ` Takashi Iwai
2015-07-01 16:55 ` Cyrus Harmon [this message]
2015-07-02 5:42 ` Takashi Iwai
2015-07-03 1:47 ` Cyrus Harmon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55941B6D.7090503@bobobeach.com \
--to=cyrus@bobobeach.com \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.