16 May, 2016

1 commit


12 May, 2016

1 commit


10 May, 2016

1 commit


08 May, 2016

2 commits


29 Apr, 2016

2 commits

  • Phoenix Audio MT202pcs (1de7:0114) and MT202exe (1de7:0013) need the
    same workaround as TMX320 for avoiding the firmware bug. It fixes the
    frequent error about the sample rate inquiries and the slow device
    probe as consequence.

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

    Takashi Iwai
     
  • There are many USB audio devices with buggy firmware that don't react
    with the sample rate reading properly. This often results in the
    flood of error messages and slowing down the operation.

    The sample rate read back is basically only for confirming the sample
    rate setup, and it's not critically important. As a compromise, in
    this patch, we stop the sample rate read back once when the device
    gives errors more than tolerance (twice, as of now). This should
    improve most of error cases while we still can catch the firmware
    bugginess.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

26 Apr, 2016

1 commit


15 Apr, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "We've had a very calm development cycle, so far. Here are the few
    fixes for HD-audio and USB-audio, all of which are small and easy"

    * tag 'sound-4.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix inconsistent monitor_present state until repoll
    ALSA: hda - Fix regression of monitor_present flag in eld proc file
    ALSA: usb-audio: Skip volume controls triggers hangup on Dell USB Dock
    ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T460s
    ALSA: sscape: Use correct format identifier for size_t
    ALSA: usb-audio: Add a quirk for Plantronics BT300
    ALSA: usb-audio: Add a sample rate quirk for Phoenix Audio TMX320
    ALSA: hda - Bind with i915 only when Intel graphics is present

    Linus Torvalds
     

12 Apr, 2016

1 commit

  • This is Dell usb dock audio workaround.
    It was fixed the master volume keep lower.

    [Some background: the patch essentially skips the controls of a couple
    of FU volumes. Although the firmware exposes the dB and the value
    information via the usb descriptor, changing the values (we set the
    min volume as default) screws up the device. Although this has been
    fixed in the newer firmware, the devices are shipped with the old
    firmware, thus we need the workaround in the driver side. -- tiwai]

    Signed-off-by: Kailang Yang
    Cc:
    Signed-off-by: Takashi Iwai

    Kailang Yang
     

09 Apr, 2016

2 commits

  • miniDSP USBStreamer UAC2 devices send clock validity changes with the
    control field set to zero. The current interrupt handler ignores all
    packets if the control field does not match the mixer element's, but
    it really should only do that in case that field is needed to
    distinguish multiple elements with the same ID.

    This patch implements a logic that lets notifications packets pass
    if the element ID is unique for a given device.

    Signed-off-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Daniel Mack
     
  • UAC2 specifies clock sources that optionally have validity controls.
    This patch exposes them as mixer controls, so they can be read (and
    at least in theory even be written) by userspace applications in order
    to make clock selection policy decisions.

    This implementation does nothing if the device is not UAC2 compliant,
    or if the clock source does not define said validity control bits.

    Tested with a miniDSP USBStreamer (0x2752/0x0016).

    Signed-off-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

06 Apr, 2016

1 commit


05 Apr, 2016

1 commit

  • Pull media fixes from Mauro Carvalho Chehab:
    "Some bug fixes on au0828 and snd-usb-audio:

    - the au0828+snd-usb-audio MC patch broke several things and produced
    some race conditions. Better to revert the patches, and re-work on
    them for a next version

    - fix a regression at tuner disable links logic

    - properly handle dev_state as a bitmask"

    * tag 'media/v4.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] Revert "[media] media: au0828 change to use Managed Media Controller API"
    [media] Revert "[media] sound/usb: Use Media Controller API to share media resources"
    [media] au0828: Fix dev_state handling
    [media] au0828: fix au0828_v4l2_close() dev_state race condition
    [media] media: au0828 fix to clear enable/disable/change source handlers
    [media] v4l2-mc: cleanup a warning
    [media] au0828: disable tuner links and cache tuner/decoder

    Linus Torvalds
     

04 Apr, 2016

