13 Nov, 2013

1 commit

  • Pull vfs updates from Al Viro:
    "All kinds of stuff this time around; some more notable parts:

    - RCU'd vfsmounts handling
    - new primitives for coredump handling
    - files_lock is gone
    - Bruce's delegations handling series
    - exportfs fixes

    plus misc stuff all over the place"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (101 commits)
    ecryptfs: ->f_op is never NULL
    locks: break delegations on any attribute modification
    locks: break delegations on link
    locks: break delegations on rename
    locks: helper functions for delegation breaking
    locks: break delegations on unlink
    namei: minor vfs_unlink cleanup
    locks: implement delegations
    locks: introduce new FL_DELEG lock flag
    vfs: take i_mutex on renamed file
    vfs: rename I_MUTEX_QUOTA now that it's not used for quotas
    vfs: don't use PARENT/CHILD lock classes for non-directories
    vfs: pull ext4's double-i_mutex-locking into common code
    exportfs: fix quadratic behavior in filehandle lookup
    exportfs: better variable name
    exportfs: move most of reconnect_path to helper function
    exportfs: eliminate unused "noprogress" counter
    exportfs: stop retrying once we race with rename/remove
    exportfs: clear DISCONNECTED on all parents sooner
    exportfs: more detailed comment for path_reconnect
    ...

    Linus Torvalds
     

07 Nov, 2013

1 commit

  • The drain and drain_notify callback were blocked by low level driver
    until the draining was complete. Due to this being invoked with big
    fat mutex held, others ops like reading timestamp, calling pause, drop
    were blocked.

    So to fix this we add a new snd_compr_drain_notify() API. This would
    be required to be invoked by low level driver when drain or partial
    drain has been completed by the DSP. Thus we make the drain and
    partial_drain callback as non blocking and driver returns immediately
    after notifying DSP. The waiting is done while releasing the lock so
    that other ops can go ahead.

    [ The commit 917f4b5cba78 was wrongly applied from the preliminary
    patch. This commit corrects to the final version.
    Sorry for inconvenience! -- tiwai ]

    Signed-off-by: Vinod Koul
    CC: stable@vger.kernel.org
    Signed-off-by: Takashi Iwai

    Vinod Koul
     

04 Nov, 2013

1 commit


01 Nov, 2013

1 commit

  • Unable to handle kernel NULL pointer dereference at virtual address 00000008
    pgd = d5300000
    [00000008] *pgd=0d265831, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#1] PREEMPT ARM
    CPU: 0 PID: 2295 Comm: vlc Not tainted 3.11.0+ #755
    task: dee74800 ti: e213c000 task.ti: e213c000
    PC is at snd_pcm_info+0xc8/0xd8
    LR is at 0x30232065
    pc : [] lr : [] psr: a0070013
    sp : e213dea8 ip : d81cb0d0 fp : c05f7678
    r10: c05f7770 r9 : fffffdfd r8 : 00000000
    r7 : d8a968a8 r6 : d8a96800 r5 : d8a96200 r4 : d81cb000
    r3 : 00000000 r2 : d81cb000 r1 : 00000001 r0 : d8a96200
    Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 10c5387d Table: 15300019 DAC: 00000015
    Process vlc (pid: 2295, stack limit = 0xe213c248)
    [] (snd_pcm_info) from [] (snd_pcm_info_user+0x34/0x9c)
    [] (snd_pcm_info_user) from [] (snd_pcm_control_ioctl+0x274/0x280)
    [] (snd_pcm_control_ioctl) from [] (snd_ctl_ioctl+0xc0/0x55c)
    [] (snd_ctl_ioctl) from [] (do_vfs_ioctl+0x80/0x31c)
    [] (do_vfs_ioctl) from [] (SyS_ioctl+0x3c/0x60)
    [] (SyS_ioctl) from [] (ret_fast_syscall+0x0/0x48)
    Code: e1a00005 e59530dc e3a01001 e1a02004 (e5933008)
    ---[ end trace cb3d9bdb8dfefb3c ]---

    This is provoked when the ASoC front end is open along with its backend,
    (which causes the backend to have a runtime assigned to it) and then the
    SNDRV_CTL_IOCTL_PCM_INFO is requested for the (visible) backend device.

    Resolve this by ensuring that ASoC internal backend devices are not
    visible to userspace, just as the commentry for snd_pcm_new_internal()
    says it should be.

    Signed-off-by: Russell King
    Acked-by: Mark Brown
    Cc: [v3.4+]
    Signed-off-by: Takashi Iwai

    Russell King
     

