25 Feb, 2015

1 commit


24 Feb, 2015

1 commit


23 Feb, 2015

7 commits

  • When a PCM draining is performed to an empty stream that has been
    already in PREPARED state, the current code just ignores and leaves as
    it is, although the drain is supposed to set all such streams to SETUP
    state. This patch covers that overlooked case.

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • A part of these drivers, especially BeBoB driver, are programmed to wait
    some events. Thus the drivers should not destroy any data in .remove()
    context.

    This commit moves some destructors from 'struct fw_driver.remove()' to
    'struct snd_card.private_free()' to shutdown safely.

    Signed-off-by: Takashi Sakamoto
    Cc: # 3.19+
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Currently stream destructor in each driver has a problem to be called in
    a context in which sound card object is released, because the destructors
    call amdtp_stream_pcm_abort() and touch PCM runtime data.

    The PCM runtime data is destroyed in application's context with
    snd_pcm_close(), on the other hand PCM substream data is destroyed after
    sound card object is released, in most case after all of ALSA character
    devices are released. When PCM runtime is destroyed and PCM substream is
    remained, amdtp_stream_pcm_abort() touches PCM runtime data and causes
    Null-pointer-dereference.

    This commit changes stream destructors and allows each driver to call
    it after releasing runtime.

    Signed-off-by: Takashi Sakamoto
    Cc: # 3.19+
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • AMDTP helper functions increment/decrement reference counter for an
    instance of FireWire unit, while it's complicated for each driver to
    process error state.

    In previous commit, each driver has the role of reference counting. This
    commit removes this role from the helper function.

    Signed-off-by: Takashi Sakamoto
    Cc: # 3.19+
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Fireworks and Dice drivers try to touch instances of FireWire unit after
    sound card object is released, while references to the unit is decremented
    in .remove(). When unplugging during streaming, sound card object is
    released after .remove(), thus Fireworks and Dice drivers causes GPF or
    Null-pointer-dereferencing to application processes because an instance of
    FireWire unit was already released.

    This commit adds reference-counting for FireWire unit in drivers to allow
    them to touch an instance of FireWire unit after .remove(). In most case,
    any operations after .remove() may be failed safely.

    Signed-off-by: Takashi Sakamoto
    Cc: # 3.19+
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • BIOS doesn't seem to set up pins for 5.1 and the SPDIF out, so we need
    to give explicitly here.

    Reported-and-tested-by: Misan Thropos
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The sign for microsecond (U+0085, MICRO SIGN) was encoded to '0x c2 b5'
    by UTF-8 character encoding scheme. But the byte sequence was converted
    to '0x c3 82 c2 b5' in a previous commit. As a result, the byte
    sequence cannot represent microsecond sign in UTF-8 or ASCII. This
    may confuse developers.

    This commit replaces the sign to string expression with 'microseconds'
    to purge superfluous troubles.

    Fixes: 5c697e5b46ef("ALSA: firewire-lib: remove rx_blocks_for_midi quirk")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

22 Feb, 2015

1 commit

  • Pull sound fixes from Takashi Iwai:
    "Here are a few small fix patches for 3.20-rc1:

    - Quirks for Denon and Lifecam USB-audio devices and HD-audio on HP
    laptops
    - A long-time regression fix for HDSP eMADI
    - Add missing DRAIN_TRIGGER flag set for ASoC intel-sst
    - Trivial fixes for sequencer core and HD-audio Tegra, a LINE6
    cleanup"

    * tag 'sound-fix-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)
    ASoC: Intel: add SNDRV_PCM_INFO_DRAIN_TRIGGER flag
    ALSA: usb-audio: Don't attempt to get Lifecam HD-5000 sample rate
    ALSA: hda/tegra check correct return value from ioremap_resource
    ALSA: hdspm - Constrain periods to 2 on older cards
    ALSA: hda - enable mute led quirk for one more hp machine.
    ALSA: seq: potential out of bounds in do_control()
    ALSA: line6: Improve line6_read/write_data() interfaces

    Linus Torvalds
     

