29 Oct, 2014

1 commit

  • CMI8888 shows the stuttering playback when the snooping is disabled
    on the audio buffer. Meanwhile, we've got reports that CORB/RIRB
    doesn't work in the snooped mode. So, as a compromise, disable the
    snoop only for CORB/RIRB and enable the snoop for the stream buffers.

    The resultant patch became a bit ugly, unfortunately, but we still can
    live with it.

    Reported-and-tested-by: Geoffrey McRae
    Cc: # 3.17+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

28 Oct, 2014

1 commit


27 Oct, 2014

6 commits


25 Oct, 2014

1 commit

  • Pull sound fixes from Takashi Iwai:
    "Here are a chunk of small fixes since rc1: two PCM core fixes, one is
    a long-standing annoyance about lockdep and another is an ARM64 mmap
    fix.

    The rest are a HD-audio HDMI hotplug notification fix, a fix for
    missing NULL termination in Realtek codec quirks and a few new
    device/codec-specific quirks as usual"

    * tag 'sound-3.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Add missing terminating entry to SND_HDA_PIN_QUIRK macro
    ALSA: pcm: Fix false lockdep warnings
    ALSA: hda - Fix inverted LED gpio setup for Lenovo Ideapad
    ALSA: hda - hdmi: Fix missing ELD change event on plug/unplug
    ALSA: usb-audio: Add support for Steinberg UR22 USB interface
    ALSA: ALC283 codec - Avoid pop noise on headphones during suspend/resume
    ALSA: pcm: use the same dma mmap codepath both for arm and arm64

    Linus Torvalds
     

24 Oct, 2014

3 commits


22 Oct, 2014

3 commits

  • Use strncpy() instead of strcpy(). That's not a security issue, as the
    source buffer is taken from DT nodes, but we should still enforce bound
    checks. Spotted by Coverity.

    Signed-off-by: Daniel Mack
    Signed-off-by: Mark Brown

    Daniel Mack
     
  • For the input PGA to work correctly the ALC clock needs to be active.
    Otherwise volume changes are not applied.

    Fixes: dab464b60b2 ("ASoC: Add ADAU1361/ADAU1761 audio CODEC support")
    Signed-off-by: Lars-Peter Clausen
    Cc: stable@vger.kernel.org
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • As PCM core handles the multiple linked streams in parallel, lockdep
    gets confused (partly because of weak annotations) and spews the
    false-positive warnings. This hasn't been a problem for long time but
    the latest PCM lock path update seems to have woken up a sleeping
    dog.

    Here is an attempt to paper over this issue: pass the lock subclass
    just calculated from the depth in snd_pcm_action_group(). Also, a
    (possibly) wrong lock subclass set in snd_pcm_action_lock_mutex() is
    dropped, too.

    Reported-and-tested-by: Arthur Marsh
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

20 Oct, 2014