29 Oct, 2013

5 commits


28 Oct, 2013

2 commits


25 Oct, 2013

1 commit


24 Oct, 2013

3 commits

  • The drain and drain_notify callback were blocked by low level driver untill the
    draining was complete. Due to this being invoked with big fat mutex held, others
    ops like reading timestamp, calling pause, drop were blocked.

    So to fix this we add a new snd_compr_drain_notify() API. This would be required
    to be invoked by low level driver when drain or partial drain has been completed
    by the DSP. Thus we make the drain and partial_drain callback as non blocking
    and driver returns immediately after notifying DSP.
    The waiting is done while relasing the lock so that other ops can go ahead.

    Signed-off-by: Vinod Koul
    CC: stable@vger.kernel.org
    Signed-off-by: Takashi Iwai

    Vinod Koul
     
  • It turned out that we can't use gen_pool_*() functions on archs
    without CONFIG_GENERIC_ALLOCATOR (resulting in missing symbols), since
    linux/genalloc.h doesn't provide dummy functions for all. We'd be
    able to fix linux/genalloc.h size, but I take an easier path for
    now...

    Reported-by: Fengguang Wu
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Now it's quite common that an SoC contains its on-chip internal RAM.
    By using this RAM space for DMA buffer during audio playback/record,
    we can shutdown the voltage for external RAM to save power.

    So add new DEV type with iram malloc()/free() and accordingly modify
    current default mmap() for the iram circumstance.

    Signed-off-by: Nicolin Chen
    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: Takashi Iwai

    Nicolin Chen
     

26 Sep, 2013

1 commit


20 Sep, 2013

1 commit


23 Aug, 2013

1 commit

  • ASoC: Updates for v3.12

    - DAPM is now mandatory for CODEC drivers in order to avoid the repeated
    regressions in the special cases for non-DAPM CODECs and make it
    easier to integrate with other components on boards. All existing
    drivers have had some level of DAPM support added.
    - A lot of cleanups in DAPM plus support for maintaining controls in a
    specific state while a DAPM widget all contributed by Lars-Peter Clausen.
    - Core helpers for bitbanged AC'97 reset from Markus Pargmann.
    - New drivers and support for Analog Devices ADAU1702 and ADAU1401(a),
    Asahi Kasei Microdevices AK4554, Atmel AT91ASM9x5 and WM8904 based
    machines, Freescale S/PDIF and SSI AC'97, Renesas R-Car SoCs, Samsung
    Exynos5420 SoCs, Texas Instruments PCM1681 and PCM1792A and Wolfson
    Microelectronics WM8997.
    - Support for building drivers that can support it cross-platform for
    compile test.

    Takashi Iwai
     

19 Aug, 2013

1 commit

  • The use of snd_printd_ratelimit() supresses superfluous output from
    printk_ratelimit() when CONFIG_SND_DEBUG is not defined. For example,

    [ 43.753692] snd_pcm_update_hw_ptr0: 26 callbacks suppressed
    [ 48.822131] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
    [ 53.894953] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
    [ 58.997761] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
    [ 64.100952] snd_pcm_update_hw_ptr0: 25 callbacks suppressed

    fills the log even when no debug output is actually produced.

    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Pierre-Louis Bossart
    Cc: Lars-Peter Clausen
    Cc: Yacine Belkadi
    Signed-off-by: Tim Gardner
    Signed-off-by: Takashi Iwai

    Tim Gardner
     

16 Aug, 2013

1 commit


15 Aug, 2013

1 commit


29 Jul, 2013

1 commit


17 Jul, 2013