19 Feb, 2015

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This update brings:

    - the big cleanup up by Maxime for device control and slave
    capabilities. This makes the API much cleaner.

    - new IMG MDC driver by Andrew

    - new Renesas R-Car Gen2 DMA Controller driver by Laurent along with
    bunch of fixes on rcar drivers

    - odd fixes and updates spread over driver"

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (130 commits)
    dmaengine: pl330: add DMA_PAUSE feature
    dmaengine: pl330: improve pl330_tx_status() function
    dmaengine: rcar-dmac: Disable channel 0 when using IOMMU
    dmaengine: rcar-dmac: Work around descriptor mode IOMMU errata
    dmaengine: rcar-dmac: Allocate hardware descriptors with DMAC device
    dmaengine: rcar-dmac: Fix oops due to unintialized list in error ISR
    dmaengine: rcar-dmac: Fix spinlock issues in interrupt
    dmaenegine: edma: fix sparse warnings
    dmaengine: rcar-dmac: Fix uninitialized variable usage
    dmaengine: shdmac: extend PM methods
    dmaengine: shdmac: use SET_RUNTIME_PM_OPS()
    dmaengine: pl330: fix bug that cause start the same descs in cyclic
    dmaengine: at_xdmac: allow muliple dwidths when doing slave transfers
    dmaengine: at_xdmac: simplify channel configuration stuff
    dmaengine: at_xdmac: introduce save_cc field
    dmaengine: at_xdmac: wait for in-progress transaction to complete after pausing a channel
    ioat: fail self-test if wait_for_completion times out
    dmaengine: dw: define DW_DMA_MAX_NR_MASTERS
    dmaengine: dw: amend description of dma_dev field
    dmatest: move src_off, dst_off, len inside loop
    ...

    Linus Torvalds
     

18 Feb, 2015

1 commit

  • Fix problem where playback of Denon DA-300USB DAC sometimes does not
    start and leads to error messages like "clock source 41 is not valid,
    cannot use".

    Solution: Treat this device the same as other Denon/Marantz devices in
    sound/usb/quirks.c.

    Tested with both PCM and DSD formats.

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

    Frank C Guenther
     

17 Feb, 2015

2 commits

  • Add SNDRV_PCM_INFO_DRAIN_TRIGGER in snd_pcm_hardware.info to
    call sst_hsw_stream_set_silence_start() when PCM draining.

    Signed-off-by: Libin Yang
    Signed-off-by: Takashi Iwai

    Libin Yang
     
  • Adds a quirk to disable the check that the sample rate has been set correctly, as the Lifecam does not support getting the sample rate.

    This means that we don't need to wait for the USB timeout when attempting to get the sample rate. Waiting for the timeout causes problems in some applications, which give up on the device acquisition process before it has had time to complete, resulting in no sound.

    [minor tidy up by tiwai]

    Signed-off-by: Joe Turner
    Signed-off-by: Takashi Iwai

    Joe Turner
     

14 Feb, 2015

2 commits


13 Feb, 2015

1 commit


12 Feb, 2015