6 commits

  • The s6000 Xtensa support is removed from the kernel. There are no
    other chips known to use this I2S controller.

    Signed-off-by: Daniel Glöckner
    Signed-off-by: Mark Brown

    Daniel Glöckner
     
  • We implemented in a wrong way for mute LED on Lenovo Ideapad; the bit
    must be flipped.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=16373
    Fixes: 3e887f379d8a ('ALSA: hda - Add mute LED support to Lenovo Ideapad')
    Cc: # 3.15+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The ELD ALSA control change event is sent by hdmi_present_sense() when
    eld_changed is true.

    Currently, it is only true when the ELD buffer contents have been
    modified. However, the user-visible ELD controls also change to a
    zero-length value and back when eld_valid is unset/set, and no event is
    currently sent in such cases (such as when unplugging or replugging a
    sink).

    Fix the code to always set eld_changed if eld_valid value is changed,
    and therefore to always send the change event when the user-visible
    value changes.

    Signed-off-by: Anssi Hannula
    Cc: David Henningsson
    Cc: # 3.9+
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     
  • Adding support for Steinberg UR22 USB interface via quirks table patch

    See Ubuntu bug report:
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1317244
    Also see threads:
    http://linux-audio.4202.n7.nabble.com/Support-for-Steinberg-UR22-Yamaha-USB-chipset-0499-1509-tc82888.html#a82917
    http://www.steinberg.net/forums/viewtopic.php?t=62290

    Tested by at least 4 people judging by the threads.
    Did not test MIDI interface, but audio output and capture both are
    functional. Built 3.17 kernel with this driver on Ubuntu 14.04 & tested with mpg123
    Patch applied to 3.13 Ubuntu kernel works well enough for daily use.

    Signed-off-by: Vlad Catoi
    Acked-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Vlad Catoi
     
  • This patch sets the headphones mode to default before suspending
    which helps avoid the pop noise on headphones

    Signed-off-by: Harsha Priya
    Cc:
    Signed-off-by: Takashi Iwai

    Harsha Priya
     
  • Pull sound fixes from Takashi Iwai:
    "Here are a collection of small fixes after 3.18 merge.

    The urgent one is the fix for kernel panics with linked PCM substream
    triggered by the recent nonatomic PCM ops support. Other two fixes
    (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for
    a new Intel HD-audio controller"

    * tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH
    ALSA: emu10k1: Fix deadlock in synth voice lookup
    ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop
    ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88

    Linus Torvalds
     

19 Oct, 2014

1 commit

  • Pull slave-dmaengine updates from Vinod Koul:
    "For dmaengine contributions we have:
    - designware cleanup by Andy
    - my series moving device_control users to dmanegine_xxx APIs for
    later removal of device_control API
    - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma
    etc"

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits)
    serial: atmel: add missing dmaengine header
    dmaengine: remove FSLDMA_EXTERNAL_START
    dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method
    carma-fpga: move to fsl_dma_external_start()
    carma-fpga: use dmaengine_xxx() API
    dmaengine: freescale: add and export fsl_dma_external_start()
    dmaengine: add dmaengine_prep_dma_sg() helper
    video: mx3fb: use dmaengine_terminate_all() API
    serial: sh-sci: use dmaengine_terminate_all() API
    net: ks8842: use dmaengine_terminate_all() API
    mtd: sh_flctl: use dmaengine_terminate_all() API
    mtd: fsmc_nand: use dmaengine_terminate_all() API
    V4L2: mx3_camer: use dmaengine_pause() API
    dmaengine: coh901318: use dmaengine_terminate_all() API
    pata_arasan_cf: use dmaengine_terminate_all() API
    dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()
    dmaengine: dw: export probe()/remove() and Co to users
    dmaengine: dw: enable and disable controller when needed
    dmaengine: dw: always export dw_dma_{en,dis}able
    dmaengine: dw: introduce dw_dma_on() helper
    ...

    Linus Torvalds
     

18 Oct, 2014

1 commit

  • This avoids following kernel crash when try to playback on arm64

    [ 107.497203] [] snd_pcm_mmap_data_fault+0x90/0xd4
    [ 107.503405] [] __do_fault+0xb0/0x498
    [ 107.508565] [] handle_mm_fault+0x224/0x7b0
    [ 107.514246] [] do_page_fault+0x11c/0x310
    [ 107.519738] [] do_mem_abort+0x38/0x98

    Tested: backported to 3.14 and tried to playback on arm64 machine

    Signed-off-by: Anatol Pomozov
    Cc:
    Signed-off-by: Takashi Iwai

    Anatol Pomozov
     

16 Oct, 2014

1 commit


15 Oct, 2014