1 commit

  • We've got bug reports that the module loading stuck on Debian system
    with 3.10 kernel. The debugging session revealed that the initial
    registration of OSS sequencer clients stuck at module loading time,
    which involves again with request_module() at the init phase. This is
    triggered only by special --install stuff Debian is using, but it's
    still not good to have such loops.

    As a workaround, call the registration part asynchronously. This is a
    better approach irrespective of the hang fix, in anyway.

    Reported-and-tested-by: Philipp Matthias Hahn
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

04 Jul, 2013

1 commit

  • Pull sound updates from Takashi Iwai:
    "A relative calm release at this time with a flat diffstat. The only
    significant change in the ALSA core side is the support for more than
    32 card instances, configurable via kconfig. Other than that, in both
    ASoC and other parts, mostly some improvements and fixes on the driver
    side.

    - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes
    - hda: Haswell HDMI audio fixes, runtime PM improvements
    - hda: Intel BayTrail support, ALC5505 DSP support
    - es1968: MediaForte M56VAP support
    - usb-audio: Improved support for Yamaha/Roland devices
    - usb-audio: M2Tech hiFace, Audio Advantage Micro II support
    - hdspm: wordclock fixes
    - ASoC: Pending fixes for WM8962
    - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500
    - ASoC: Generalisation of the Bluetooth and HDMI stub drivers
    - ASoC: SSM2518 and RT5640 codec drivers.
    - ASoC: Tegra CPUs with RT5640 machine driver
    - ASoC: AC'97 refactoring bug fixes
    - ASoC: ADAU1701 driver fixes
    - Clean up of *_set_drvdata() in a wide range of drivers"

    * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (284 commits)
    ALSA: vmaster: Fix the regression of missing vmaster hook call
    ALSA: hda - Add Dell SSID to support Headset Mic recording
    ASoC: adau1701: remove control_data assignment
    ASoC: adau1701: more direct regmap usage
    ASoC: ac97: fixup multi-platform AC'97 module build failure
    ASoC: pxa2xx: fixup multi-platform AC'97 build failures
    ASoC: tegra20-ac97: Remove unused variable
    ASoC: tegra20-ac97: Remove duplicate error message
    ALSA: usb-audio: Add Audio Advantage Micro II
    ASoC: tas5086: fix Mid-Z implementation
    ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register size
    ALSA: Replace the magic number 44 with const
    ALSA: hda - Fix the max length of control name in generic parser
    ALSA: hda - Guess what, it's two more Dell headset mic quirks
    ALSA: hda - Yet another Dell headset mic quirk
    ALSA: hda - Add support for ALC5505 DSP power-save mode
    ASoC: mfld: Remove unused variable
    ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
    ALSA: usb-audio: claim autodetected PCM interfaces all at once
    ALSA: usb-audio: remove superfluous Roland quirks
    ...

    Linus Torvalds
     

03 Jul, 2013

1 commit

  • The commit [1ca2f2ec: ALSA: vmaster: Add snd_ctl_sync_vmaster() helper
    function] changed master_put() function and the check for the required
    vmaster hook call is wrongly performed now, which results in the
    missing hook call upon "Master Playback Switch" value changes.
    This patch corrects the check logic.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

29 Jun, 2013

1 commit


24 Jun, 2013

1 commit

  • Introduce a new helper function, snd_ctl_sync_vmaster(), which updates
    the slave put callbacks forcibly as well as calling the hook. This
    will be used in the upcoming patch in HD-audio codec driver for
    toggling the mute in vmaster slaves.

    Along with the new function, the old snd_ctl_sync_vmaster_hook() is
    replaced as a macro calling with the argument hook_only=true.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

17 Jun, 2013

1 commit

  • * for-linus: (635 commits)
    ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam c310
    ALSA: hda - Fix pin configurations for MacBook Air 4,2
    ALSA: usb-audio: work around Android accessory firmware bug
    ALSA: hda - Headset mic support for three more machines
    Linux 3.10-rc6
    smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu().
    powerpc: Fix missing/delayed calls to irq_work
    powerpc: Fix emulation of illegal instructions on PowerNV platform
    powerpc: Fix stack overflow crash in resume_kernel when ftracing
    snd_pcm_link(): fix a leak...
    use can_lookup() instead of direct checks of ->i_op->lookup
    move exit_task_namespaces() outside of exit_notify()
    fput: task_work_add() can fail if the caller has passed exit_task_work()
    xfs: don't shutdown log recovery on validation errors
    xfs: ensure btree root split sets blkno correctly
    xfs: fix implicit padding in directory and attr CRC formats
    xfs: don't emit v5 superblock warnings on write
    mei: me: clear interrupts on the resume path
    mei: nfc: fix nfc device freeing
    mei: init: Flush scheduled work before resetting the device
    ...

    Takashi Iwai
     