1 commit

  • Phoenix Audio TMX320 gives the similar error when the sample rate is
    asked:
    usb 2-1.3: 2:1: cannot get freq at ep 0x85
    usb 2-1.3: 1:1: cannot get freq at ep 0x2
    ....

    Add the corresponding USB-device ID (1de7:0014) to
    snd_usb_get_sample_rate_quirk() list.

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

    Takashi Iwai
     

02 Apr, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of small fixes:

    - a fix in ALSA timer core to avoid possible BUG() trigger
    - a fix in ALSA timer core 32bit compat layer
    - a few HD-audio quirks for ASUS and HP machines
    - AMD HD-audio HDMI controller quirks
    - fixes of USB-audio double-free at some error paths
    - a fix for memory leak in DICE driver at hotunplug"

    * tag 'sound-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: timer: Use mod_timer() for rearming the system timer
    ALSA: hda - fix front mic problem for a HP desktop
    ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
    ALSA: hda: add AMD Polaris-10/11 AZ PCI IDs with proper driver caps
    ALSA: dice: fix memory leak when unplugging
    ALSA: hda - Apply fix for white noise on Asus N550JV, too
    ALSA: hda - Fix white noise on Asus N750JV headphone
    ALSA: hda - Asus N750JV external subwoofer fixup
    ALSA: timer: fix gparams ioctl compatibility for different architectures

    Linus Torvalds
     

01 Apr, 2016

