13 Apr, 2015

1 commit

  • …/sound into for-linus

    ASoC: Updates for v4.1

    More updates for v4.1, pretty much all drivers:

    - Lots of cleanups from Lars, mainly moving things from the CODEC level
    to the card level.
    - Continuing improvements to rcar from Morimoto-san, pcm512x from
    Howard and Peter, the Intel platforms from Vinod, Jie, Jin and Han,
    and to rt5670 from Bard.
    - Support for some non-DSP Qualcomm platforms, Google's Storm
    platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC.

    Takashi Iwai
     

22 Mar, 2015

1 commit

  • Currently 'Playback Volume' is the correct way to express an analogue
    volume control. However, this control name has initialisation defaults
    applied when using 'alsactl restore' and in some cases this is not
    appropriate. An example would be a control that has a selection of
    0db and -6dB of gain that is intended to set the fullscale ouput
    voltage of a DAC. The TI pcm512x family of DAcs have such a control.
    In this case the device/driver reset defaults are preferred.

    Signed-off-by: Howard Mitchell
    Acked-by: Takashi Iwai
    Signed-off-by: Mark Brown

    Howard Mitchell
     

21 Mar, 2015

1 commit


21 Feb, 2015

1 commit

  • Audio timestamps can be extracted from sample counters, wall clocks,
    PHC clocks (Ethernet AVB), on-demand synchronized snapshots. This
    patch provides the ability to report timestamping capabilities, select
    timestamp types and retrieve timestamp accuracy, if supported.
    Details can be found in Documentations/sound/alsa/timestamping.txt

    This functionality is introduced by reclaiming the reserved_aligned
    field introduced by commit9c7066aef4a5eb8e4063de28f06c508bf6f2963a
    in snd_pcm_status to provide userspace with selection/query capabilities.
    Additional driver_tstamp and audio_tstamp_accuracy fields are also added.

    snd_pcm_mmap_status remains a read-only structure with only
    the audio timestamp value accessible from user space. The selection
    of audio timestamp type is done through snd_pcm_status only

    This commit does not impact ABI and does not impact the default
    behavior. By default audio timestamp is aligned with hw_pointer and
    reports the DMA position. Backwards compatibility is handled by using
    the HDAudio wall clock for playback and the hw_ptr for all other
    cases.

    For timestamp selection a new STATUS_EXT ioctl is introduced with
    read/write parameters. Alsa-lib will be modified to make use of
    STATUS_EXT.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     

10 Dec, 2014

1 commit


04 Nov, 2014

2 commits

  • This patch adds a new proc entry for PCM substreams to inject an
    XRUN. When a PCM substream is running and any value is written to its
    xrun_injection proc file, the driver triggers XRUN. This is a useful
    feature for debugging XRUN and error handling code paths.

    Note that this entry is enabled only when CONFIG_SND_PCM_XRUN_DEBUG is
    set.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ALSA PCM core has a mechanism tracking the PCM hwptr updates for
    analyzing XRUNs. But its log is limited (up to 10) and its log output
    is a kernel message, which is hard to handle.

    In this patch, the hwptr logging is moved to the tracing
    infrastructure instead of its own. Not only the hwptr updates but
    also XRUN and hwptr errors are recorded on the trace log, so that user
    can see such events at the exact timing.

    The new "snd_pcm" entry will appear in the tracing events:
    # ls -F /sys/kernel/debug/tracing/events/snd_pcm
    enable filter hw_ptr_error/ hwptr/ xrun/

    The hwptr is for the regular hwptr update events. An event trace
    looks like:

    aplay-26187 [004] d..3 4012.834761: hwptr: pcmC0D0p/sub0: POS: pos=488, old=0, base=0, period=1024, buf=16384

    "POS" shows the hwptr update by the explicit position update call and
    "IRQ" means the hwptr update by the interrupt,
    i.e. snd_pcm_period_elapsed() call. The "pos" is the passed
    ring-buffer offset by the caller, "old" is the previous hwptr, "base"
    is the hwptr base position, "period" and "buf" are period- and
    buffer-size of the target PCM substream.
    (Note that the hwptr position displayed here isn't the ring-buffer
    offset. It increments up to the PCM position boundary.)

    The XRUN event appears similarly, but without "pos" field.
    The hwptr error events appear with the PCM identifier and its reason
    string, such as "Lost interrupt?".

    The XRUN and hwptr error reports on kernel message are still left, can
    be turned on/off via xrun_debug proc like before. But the bit 3, 4, 5
    and 6 bits of xrun_debug proc are dropped by this patch. Also, along
    with the change, the message strings have been reformatted to be a bit
    more consistent.

    Last but not least, the hwptr reporting is enabled only when
    CONFIG_SND_PCM_XRUN_DEBUG is set.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

20 Oct, 2014

1 commit


04 Aug, 2014

1 commit


15 Jul, 2014

1 commit


25 Jun, 2014

1 commit

  • HP Spectre 13 has the IDT 92HD95 codec, and BIOS seems to set the
    default high-pass filter in some "safer" range, which results in the
    very soft tone from the built-in speakers in contrast to Windows.
    Also, the mute LED control is missing, since 92HD95 codec still has no
    HP-specific fixups for GPIO setups.

    This patch adds these missing features: the HPF is adjusted by the
    vendor-specific verb, and the LED is set up from a DMI string (but
    with the default polarity = 0 assumption due to the incomplete BIOS on
    the given machine).

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

    Takashi Iwai
     