3 commits

  • Smatch complains that "control" is user specifigy and needs to be
    capped. The call tree to understand this warning is quite long.

    snd_seq_write()
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     
  • The address cannot be negative so make it unsigned. Also, an unsigned
    int is always sufficient for the length, so no need to overdo it with a
    size_t. Finally, add in range checks to see if the values passed in
    actually fit where they are used.

    Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • Pull sound updates from Takashi Iwai:
    "In this batch, you can find lots of cleanups through the whole
    subsystem, as our good New Year's resolution. Lots of LOCs and
    commits are about LINE6 driver that was promoted finally from staging
    tree, and as usual, there've been widely spread ASoC changes.

    Here some highlights:

    ALSA core changes
    - Embedding struct device into ALSA core structures
    - sequencer core cleanups / fixes
    - PCM msbits constraints cleanups / fixes
    - New SNDRV_PCM_TRIGGER_DRAIN command
    - PCM kerneldoc fixes, header cleanups
    - PCM code cleanups using more standard codes
    - Control notification ID fixes

    Driver cleanups
    - Cleanups of PCI PM callbacks
    - Timer helper usages cleanups
    - Simplification (e.g. argument reduction) of many driver codes

    HD-audio
    - Hotkey and LED support on HP laptops with Realtek codecs
    - Dock station support on HP laptops
    - Toshiba Satellite S50D fixup
    - Enhanced wallclock timestamp handling for HD-audio
    - Componentization to simplify the linkage between i915 and hd-audio
    drivers for Intel HDMI/DP

    USB-audio
    - Akai MPC Element support
    - Enhanced timestamp handling

    ASoC
    - Lots of refactoringin ASoC core, moving drivers to more data driven
    initialization and rationalizing a lot of DAPM usage
    - Much improved handling of CDCLK clocks on Samsung I2S controllers
    - Lots of driver specific cleanups and feature improvements
    - CODEC support for TI PCM514x and TLV320AIC3104 devices
    - Board support for Tegra systems with Realtek RT5677
    - New driver for Maxim max98357a
    - More enhancements / fixes for Intel SST driver

    Others
    - Promotion of LINE6 driver from staging along with lots of rewrites
    and cleanups
    - DT support for old non-ASoC atmel driver
    - oxygen cleanups, XIO2001 init, Studio Evolution SE6x support
    - Emu8000 DRAM size detection fix on ISA(!!) AWE64 boards
    - A few more ak411x fixes for ice1724 boards"

    * tag 'sound-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (542 commits)
    ALSA: line6: toneport: Use explicit type for firmware version
    ALSA: line6: Use explicit type for serial number
    ALSA: line6: Return EIO if read/write not successful
    ALSA: line6: Return error if device not responding
    ALSA: line6: Add delay before reading status
    ASoC: Intel: Clean data after SST fw fetch
    ALSA: hda - Add docking station support for another HP machine
    ALSA: control: fix failure to return new numerical ID in 'replace' event data
    ALSA: usb: update trigger timestamp on first non-zero URB submitted
    ALSA: hda: read trigger_timestamp immediately after starting DMA
    ALSA: pcm: allow for trigger_tstamp snapshot in .trigger
    ALSA: pcm: don't override timestamp unconditionally
    ALSA: off by one bug in snd_riptide_joystick_probe()
    ASoC: rt5670: Set use_single_rw flag for regmap
    ASoC: rt286: Add rt288 codec support
    ASoC: max98357a: Fix build in !CONFIG_OF case
    ASoC: Intel: fix platform_no_drv_owner.cocci warnings
    ARM: dts: Switch Odroid X2/U2 to simple-audio-card
    ARM: dts: Exynos4 and Odroid X2/U3 sound device nodes update
    ALSA: control: fix failure to return numerical ID in 'add' event
    ...

    Linus Torvalds
     

11 Feb, 2015