2 commits

  • Unfortunately, this patch caused several regressions at au0828 and
    snd-usb-audio, like this one:
    https://bugzilla.kernel.org/show_bug.cgi?id=115561

    It also showed several troubles at the MC core that handles pretty
    poorly the memory protections and data lifetime management.

    So, better to revert it and fix the core before reapplying this
    change.

    This reverts commit aebb2b89bff0 ("[media] sound/usb: Use Media
    Controller API to share media resources")'

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • create_fixed_stream_quirk(), snd_usb_parse_audio_interface() and
    create_uaxx_quirk() functions allocate the audioformat object by themselves
    and free it upon error before returning. However, once the object is linked
    to a stream, it's freed again in snd_usb_audio_pcm_free(), thus it'll be
    double-freed, eventually resulting in a memory corruption.

    This patch fixes these failures in the error paths by unlinking the audioformat
    object before freeing it.

    Based on a patch by Takashi Iwai

    [Note for stable backports:
    this patch requires the commit 902eb7fd1e4a ('ALSA: usb-audio: Minor
    code cleanup in create_fixed_stream_quirk()')]

    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1283358
    Reported-by: Ralf Spenneberg
    Cc: # see the note above
    Signed-off-by: Vladis Dronov
    Signed-off-by: Takashi Iwai

    Vladis Dronov
     

23 Mar, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "The previous pull request introduced a few WARN_ON() for Intel
    HD-audio HDMI. Indeed it caught bugs, and now users get annoyed. So
    this request came up: a collection of small fixes to paper over the
    inconsistencies on (mostly) old Intel chipsets.

    In addition, a trivial USB-audio quirk is included, too"

    * tag 'sound-fix-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix missing ELD update at unplugging
    ALSA: usb-audio: add Microsoft HD-5001 to quirks
    ALSA: hda - Workaround for unbalanced i915 power refcount by concurrent probe
    ALSA: hda - Fix spurious kernel WARNING on Baytrail HDMI
    ALSA: hda - Fix forgotten HDMI monitor_present update
    ALSA: hda - Really restrict i915 notifier to HSW+

    Linus Torvalds
     

20 Mar, 2016

1 commit


19 Mar, 2016

1 commit

  • Pull sound updates from Takashi Iwai:
    "After a heavy storm by syzkaller in 4.5 cycle, we have relatively few
    changes in the core at this time while a lot of changes are found in
    the driver side, unsurprisingly. Below are some highlights:

    ALSA core:
    - A few more hardening in ALSA timer codes
    - An extension of sequencer API for advertising the card / pid
    - Small fixes in compress-offload and jack layers

    HD-audio:
    - Dynamic PCM assignment in HDMI/DP codec; preparation for upcoming
    DP-MST support
    - Lots of code refactoring for sharing with ASoC SKL driver
    - Regression fixes for Intel HDMI/DP
    - Fixups for CX20724 codec, Lenovo AiO

    USB-audio:
    - Add quirk_alias option to make quirk debugging easier
    - Fixes for possible Oops by malformed firmware

    Firewire:
    - Add support for FW-1804 in tascam driver
    - Improvements / changes in card registration, multi stream handling,
    etc for DICE
    - Lots of code refactoring

    ASoC:
    - Enhancements of still ongoing topology API
    - Lots of commits for Intel Skylake support including HDMI support
    - A few Intel Atom driver updates for recent devices
    - Lots of improvements to the Renesas drivers
    - Capture support for Qualcomm drivers
    - Support for TI DaVinci DRA7xxx devices
    - New machine drivers for Freescale systems with Cirrus CODECs,
    Mediatek systems with RT5650 CODECs
    - New CPU drivers for Allwinner S/PDIF controllers
    - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514"

    * tag 'sound-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (291 commits)
    ALSA: hda - Fix mutex deadlock at HDMI/DP hotplug
    ALSA: ctl: change return value in compatibility layer so that it's the same value in core implementation
    ALSA: mixart: silence an uninitialized variable warning
    ALSA: usb-audio: Add sanity checks for endpoint accesses
    ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk()
    ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk()
    ALSA: hda - Limit i915 HDMI binding only for HSW and later
    ALSA: hda - Fix unconditional GPIO toggle via automute
    ALSA: mixart: silence unitialized variable warnings
    ALSA: hda - Fixes double fault in nvhdmi_chmap_cea_alloc_validate_get_type
    ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41.
    ALSA: hda - Add new GPU codec ID 0x10de0082 to snd-hda
    ASoC: rsnd: add simplified module explanation
    ASoC: hdac_hdmi: Add broxton device ID
    ASoC: Intel: Bxtn: Add Broxton PCI ID
    ASoC: Intel: Skylake: Move Skylake dsp ops & loader ops
    ASoC: Intel: add dmabuffer to common sst_dsp
    ASoC: Intel: Skylake: Unstatify skl_dsp_enable_core
    ASoC: Intel: Skylake: Fix whitepsace issues
    ASoC: Intel: Skylake: Move module id defines
    ...

    Linus Torvalds
     

16 Mar, 2016

3 commits


15 Mar, 2016

1 commit

  • * commit '840f5b0572ea': (381 commits)
    media: au0828 disable tuner to demod link in au0828_media_device_register()
    [media] touptek: cast char types on %x printk
    [media] touptek: don't DMA at the stack
    [media] mceusb: use %*ph for small buffer dumps
    [media] v4l: exynos4-is: Drop unneeded check when setting up fimc-lite links
    [media] v4l: vsp1: Check if an entity is a subdev with the right function
    [media] hide unused functions for !MEDIA_CONTROLLER
    [media] em28xx: fix Terratec Grabby AC97 codec detection
    [media] media: add prefixes to interface types
    [media] media: rc: nuvoton: switch attribute wakeup_data to text
    [media] v4l2-ioctl: fix YUV422P pixel format description
    [media] media: fix null pointer dereference in v4l_vb2q_enable_media_source()
    [media] v4l2-mc.h: fix yet more compiler errors
    [media] staging/media: add missing TODO files
    [media] media.h: always start with 1 for the audio entities
    [media] sound/usb: Use meaninful names for goto labels
    [media] v4l2-mc.h: fix compiler warnings
    [media] media: au0828 audio mixer isn't connected to decoder
    [media] sound/usb: Use Media Controller API to share media resources
    [media] dw2102: add support for TeVii S662
    ...

    Mauro Carvalho Chehab
     

04 Mar, 2016

3 commits

  • Resolved the conflicts with the latest HDA HDMI fixes.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Fix to use meaningful names instead of numbered goto labels

    Signed-off-by: Shuah Khan
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     
  • Change ALSA driver to use Media Controller API to share media resources
    with DVB and V4L2 drivers on a AU0828 media device. Media Controller
    specific initialization is done after sound card is registered. ALSA
    creates Media interface and entity function graph nodes for Control,
    Mixer, PCM Playback, and PCM Capture devices.

    snd_usb_hw_params() will call Media Controller enable source handler
    interface to request the media resource. If resource request is
    granted, it will release it from snd_usb_hw_free(). If resource is
    busy, -EBUSY is returned.

    Media specific cleanup is done in usb_audio_disconnect().

    Signed-off-by: Shuah Khan
    Acked-by: Takashi Iwai
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     

01 Mar, 2016

1 commit

  • Plantronics DA45 does not support reading the sample rate which leads
    to many lines of "cannot get freq at ep 0x4" and "cannot get freq at
    ep 0x84". This patch adds the USB ID of the DA45 to quirks.c and
    avoids those error messages.

    Signed-off-by: Dennis Kadioglu
    Cc:
    Signed-off-by: Takashi Iwai

    Dennis Kadioglu
     

27 Feb, 2016

1 commit


13 Feb, 2016

1 commit

  • The 'umidi' object will be free'd on the error path by snd_usbmidi_free()
    when tearing down the rawmidi interface. So we shouldn't try to free it
    in snd_usbmidi_create() after having registered the rawmidi interface.

    Found by KASAN.

    Signed-off-by: Andrey Konovalov
    Acked-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Andrey Konovalov
     

08 Feb, 2016

1 commit


30 Jan, 2016

1 commit


29 Jan, 2016

4 commits

  • This patch adds native DSD support for the PS Audio NuWave DAC.

    Signed-off-by: Jurgen Kramer
    Cc:
    Signed-off-by: Takashi Iwai

    Jurgen Kramer
     
  • In my patch adding native DSD support for the Oppo HA-1, the wrong vendor ID got
    through. This patch fixes the vendor ID and aligns the comment.

    Fixes: a4eae3a506ea ('ALSA: usb: Add native DSD support for Oppo HA-1')
    Signed-off-by: Jurgen Kramer
    Cc:
    Signed-off-by: Takashi Iwai

    Jurgen Kramer
     
  • This patch adds a new option "quirk_alias" to snd-usb-audio driver for
    allowing user to pass the quirk alias list. A quirk alias consists of
    a string form like 0123abcd:5678beef, which makes to apply a quirk to
    a device with USB ID 0123:abcd treated as if it were 5678:beef.
    This feature is useful to test an existing quirk, typically for a
    newer model of the same vendor, without patching / rebuilding the
    kernel driver.

    The current implementation is fairly simplistic: since there is no API
    for matching a usb_device_id to the given ID pair, it has an open code
    to loop over the id table and matches only with vendor:product pair.
    So far, this is OK, as all existing entries are with vendor:product
    pairs, indeed. Once when we have another matching entry, however,
    we'd need to update get_alias_quirk() as well.

    Note that this option is provided only for testing / development. If
    you want to have a proper support, contact to upstream for adding the
    matching quirk in the driver code statically.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • This is a preliminary patch for the later change to allow a better
    quirk ID management. In the current USB-audio code, there are a few
    places looking at usb_device idVendor and idProduct fields directly
    even though we have already a static member in snd_usb_audio.usb_id.
    This patch modifies such codes to refer to the latter field.

    For achieving this, two slightly intensive changes have been done:
    - The snd_usb_audio object is set/reset via dev_getdrv() for the given
    USB device; it's needed for minimizing the changes for some existing
    quirks that take only usb_device object.

    - __snd_usbmidi_create() is introduced to receive the pre-given usb_id
    argument. The exported snd_usbmidi_create() is unchanged by calling
    this new function internally.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

26 Jan, 2016

1 commit


18 Jan, 2016

1 commit

  • Pull sound updates from Takashi Iwai:
    "We've had quite busy weeks in this cycle. Looking at ALSA core, the
    significant changes are a few fixes wrt timer and sequencer ioctls
    that have been revealed by fuzzer recently. Other than that, ASoC
    core got a few updates about DAI link handling, but these are rather
    straightforward refactoring.

    In drivers scene, ASoC received quite lots of new drivers in addition
    to bunch of updates for still ongoing Intel Skylake support and
    topology API. HD-audio gained a new HDMI/DP hotplug notification via
    component. FireWire got a pile of code refactoring/updates with
    SCS.1x driver integration.

    More highlights are shown below.

    [ NOTE: this contains also many commits for DRM. This is due to the
    pull of drm stable branch into sound tree, as the base of i915 audio
    component work for HD-audio. The highlights below don't contain
    these DRM changes, as these are supposed to be pulled via drm tree
    in anyway sooner or later. ]

    Core:
    - Handful fixes to harden ALSA timer and sequencer ioctls against
    races reported by syzkaller fuzzer
    - Irq description string can be unique to each card; only for
    HD-audio for now

    ASoC:
    - Conversion of the array of DAI links to a list for supporting
    dynamically adding and removing DAI links
    - Topology API enhancements to make everything more component based
    and being able to specify PCM links via topology
    - Some more fixes for the topology code, though it is still not final
    and ready for enabling in production; we really need to get to the
    point where that can be done
    - A pile of changes for Intel SkyLake drivers which hopefully deliver
    some useful initial functionality for systems with this chipset,
    though there is more work still to come
    - Lots of new features and cleanups for the Renesas drivers
    - ANC support for WM5110
    - New drivers: Imagination Technologies IPs, Atmel class D speaker,
    Cirrus CS47L24 and WM1831, Dialog DA7128, Realtek RT5659 and
    RT56156, Rockchip RK3036, TI PC3168A, and AMD ACP
    - Rename PCM1792a driver to be generic pcm179x

    HD-Audio:
    - Use audio component for i915 HDMI/DP hotplug handling
    - On-demand binding with i915 driver
    - bdl_pos_adj parameter adjustment for Baytrail controllers
    - Enable power_save_node for CX20722; this shouldn't lead to
    regression, hopefully
    - Kabylake HDMI/DP codec support
    - Quirks for Lenovo E50-80, Dell Latitude E-series, and other Dell
    machines
    - A few code refactoring

    FireWire:
    - Lots of code cleanup and refactoring
    - Integrate the support of SCS.1x devices into snd-oxfw driver;
    snd-scs1x driver is obsoleted

    USB-audio:
    - Fix possible NULL dereference at disconnection
    - A regression fix for Native Instruments devices

    Misc:
    - A few code cleanups of fm801 driver"

    * tag 'sound-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (722 commits)
    ALSA: timer: Code cleanup
    ALSA: timer: Harden slave timer list handling
    ALSA: hda - Add fixup for Dell Latitidue E6540
    ALSA: timer: Fix race among timer ioctls
    ALSA: hda - add codec support for Kabylake display audio codec
    ALSA: timer: Fix double unlink of active_list
    ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices
    ALSA: hda - fix the headset mic detection problem for a Dell laptop
    ALSA: hda - Fix white noise on Dell Latitude E5550
    ALSA: hda_intel: add card number to irq description
    ALSA: seq: Fix race at timer setup and close
    ALSA: seq: Fix missing NULL check at remove_events ioctl
    ALSA: usb-audio: Avoid calling usb_autopm_put_interface() at disconnect
    ASoC: hdac_hdmi: remove unused hdac_hdmi_query_pin_connlist
    ASoC: AMD: Add missing include file
    ALSA: hda - Fixup inverted internal mic for Lenovo E50-80
    ALSA: usb: Add native DSD support for Oppo HA-1
    ASoC: Make aux_dev more like a generic component
    ASoC: bcm2835: cleanup includes by ordering them alphabetically
    ASoC: AMD: Manage ACP 2.x SRAM banks power
    ...

    Linus Torvalds
     

15 Jan, 2016

1 commit

  • Pull trivial tree updates from Jiri Kosina.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    floppy: make local variable non-static
    exynos: fixes an incorrect header guard
    dt-bindings: fixes some incorrect header guards
    cpufreq-dt: correct dead link in documentation
    cpufreq: ARM big LITTLE: correct dead link in documentation
    treewide: Fix typos in printk
    Documentation: filesystem: Fix typo in fs/eventfd.c
    fs/super.c: use && instead of & for warn_on condition
    Documentation: fix sysfs-ptp
    lib: scatterlist: fix Kconfig description

    Linus Torvalds