1. 15 4月, 2013 1 次提交
    • C
      ALSA: usb-audio: disable autopm for MIDI devices · cbc200bc
      Clemens Ladisch 提交于
      Commit 88a8516a (ALSA: usbaudio: implement USB autosuspend)
      introduced autopm for all USB audio/MIDI devices.  However, many MIDI
      devices, such as synthesizers, do not merely transmit MIDI messages but
      use their MIDI inputs to control other functions.  With autopm, these
      devices would get powered down as soon as the last MIDI port device is
      closed on the host.
      
      Even some plain MIDI interfaces could get broken: they automatically
      send Active Sensing messages while powered up, but as soon as these
      messages cease, the receiving device would interpret this as an
      accidental disconnection.
      
      Commit f5f16541 (ALSA: usb-audio: Fix missing autopm for MIDI input)
      introduced another regression: some devices (e.g. the Roland GAIA SH-01)
      are self-powered but do a reset whenever the USB interface's power state
      changes.
      
      To work around all this, just disable autopm for all USB MIDI devices.
      
      Reported-by: Laurens Holst
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cbc200bc
  2. 04 4月, 2013 2 次提交
  3. 04 1月, 2013 1 次提交
  4. 19 12月, 2012 1 次提交
    • D
      ALSA: usb-audio: Support for Digidesign Mbox 2 USB sound card: · cb99864d
      Damien Zammit 提交于
      This patch is the result of a lot of trial and error, since there are no specs
      available for the device.
      
      Full duplex support is provided, i.e. playback and recording in stereo.
      The format is hardcoded at 48000Hz @ 24 bit, which is the maximum that the
      device supports.  Also, MIDI in and MIDI out both work.
      
      Users will notice that the S/PDIF light also flashes when playback or recording
      is active.  I believe this means that S/PDIF input/output is simultaneously
      activated with the analogue i/o during use.
      But this particular functionality remains untested.
      
      Note that this particular version of the patch is so far untested on the
      physical hardware because I have not compiled a full kernel with the changes.
      However, extensive testing has been done by many users of the hardware
      who believe other versions of my patch have worked since circa 2009.
      
      [Modified to make a function static by tiwai]
      Signed-off-by: NDamien Zammit <damien@zamaudio.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cb99864d
  5. 04 12月, 2012 2 次提交
  6. 19 11月, 2012 1 次提交
  7. 01 11月, 2011 1 次提交
  8. 26 8月, 2011 1 次提交
  9. 06 4月, 2011 1 次提交
  10. 11 3月, 2011 1 次提交
  11. 12 1月, 2011 1 次提交
  12. 10 1月, 2011 1 次提交
  13. 23 10月, 2010 1 次提交
  14. 14 8月, 2010 1 次提交
    • P
      ALSA: usb: USB3 SuperSpeed sound support · 4f4e8f69
      Paul Zimmerman 提交于
      This is V2 of the patch, after feedback from Clemens and Daniel.
      
      This patch adds SuperSpeed support to the USB drivers under sound/. It adds
      tests for USB_SPEED_SUPER to the appropriate places that check for the USB
      speed.
      
      This patch has been tested with our SS USB3 device emulating a set of Yamaha
      speakers and a Logitech microphone, but with the descriptors modified to add
      USB3 support. It has also been tested with the real speakers and microphone,
      to make sure that USB2 devices still work.
      Signed-off-by: NPaul Zimmerman <paulz@synopsys.com>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Cc: Daniel Mack <daniel@caiaq.de>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4f4e8f69
  15. 23 6月, 2010 1 次提交
  16. 21 5月, 2010 1 次提交
  17. 05 3月, 2010 2 次提交
    • D
      ALSA: usb-audio: refactor code · e5779998
      Daniel Mack 提交于
      Clean up the usb audio driver by factoring out a lot of functions to
      separate files. Code for procfs, quirks, urbs, format parsers etc all
      got a new home now.
      
      Moved almost all special quirk handling to quirks.c and introduced new
      generic functions to handle them, so the exceptions do not pollute the
      whole driver.
      
      Renamed usbaudio.c to card.c because this is what it actually does now.
      Renamed usbmidi.c to midi.c for namespace clarity.
      Removed more things from usbaudio.h.
      
      The non-standard drivers were adopted accordingly.
      Signed-off-by: NDaniel Mack <daniel@caiaq.de>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e5779998
    • D
      ALSA: usb-audio: header file cleanups · 3e1aebef
      Daniel Mack 提交于
      Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only
      thing it actually contains. Introduce a new header file to only declare
      these functions.
      
      Introduced usbmixer.h for all functions exported by usbmixer.c.
      Signed-off-by: NDaniel Mack <daniel@caiaq.de>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3e1aebef
  18. 23 2月, 2010 1 次提交
  19. 16 2月, 2010 2 次提交
  20. 24 11月, 2009 2 次提交
  21. 20 11月, 2009 1 次提交
  22. 15 7月, 2009 3 次提交
  23. 27 5月, 2009 1 次提交
  24. 16 2月, 2009 1 次提交
  25. 04 1月, 2009 1 次提交
    • J
      ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc · 913ae5a2
      Julia Lawall 提交于
      This patch extends 42a6e66f by using
      usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
      and usb_endpoint_xfer_int in the negated case as well.
      
      This patch also rewrites some calls to usb_endpoint_dir_in as negated calls
      to !usb_endpoint_dir_out, and vice versa, to better correspond to the
      intent of the original code.
      
      The semantic patch that makes this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
      + !usb_endpoint_xfer_control(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
      + !usb_endpoint_xfer_isoc(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
      + !usb_endpoint_xfer_bulk(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
      + !usb_endpoint_xfer_int(epd)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      913ae5a2
  26. 01 1月, 2009 1 次提交
    • J
      ALSA: sound/usb: use USB API functions rather than constants · 42a6e66f
      Julia Lawall 提交于
      This set of patches introduces calls to the following set of functions:
      
      usb_endpoint_dir_in(epd)
      usb_endpoint_dir_out(epd)
      usb_endpoint_is_bulk_in(epd)
      usb_endpoint_is_bulk_out(epd)
      usb_endpoint_is_int_in(epd)
      usb_endpoint_is_int_out(epd)
      usb_endpoint_num(epd)
      usb_endpoint_type(epd)
      usb_endpoint_xfer_bulk(epd)
      usb_endpoint_xfer_control(epd)
      usb_endpoint_xfer_int(epd)
      usb_endpoint_xfer_isoc(epd)
      
      In some cases, introducing one of these functions is not possible, and it
      just replaces an explicit integer value by one of the following constants:
      
      USB_ENDPOINT_XFER_BULK
      USB_ENDPOINT_XFER_CONTROL
      USB_ENDPOINT_XFER_INT
      USB_ENDPOINT_XFER_ISOC
      
      An extract of the semantic patch that makes these changes is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @r1@ struct usb_endpoint_descriptor *epd; @@
      
      - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) ==
      - \(USB_ENDPOINT_XFER_CONTROL\|0\))
      + usb_endpoint_xfer_control(epd)
      
      @r5@ struct usb_endpoint_descriptor *epd; @@
      
      - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) ==
      -  \(USB_DIR_IN\|0x80\))
      + usb_endpoint_dir_in(epd)
      
      @inc@
      @@
      
      #include <linux/usb.h>
      
      @depends on !inc && (r1||r5)@
      @@
      
      + #include <linux/usb.h>
        #include <linux/usb/...>
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      42a6e66f
  27. 18 12月, 2008 1 次提交
  28. 10 10月, 2008 1 次提交
  29. 01 8月, 2008 1 次提交
  30. 23 2月, 2008 1 次提交
  31. 01 2月, 2008 1 次提交
    • T
      [ALSA] Remove sound/driver.h · 9004acc7
      Takashi Iwai 提交于
      This header file exists only for some hacks to adapt alsa-driver
      tree.  It's useless for building in the kernel.  Let's move a few
      lines in it to sound/core.h and remove it.
      With this patch, sound/driver.h isn't removed but has just a single
      compile warning to include it.  This should be really killed in
      future.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NJaroslav Kysela <perex@perex.cz>
      9004acc7
  32. 16 10月, 2007 2 次提交