8 commits

  • The firmware version is a single byte so have the variable type agree.
    Since the address to this member is passed to the read function, using
    an int is not even portable.

    Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • The serial number (aka ESN) is a 32-bit value.

    Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • Put an upper bound on how long we will wait for the device to respond to
    a read/write request (i.e., 100 milliseconds) and return an error if
    this is reached.

    Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • The device indicates the result of a read/write operation by making the
    status available on a subsequent request from the driver. This is not
    ready immediately, though, so the driver is currently slamming the
    device with hundreds of pointless requests before getting the expected
    response. Add a two millisecond delay before each attempt. This is
    approximately the behavior observed with version 4.2.7.1 of the Windows
    driver.

    Signed-off-by: Chris Rorvick
    Signed-off-by: Takashi Iwai

    Chris Rorvick
     
  • The BDW audio firmware DSP manages the DMA and the DMA cannot be
    stopped exactly at the end of the playback stream. This means
    stale samples may be played at PCM stop unless the driver copies
    silence to the subsequent periods.

    Signed-off-by: Libin Yang
    Reviewed-by: Liam Girdwood
    Signed-off-by: Takashi Iwai

    Libin Yang
     
  • Pull networking updates from David Miller:

    1) More iov_iter conversion work from Al Viro.

    [ The "crypto: switch af_alg_make_sg() to iov_iter" commit was
    wrong, and this pull actually adds an extra commit on top of the
    branch I'm pulling to fix that up, so that the pre-merge state is
    ok. - Linus ]

    2) Various optimizations to the ipv4 forwarding information base trie
    lookup implementation. From Alexander Duyck.

    3) Remove sock_iocb altogether, from CHristoph Hellwig.

    4) Allow congestion control algorithm selection via routing metrics.
    From Daniel Borkmann.

    5) Make ipv4 uncached route list per-cpu, from Eric Dumazet.

    6) Handle rfs hash collisions more gracefully, also from Eric Dumazet.

    7) Add xmit_more support to r8169, e1000, and e1000e drivers. From
    Florian Westphal.

    8) Transparent Ethernet Bridging support for GRO, from Jesse Gross.

    9) Add BPF packet actions to packet scheduler, from Jiri Pirko.

    10) Add support for uniqu flow IDs to openvswitch, from Joe Stringer.

    11) New NetCP ethernet driver, from Muralidharan Karicheri and Wingman
    Kwok.

    12) More sanely handle out-of-window dupacks, which can result in
    serious ACK storms. From Neal Cardwell.

    13) Various rhashtable bug fixes and enhancements, from Herbert Xu,
    Patrick McHardy, and Thomas Graf.

    14) Support xmit_more in be2net, from Sathya Perla.

    15) Group Policy extensions for vxlan, from Thomas Graf.

    16) Remove Checksum Offload support for vxlan, from Tom Herbert.

    17) Like ipv4, support lockless transmit over ipv6 UDP sockets. From
    Vlad Yasevich.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1494+1 commits)
    crypto: fix af_alg_make_sg() conversion to iov_iter
    ipv4: Namespecify TCP PMTU mechanism
    i40e: Fix for stats init function call in Rx setup
    tcp: don't include Fast Open option in SYN-ACK on pure SYN-data
    openvswitch: Only set TUNNEL_VXLAN_OPT if VXLAN-GBP metadata is set
    ipv6: Make __ipv6_select_ident static
    ipv6: Fix fragment id assignment on LE arches.
    bridge: Fix inability to add non-vlan fdb entry
    net: Mellanox: Delete unnecessary checks before the function call "vunmap"
    cxgb4: Add support in cxgb4 to get expansion rom version via ethtool
    ethtool: rename reserved1 memeber in ethtool_drvinfo for expansion ROM version
    net: dsa: Remove redundant phy_attach()
    IB/mlx4: Reset flow support for IB kernel ULPs
    IB/mlx4: Always use the correct port for mirrored multicast attachments
    net/bonding: Fix potential bad memory access during bonding events
    tipc: remove tipc_snprintf
    tipc: nl compat add noop and remove legacy nl framework
    tipc: convert legacy nl stats show to nl compat
    tipc: convert legacy nl net id get to nl compat
    tipc: convert legacy nl net id set to nl compat
    ...

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:
    "Summary:

    - switch to asm-generic/futex.h

    - various cleanups

    - defconfig updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/defconfig: Enable Ethernet bridging
    m68k/defconfig: Enable Atari EtherNAT and EtherNEC Ethernet support
    m68k/defconfig: Enable automounting of devtmpfs at /dev
    m68k/defconfig: Enable early printk support
    m68k/defconfig: Enable test modules
    m68k/defconfig: Refresh defconfigs for v3.16-rc1--v3.19-rc2
    m68k/atari: Remove obsolete IRQ_TYPE_*
    sound: dmasound_atari: Remove obsolete IRQ_TYPE_SLOW
    video: atafb: Remove obsolete IRQ_TYPE_PRIO
    parport: parport_atari: Remove obsolete IRQ_TYPE_SLOW
    net: atarilance: Remove obsolete IRQ_TYPE_PRIO
    m68k/atari: Remove obsolete keyboard_tasklet scheduling
    m68k/mac: Fix scsi_type for Mac LC and similar models
    m68k: Switch to asm-generic/futex.h
    m68k/mvme147: config.c - Remove unused functions
    m68k/atari: atakeyb.c - Remove some unused functions
    m68k/mvme16x: rtc - Don't use module_init in non-modular code

    Linus Torvalds
     

10 Feb, 2015

1 commit


09 Feb, 2015

11 commits