3 commits

  • The introduced include/linux/dma/dw.h is going to contain the private
    extensions and structures which are shared for dw_dmac users in the kernel.
    Meanwhile include/linux/platform_data/dma-dw.h keeps only platform related data
    types and definitions.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Vinod Koul

    Andy Shevchenko
     
  • This patch adds the HD Audio Device IDs for the Intel Sunrise Point PCH.

    [the item position rearranged by tiwai]

    Signed-off-by: James Ralston
    Signed-off-by: Takashi Iwai

    James Ralston
     
  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:
    - DT clean-ups in da9055-core, max14577, rn5t618, arizona, hi6421, stmpe, twl4030
    - Export symbols for use in modules in max14577
    - Plenty of static code analysis/Coccinelle fixes throughout the SS
    - Regmap clean-ups in arizona, wm5102, wm5110, da9052, tps65217, rk808
    - Remove unused/duplicate code in da9052, 88pm860x, ti_ssp, lpc_sch, arizona
    - Bug fixes in ti_am335x_tscadc, da9052, ti_am335x_tscadc, rtsx_pcr
    - IRQ fixups in arizona, stmpe, max14577
    - Regulator related changes in axp20x
    - Pass DMA coherency information from parent => child in MFD core
    - Rename DT document files for consistency
    - Add ACPI support to the MFD core
    - Add Andreas Werner to MAINTAINERS for MEN F21BMC

    New drivers/supported devices:
    - New driver for MEN 14F021P00 Board Management Controller
    - New driver for Ricoh RN5T618 PMIC
    - New driver for Rockchip RK808
    - New driver for HiSilicon Hi6421 PMIC
    - New driver for Qualcomm SPMI PMICs
    - Add support for Intel Braswell in lpc_ich
    - Add support for Intel 9 Series PCH in lpc_ich
    - Add support for Intel Quark ILB in lpc_sch"

    [ Delayed to after the poweer/reset pull due to Kconfig problems with
    recursive Kconfig select/depends-on chains. - Linus ]

    * tag 'mfd-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
    mfd: cros_ec: wait for completion of commands that return IN_PROGRESS
    i2c: i2c-cros-ec-tunnel: Set retries to 3
    mfd: cros_ec: move locking into cros_ec_cmd_xfer
    mfd: cros_ec: stop calling ->cmd_xfer() directly
    mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC
    MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC
    mfd: arizona: Correct mask to allow setting micbias external cap
    mfd: Add ACPI support
    Revert "mfd: wm5102: Manually apply register patch"
    mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS
    mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming convention
    mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming convention
    mfd: Inherit coherent_dma_mask from parent device
    mfd: Document DT bindings for Qualcomm SPMI PMICs
    mfd: Add support for Qualcomm SPMI PMICs
    mfd: dt-bindings: pm8xxx: Add new compatible string
    mfd: axp209x: Drop the parent supplies field
    mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to support system power off
    mfd: dt-bindings: twl4030-power: Use the standard property to mark power control
    mfd: syscon: Add Atmel GPBR DT bindings documention
    ...

    Linus Torvalds
     

14 Oct, 2014

2 commits

  • The emu10k1 voice allocator takes voice_lock spinlock. When there is
    no empty stream available, it tries to release a voice used by synth,
    and calls get_synth_voice. The callback function,
    snd_emu10k1_synth_get_voice(), however, also takes the voice_lock,
    thus it deadlocks.

    The fix is simply removing the voice_lock holds in
    snd_emu10k1_synth_get_voice(), as this is always called in the
    spinlock context.

    Reported-and-tested-by: Arthur Marsh
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • In the unlock loop of snd_pcm_action_group(), the object "s" is used
    as the check of nonatomic PCM, but it should be rather "s1", which is
    the iterator of the loop. This supposedly causes a kernel panic when
    the substreams in operatino are linked.

    Fixes: 257f8cce5d40 ('ALSA: pcm: Allow nonatomic trigger operations')
    Reported-and-tested-by: Arthur Marsh
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

11 Oct, 2014

1 commit

  • Pull sound updates from Takashi Iwai:
    "This time it's a relatively calm update batch, but the amount isn't
    too small in the end. Here we go over some highlights:

    ALSA core:
    - One major change is the support of nonatomic PCM operations. This
    allows the trigger and other callbacks to call schedule(), which
    would be useful for mailbox type communications. Already some
    drivers (Digigram ones) have been converted to use together with
    threaded irqs as an example.
    - Improvement / fixes of DSD PCM format support

    HD-audio:
    - Large volume of rewrites are found in Realtek codec driver for
    converting Dell and HP quirks to generic forms.
    - Inverted dmic code cleanup from David.
    - Realtek COEF access has been optimized.
    - Now HD-audio jack infrastructure allows multiple callbacks, which
    fixes / simplifies the jack-dependent power controls on STAC/IDT
    and VIA codecs.
    - Many additional device-specific fixups as usual
    - A few deadcode cleanups, CA0132 code cleanup, etc.

    ASoC:
    - More componentization work from Lars-Peter, this time mainly
    cleaning up the suspend and bias level transition callbacks.
    - Real system support for the Intel drivers and a bunch of fixes and
    enhancements for the associated CODEC drivers, this is going to
    need a lot quirks over time due to the lack of any firmware
    description of the boards.
    - Jack detect support for simple card from Dylan Reid.
    - A bunch of small fixes and enhancements for the Freescale drivers.
    - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32,
    Everest Semiconductor ES8328 and Freescale cards using the ASRC in
    newer i.MX processors.
    - A few simple-card fixes, mostly cleanups but also a fix for
    interaction between GPIO 0 and simple-card.

    Misc:
    - Virtuoso / Oxygen updates by Clemens
    - USB-audio: Yamaha MOTIF XF MIDI port name fixes
    - Conversion of kernel messages to standard dev_*() in ctxfi driver"

    * tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits)
    ASoC: mc13783: Ensure we only try to dereference valid of_nodes
    ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl
    ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e)
    ALSA: Allow pass NULL dev for snd_pci_quirk_lookup()
    ASoC: imx-es8328: Fix of_node_put() call with uninitialized object
    ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb()
    ASoC: simple-card: Initialize headphone and mic GPIO numbers
    ASoC: imx-es8328: Fix missing return code in imx_es8328_probe()
    ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212)
    ALSA: usb: caiaq: check for cdev->n_streams > 1
    ASoC: 88pm860x-codec: Fix possibly missing string termination
    ASoC: core: fix use after free in snd_soc_remove_platform()
    ASoC: soc-dapm: fix use after free
    ALSA: hda - Make the inv dmic handling for Realtek use generic parser
    ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G)
    ALSA: hda - Add inverted internal mic for Asus Aspire 4830T
    ASoC: Intel: byt-rt5640: fix coccinelle warnings
    ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string
    ASoC: da732x: Remove unnecessary KERN_ERR in pr_err()
    ASoC: simple-card: Fix detect gpio documentation.
    ...

    Linus Torvalds
     

