Author: hselasky
Date: Tue Mar 26 13:53:33 2019
New Revision: 345546
URL: https://svnweb.freebsd.org/changeset/base/345546

Log:
  MFC r342961:
  snd_uaudio: Add quirks for Edirol UA-25EX in advanced driver mode.
  
  Extend the vendor class USB audio quirk to cover devices without
  the USB audio control descriptor.
  
  PR:                   234794
  Sponsored by:         Mellanox Technologies

Modified:
  stable/10/sys/dev/sound/usb/uaudio.c
  stable/10/sys/dev/sound/usb/uaudioreg.h
  stable/10/sys/dev/usb/quirk/usb_quirk.c
  stable/10/sys/dev/usb/usbdevs
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/sound/usb/uaudio.c
==============================================================================
--- stable/10/sys/dev/sound/usb/uaudio.c        Tue Mar 26 13:52:46 2019        
(r345545)
+++ stable/10/sys/dev/sound/usb/uaudio.c        Tue Mar 26 13:53:33 2019        
(r345546)
@@ -1749,7 +1749,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, str
                        continue;
                }
 
-               if ((acdp != NULL) &&
+               if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
                    (desc->bDescriptorType == UDESC_CS_INTERFACE) &&
                    (desc->bDescriptorSubtype == AS_GENERAL) &&
                    (asid.v1 == NULL)) {
@@ -1765,7 +1765,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, str
                                }
                        }
                }
-               if ((acdp != NULL) &&
+               if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
                    (desc->bDescriptorType == UDESC_CS_INTERFACE) &&
                    (desc->bDescriptorSubtype == FORMAT_TYPE) &&
                    (asf1d.v1 == NULL)) {
@@ -1804,7 +1804,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, str
                                continue;
                        }
                }
-               if ((acdp != NULL) &&
+               if ((acdp != NULL || sc->sc_uq_au_vendor_class != 0) &&
                    (desc->bDescriptorType == UDESC_CS_ENDPOINT) &&
                    (desc->bDescriptorSubtype == AS_GENERAL) &&
                    (sed.v1 == NULL)) {

Modified: stable/10/sys/dev/sound/usb/uaudioreg.h
==============================================================================
--- stable/10/sys/dev/sound/usb/uaudioreg.h     Tue Mar 26 13:52:46 2019        
(r345545)
+++ stable/10/sys/dev/sound/usb/uaudioreg.h     Tue Mar 26 13:53:33 2019        
(r345546)
@@ -34,7 +34,7 @@
 #ifndef _UAUDIOREG_H_
 #define        _UAUDIOREG_H_
 
-#define        UAUDIO_VERSION          0x0100
+#define        UAUDIO_VERSION_10       0x0100
 #define        UAUDIO_VERSION_20       0x0200
 #define        UAUDIO_VERSION_30       0x0300
 

Modified: stable/10/sys/dev/usb/quirk/usb_quirk.c
==============================================================================
--- stable/10/sys/dev/usb/quirk/usb_quirk.c     Tue Mar 26 13:52:46 2019        
(r345545)
+++ stable/10/sys/dev/usb/quirk/usb_quirk.c     Tue Mar 26 13:53:33 2019        
(r345546)
@@ -526,6 +526,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRK
        USB_QUIRK(MAUDIO, FASTTRACKULTRA8R, 0x0000, 0xffff, UQ_AU_VENDOR_CLASS),
        USB_QUIRK(CMEDIA, CM6206, 0x0000, 0xffff, UQ_AU_SET_SPDIF_CM6206),
        USB_QUIRK(PLOYTEC, SPL_CRIMSON_1, 0x0000, 0xffff, UQ_CFG_INDEX_1),
+       USB_QUIRK(ROLAND, UA25EX_AD, 0x0000, 0xffff, UQ_AU_VENDOR_CLASS),
 
        /*
         * Quirks for manufacturers which USB devices does not respond

Modified: stable/10/sys/dev/usb/usbdevs
==============================================================================
--- stable/10/sys/dev/usb/usbdevs       Tue Mar 26 13:52:46 2019        
(r345545)
+++ stable/10/sys/dev/usb/usbdevs       Tue Mar 26 13:53:33 2019        
(r345546)
@@ -3871,6 +3871,8 @@ product ROLAND SD20               0x0027  SD-20 MIDI Synth
 product ROLAND SD80            0x0029  SD-80 MIDI Synth
 product ROLAND UA700           0x002b  UA-700 Audio I/F
 product ROLAND PCR300          0x0033  EDIROL PCR-300 MIDI I/F
+product ROLAND UA25EX_AD       0x00e6  EDIROL UA-25EX (Advanced Driver)
+product ROLAND UA25EX_CC       0x00e7  EDIROL UA-25EX (Class Compliant)
 
 /* Rockfire products */
 product ROCKFIRE GAMEPAD       0x2033  gamepad 203USB
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to