15 Jun, 2013

1 commit


24 May, 2013

3 commits

  • Currently ALSA supports up to 32 card instances when the dynamic minor
    is used. While 32 cards are usually big enough for normal use cases,
    there are sometimes weird requirements with more card support.

    Actually, this limitation, 32, comes from the index option, where you
    can pass the bit mask to assign the card. Other than that, we can
    actually give more cards up to the minor number limits (currently 256,
    which can be extended more, too).

    This patch adds a new Kconfig to specify the max card numbers, and
    changes a few places to accept more than 32 cards.

    The only incompatibility with high card numbers would be the handling
    of index option. The index option can be still used to pass the
    bitmask for card assignments, but this works only up to 32 slots.
    More than 32, no bitmask style option is available but only a single
    slot can be specified via index option.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ALSA core tries to add a suffix as "_1" automatically when the given
    id string conflicts. The current code assumes implicitly that the max
    card number is 16 so that the single hex "_X" suffix can be put.
    However, with the dynamic device management, the card can be at most
    32, so it can put even a non-hex character there. Also, when the max
    card number is increased in future, this would result in worse.

    This patch rewrites the code to add the suffix string in a simpler
    (thus cleaner) way. It can support up to three digits, so it should
    suffice for most requirements.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The ops field of the snd_pcm_substream struct is never modified inside the ALSA
    core. Making it const allows drivers to declare their snd_pcm_ops struct as
    const.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     

08 May, 2013

1 commit

  • Faster kernel compiles by way of fewer unnecessary includes.

    [akpm@linux-foundation.org: fix fallout]
    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Kent Overstreet
    Cc: Zach Brown
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Rusty Russell
    Cc: Jens Axboe
    Cc: Asai Thambi S P
    Cc: Selvan Mani
    Cc: Sam Bradshaw
    Cc: Jeff Moyer
    Cc: Al Viro
    Cc: Benjamin LaHaise
    Reviewed-by: "Theodore Ts'o"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kent Overstreet
     

04 May, 2013

1 commit

  • Pull sound updates from Takashi Iwai:
    "Mostly many small changes spread as seen in diffstat in sound/*
    directory by this update. A significant change in the subsystem level
    is the introduction of snd_soc_component, which will help more generic
    handling of SoC and off-SoC components.

    Also, snd_BUG_ON() macro is enabled unconditionally now due to its
    misuses, so people might hit kernel warnings (it's a good thing for
    us).

    - compress-offload: support for capture by Charles Keepax
    - HD-audio: codec delay support by Dylan Reid
    - HD-audio: improvements/fixes in generic parser: better headphone
    mic and headset mic support, jack_modes hint consolidation, proper
    beep attach/detachment, generalized power filter controls by David
    Henningsson, et al
    - HD-audio: Improved management of HDMI codec pins/converters
    - HD-audio: Better pin/DAC assignment for VIA codecs
    - HD-audio: Haswell HDMI workarounds
    - HD-audio: ALC268 codec support, a few new quirks for Chromebooks
    - USB: regression fixes: USB-MIDI autopm fix, the recent ISO latency
    fix by Clemens Ladisch
    - USB: support for DSD formats by Daniel Mack
    - USB: A few UAC2 device endian/cock fixes by Eldad Zack
    - USB: quirks for Emu 192kHz support, Novation Twitch DJ controller,
    Yamaha THRxx devices
    - HDSPM: updates for TCO controls by Adrian Knoth
    - ASoC: Add a snd_soc_component object type for generic handling of
    SoC and off-SoC components by Kuninori Morimoto,
    - dmaengine: a large set of cleanups and conversions by Lars-Peter
    Clausen
    - ASoC DAPM: performance optimizations from Ryo Tsutsui
    - ASoC DAPM: support for mixer control sharing by Stephen Warren
    - ASoC: multiplatform ARM cleanups from Arnd Bergmann
    - ASoC: new codec drivers for AK5385 and TAS5086 from Daniel Mack"

    * tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (315 commits)
    ALSA: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch
    ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats
    ALSA: pcm_format_to_bits strong-typed conversion
    ALSA: compress: fix the states to check for allowing read
    ALSA: hda - Move Thinkpad X220 to use auto parser
    ALSA: USB: adjust for changed 3.8 USB API
    ALSA: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources
    sound: oss/dmabuf: use dma_map_single
    ALSA: ali5451: use mdelay instead of large udelay constants
    ALSA: hda - Add the support for ALC286 codec
    ALSA: usb-audio: USB quirk for Yamaha THR10C
    ALSA: usb-audio: USB quirk for Yamaha THR5A
    ALSA: usb-audio: USB quirk for Yamaha THR10
    ALSA: usb-audio: Fix autopm error during probing
    ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT
    ALSA: sound kconfig typo
    ALSA: emu10k1: Fix dock firmware loading
    ASoC: ux500: forward declare msp_i2s_platform_data
    ASoC: davinci-mcasp: Add Support BCLK-to-LRCLK ratio for TDM modes
    ASoC: davinci-pcm, davinci-mcasp: Clean up active_serializers
    ...

    Linus Torvalds
     

