10 Apr, 2014

1 commit

  • BugLink: http://bugs.launchpad.net/bugs/1305133

    Malfunctioning or slow devices can cause a flood of dmesg SPAM.

    I've ignored checkpatch.pl complaints about the use of printk_ratelimit() in favour
    of prior art in sound/usb/pcm.c.

    WARNING: Prefer printk_ratelimited or pr__ratelimited to printk_ratelimit
    + if (printk_ratelimit() &&

    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Eldad Zack
    Cc: Daniel Mack
    Cc: Clemens Ladisch
    Signed-off-by: Tim Gardner
    Signed-off-by: Takashi Iwai

    Tim Gardner
     

13 Mar, 2014

1 commit

  • ASoC: Updates for v3.15

    Quite a busy release for ASoC this time, more on janitorial work than
    exciting new features but welcome nontheless:

    - Lots of cleanups from Takashi for enumerations; the original API for
    these was error prone so he's refactored lots of code to use more
    modern APIs which avoid issues.
    - Elimination of the ASoC level wrappers for I2C and SPI moving us
    closer to converting to regmap completely and avoiding some
    randconfig hassle.
    - Provide both manually and transparently locked DAPM APIs rather than
    a mix of the two fixing some concurrency issues.
    - Start converting CODEC drivers to use separate bus interface drivers
    rather than having them all in one file helping avoid dependency
    issues.
    - DPCM support for Intel Haswell and Bay Trail platforms.
    - Lots of work on improvements for simple-card, DaVinci and the Renesas
    rcar drivers.
    - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the
    CSR SiRF SoC.

    Takashi Iwai
     

05 Mar, 2014

1 commit


28 Feb, 2014

1 commit


27 Feb, 2014

1 commit


26 Feb, 2014

1 commit

  • Convert with dev_err() and co from snd_printk(), etc.
    As there are too deep indirections (e.g. ep->chip->dev->dev),
    a few new local macros, usb_audio_err() & co, are introduced.

    Also, the device numbers in some messages are dropped, as they are
    shown in the prefix automatically.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

25 Feb, 2014

1 commit


17 Feb, 2014

2 commits

  • Avoid traversing the device object list of the card instance just for
    checking the PCM streams. The driver's private object already
    contains the array of substream pointers, so it can be simply looked
    through. The card internal may be restructured in future, thus better
    not to rely on it.

    Also, this fixes the possible deadlocks in PCM mutex. Instead of
    taking multiple PCM mutexes, just take the common mutex in all
    places. Along with it, rename prepare_mutex as pcm_mutex.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When the driver tries to access Function Unit 10, the KEF X300A
    speakers' firmware apparently locks up, making even PCM streaming
    impossible. Work around this by ignoring this FU.

    Cc:
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

14 Feb, 2014

1 commit


12 Feb, 2014

1 commit


03 Feb, 2014

2 commits


14 Jan, 2014

3 commits


05 Jan, 2014

1 commit


23 Dec, 2013

1 commit


20 Dec, 2013

1 commit

  • Plantronics Gamecom 780 headset has a firmware problem, and when the
    FU 0x09 volume is changed, it results in either too loud or silence
    except for a very narrow range. This patch provides a workaround,
    ignoring the node, initialize the volume in a sane value and keep
    untouched.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65251
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

06 Dec, 2013

1 commit


27 Nov, 2013

1 commit


14 Nov, 2013

1 commit


12 Nov, 2013

1 commit

  • According to USB Audio spec v2 bits 25 and 26 of bmChannelConfig are
    "Back Left of Center - BLC" and "Back Right of Center - BRC",
    respectively.

    They are currently assigned to ALSA channels BLC/BRC. However, the ALSA
    BLC/BRC are actually the rather nonsensical "bottom left center" and
    "bottom right center", so the channels will be assigned wrongly. The
    comments in the USB code are also similarly wrong, so this is not
    readily apparent without looking at the actual specification.

    Fix the channel mapping by mapping bits 25 and 26 to RLC (Rear Left
    Center) and RRC (Rear Right Center), respectively, instead.

    Signed-off-by: Anssi Hannula
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     

05 Nov, 2013

3 commits

  • In case the channel count of the input terminal is not the same as
    the channel count of the streaming descriptor, the channel config of
    the input terminal can not be trusted. Instead fall back to a default
    (guessed) channel map.

    This was found on a Logitech USB Headset.

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • The channel config from the streaming descriptor is probably a
    better indicator of the channel map than the input terminal.
    Use the input terminal's channel map as fallback only.

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • If wChannelconfig is given for some formats but not others, userspace
    might not be able to set the channel map.

    This is RFC because I'm not sure what the best behaviour is - to guess
    the channel map from the given number of channels (it's quite likely
    that one channel is MONO and two channels is FL FR), or just to supply
    UNKNOWN for all channels.

    But the complete lack of channel map for a format leads userspace to
    believe that the format is not available at all. Or am I
    misunderstanding how this should be used?

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     

29 Oct, 2013

1 commit

  • The probe code of snd-usb-6fire driver overrides the devices[] pointer
    wrongly without checking whether it's already occupied or not. This
    would screw up the device disconnection later.

    Spotted by coverity CID 141423.

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

25 Oct, 2013

1 commit

  • ASoC: Updates for v3.13

    - Further work on the dmaengine helpers, including support for
    configuring the parameters for DMA by reading the capabilities of the
    DMA controller which removes some guesswork and magic numbers fromm
    drivers.
    - A refresh of the documentation.
    - Conversions of many drivers to direct regmap API usage in order to
    allow the ASoC level register I/O code to be removed, this will
    hopefully be completed by v3.14.
    - Support for using async register I/O in DAPM, reducing the time taken
    to implement power transitions on systems that support it.

    Takashi Iwai
     

15 Oct, 2013

1 commit

  • The pcm_usb_stream plugin requires the mremap explicitly for the read
    buffer, as it expands itself once after reading the required size.
    But the commit [314e51b9: mm: kill vma flag VM_RESERVED and
    mm->reserved_vm counter] converted blindly to a combination of
    VM_DONTEXPAND | VM_DONTDUMP like other normal drivers, and this
    resulted in the failure of mremap().

    For fixing this regression, we need to remove VM_DONTEXPAND for the
    read-buffer mmap.

    Reported-and-tested-by: James Miller
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

09 Oct, 2013

1 commit


08 Oct, 2013

1 commit


07 Oct, 2013

9 commits