05 May, 2014

1 commit


28 Feb, 2014

1 commit


08 Jan, 2014

1 commit


29 Oct, 2013

1 commit


24 Oct, 2013

1 commit


11 Oct, 2013

1 commit


27 Sep, 2013

1 commit


23 Sep, 2013

5 commits


07 Sep, 2013

1 commit

  • Pull trivial tree from Jiri Kosina:
    "The usual trivial updates all over the tree -- mostly typo fixes and
    documentation updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (52 commits)
    doc: Documentation/cputopology.txt fix typo
    treewide: Convert retrun typos to return
    Fix comment typo for init_cma_reserved_pageblock
    Documentation/trace: Correcting and extending tracepoint documentation
    mm/hotplug: fix a typo in Documentation/memory-hotplug.txt
    power: Documentation: Update s2ram link
    doc: fix a typo in Documentation/00-INDEX
    Documentation/printk-formats.txt: No casts needed for u64/s64
    doc: Fix typo "is is" in Documentations
    treewide: Fix printks with 0x%#
    zram: doc fixes
    Documentation/kmemcheck: update kmemcheck documentation
    doc: documentation/hwspinlock.txt fix typo
    PM / Hibernate: add section for resume options
    doc: filesystems : Fix typo in Documentations/filesystems
    scsi/megaraid fixed several typos in comments
    ppc: init_32: Fix error typo "CONFIG_START_KERNEL"
    treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks
    page_isolation: Fix a comment typo in test_pages_isolated()
    doc: fix a typo about irq affinity
    ...

    Linus Torvalds
     

27 Aug, 2013

1 commit


20 Aug, 2013

1 commit


29 Jul, 2013

2 commits

  • VAIO-Z laptops need to use the specific DAC for the speaker output
    by some unknown reason although the codec itself supports the flexible
    connection. So we implemented a workaround by a new flag,
    no_primary_hp, for assigning the speaker pin first.

    This worked until 3.8 kernel, but it got broken because the driver
    learned for a better multi-io pin mapping, and not it can assign two
    mic pins for multi-io. Since the multi-io requires to be the primary
    output, the hp and two mic pins are assigned in prior to the speaker
    in the end.

    Although the machine has two mic pins, one of them is used as a noise-
    canceling headphone, thus it's no real retaskable mic jack. Thus, at
    best, we can disable the multi-io assignment and make the parser
    behavior back to the state before the multi-io.

    This patch adds again a new flag, no_multi_io, to indicate that the
    device has no multi-io capability, and set it in the fixup for
    VAIO-Z. The no_multi_io flag itself can be used generically, added
    via a helper line, too.

    Reported-by: Tormen
    Reported-by: Adam Williamson
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The current fixup for dell-bios model with STAC9228 codec contains the
    override of pin 0x0c for analog mic. But this is actually just adding
    a bogus pin and confuses the parser. Better to remove it for the
    auto-mic switching.

    Meanwhile, for a possible regression, keep the old configuration as
    model=dell-bios-amic, so that people can test it again quickly.

    Tested on Dell 1420n laptop.

    Reported-and-tested-by: Eric Shattow
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

25 Jul, 2013

1 commit


17 Jun, 2013

2 commits


16 Apr, 2013

1 commit

  • ASoC: Updates for v3.10

    A bunch of changes here, the most interesting one subsystem wise being
    Morimoto-san's work to create snd_soc_component which doesn't do much
    for now but will be pretty important going forwards:

    - Add a new component object type which will form the basis of moving
    to a more generic handling of SoC and off-SoC components, contributed
    by Kuninori Morimoto.
    - A fairly large set of cleanups for the dmaengine integration from
    Lars-Peter Clausen, starting to move towards being able to have a
    generic driver based on the library.
    - Performance optimisations to DAPM from Ryo Tsutsui.
    - Support for mixer control sharing in DAPM from Stephen Warren.
    - Multiplatform ARM cleanups from Arnd Bergmann.
    - New CODEC drivers for AK5385 and TAS5086 from Daniel Mack.

    Takashi Iwai
     

04 Apr, 2013

1 commit

  • This reverts commit 6ab317419c62850a71e2adfd1573e5ee87d8774f.

    The commit [6ab317419c: ALSA: hda - Allow power_save_controller option
    override DCAPS] changed the behavior of power_save_controller so that
    it can override the driver capability. This assumed that this option
    is rarely changed dynamically unlike power_save option. Too naive.

    It turned out that the user-space power-management tool tries to set
    power_save_controller option to 1 together with power_save option
    without knowing what's actually doing. This enabled forcibly the
    runtime PM of the controller, which is known to be broken om many
    chips thus disabled as default.

    So, the only sane fix is to revert this commit again. It was intended
    to ease debugging/testing for runtime PM enablement, but obviously we
    need another way for it.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=56171
    Reported-and-tested-by: Nikita Tsukanov
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

18 Mar, 2013

1 commit


17 Mar, 2013

1 commit


08 Mar, 2013

2 commits


14 Feb, 2013

1 commit

  • this add new API for sound compress to support gapless playback.
    As noted in Documentation change, we add API to send metadata of encoder and
    padding delay to DSP. Also add API for indicating EOF and switching to
    subsequent track

    Also bump the compress API version

    Signed-off-by: Jeeja KP
    Signed-off-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Jeeja KP
     

12 Feb, 2013

1 commit


29 Jan, 2013

1 commit