02 May, 2013

3 commits

  • Pull VFS updates from Al Viro,

    Misc cleanups all over the place, mainly wrt /proc interfaces (switch
    create_proc_entry to proc_create(), get rid of the deprecated
    create_proc_read_entry() in favor of using proc_create_data() and
    seq_file etc).

    7kloc removed.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
    don't bother with deferred freeing of fdtables
    proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
    proc: Make the PROC_I() and PDE() macros internal to procfs
    proc: Supply a function to remove a proc entry by PDE
    take cgroup_open() and cpuset_open() to fs/proc/base.c
    ppc: Clean up scanlog
    ppc: Clean up rtas_flash driver somewhat
    hostap: proc: Use remove_proc_subtree()
    drm: proc: Use remove_proc_subtree()
    drm: proc: Use minor->index to label things, not PDE->name
    drm: Constify drm_proc_list[]
    zoran: Don't print proc_dir_entry data in debug
    reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
    proc: Supply an accessor for getting the data from a PDE's parent
    airo: Use remove_proc_subtree()
    rtl8192u: Don't need to save device proc dir PDE
    rtl8187se: Use a dir under /proc/net/r8180/
    proc: Add proc_mkdir_data()
    proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
    proc: Move PDE_NET() to fs/proc/proc_net.c
    ...

    Linus Torvalds
     
  • Supply a function (proc_remove()) to remove a proc entry (and any subtree
    rooted there) by proc_dir_entry pointer rather than by name and (optionally)
    root dir entry pointer. This allows us to eliminate all remaining pde->name
    accesses outside of procfs.

    Signed-off-by: David Howells
    Acked-by: Grant Likely
    cc: linux-acpi@vger.kernel.org
    cc: openipmi-developer@lists.sourceforge.net
    cc: devicetree-discuss@lists.ozlabs.org
    cc: linux-pci@vger.kernel.org
    cc: netdev@vger.kernel.org
    cc: netfilter-devel@vger.kernel.org
    cc: alsa-devel@alsa-project.org
    Signed-off-by: Al Viro

    David Howells
     
  • Supply accessor functions to set attributes in proc_dir_entry structs.

    The following are supplied: proc_set_size() and proc_set_user().

    Signed-off-by: David Howells
    Acked-by: Mauro Carvalho Chehab
    cc: linuxppc-dev@lists.ozlabs.org
    cc: linux-media@vger.kernel.org
    cc: netdev@vger.kernel.org
    cc: linux-wireless@vger.kernel.org
    cc: linux-pci@vger.kernel.org
    cc: netfilter-devel@vger.kernel.org
    cc: alsa-devel@alsa-project.org
    Signed-off-by: Al Viro

    David Howells
     

29 Apr, 2013

1 commit


25 Apr, 2013

1 commit


22 Apr, 2013

1 commit