10 Oct, 2014

2 commits

  • This patch fixes a failure to open PCM device with -ENOSYS in
    Terratec Phase 88.

    Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit
    to switch source of clock. One is to switch internal/external for the
    source and another is to switch word/spdif for the external clock.

    The IDs for these Selector Function Blocks are 9 and 8. But in current
    implementation they're 0 and 0.

    Reported-by: András Murányi
    Tested-by: András Murányi
    Cc: # v3.16+
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Pull GPIO changes from Linus Walleij:
    "This is the bulk of GPIO changes for the v3.18 development cycle:

    - Increase the default ARCH_NR_GPIO from 256 to 512. This was done
    to avoid having a custom header for the x86
    architecture - GPIO is custom and complicated enough as it is
    already! We want to move to a radix to store the descriptors going
    forward, and finally get rid of this fixed array size altogether.

    - Endgame patching of the gpio_remove() semantics initiated by
    Abdoulaye Berthe. It is not accepted by the system that the
    removal of a GPIO chip fails during eg reboot or shutdown, and
    therefore the return value has now painfully been refactored away.
    For special cases like GPIO expanders on a hot-pluggable bus like
    USB, we may later add some gpiochip_try_remove() call, but for the
    cases we have now, return values are moot.

    - Some incremental refactoring of the gpiolib core and ACPI GPIO
    library for more descriptor usage.

    - Refactor the chained IRQ handler set-up method to handle also
    threaded, nested interrupts and set up the parent IRQ correctly.
    Switch STMPE and TC3589x drivers to use this registration method.

    - Add a .irq_not_threaded flag to the struct gpio_chip, so that also
    GPIO expanders that block but are still not using threaded IRQ
    handlers.

    - New drivers for the ARM64 X-Gene SoC GPIO controller.

    - The syscon GPIO driver has been improved to handle the "DSP GPIO"
    found on the TI Keystone 2 SoC:s.

    - ADNP driver switched to use gpiolib irqchip helpers.

    - Refactor the DWAPB driver to support being instantiated from and
    MFD cell (platform device).

    - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP,
    Xilinx and Crystalcove drivers.

    - Various minor fixes"

    * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits)
    gpio: pch: Build context save/restore only for PM
    pinctrl: abx500: get rid of unused variable
    gpio: ks8695: fix 'else should follow close brace '}''
    gpio: stmpe: add verbose debug code
    gpio: stmpe: fix up interrupt enable logic
    gpio: staticize xway_stp_init()
    gpio: handle also nested irqchips in the chained handler set-up
    gpio: set parent irq on chained handlers
    gpiolib: irqchip: use irq_find_mapping while removing irqchip
    gpio: crystalcove: support virtual GPIO
    pinctrl: bcm281xx: make Kconfig dependency more strict
    gpio: kona: enable only on BCM_MOBILE or for compile testing
    gpio, bcm-kona, LLVMLinux: Remove use of __initconst
    gpio: Fix ngpio in gpio-xilinx driver
    gpio: dwapb: fix pointer to integer cast
    gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard
    gpio: xgene: Remove unneeded forward declation for struct xgene_gpio
    gpio: xgene: Fix missing spin_lock_init()
    gpio: ks8695: fix switch case indentation
    gpiolib: add irq_not_threaded flag to gpio_chip
    ...

    Linus Torvalds
     

09 Oct, 2014

1 commit


08 Oct, 2014

7 commits