29 Oct, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
    ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
    ALSA: hda - Keep EAPD turned on for old Conexant chips
    ALSA: hda/realtek - Fix missing volume controls with ALC260
    ASoC: wm8940: Properly set codec->dapm.bias_level
    ALSA: hda - Fix pin-config for ASUS W90V
    ALSA: hda - Fix surround/CLFE headphone and speaker pins order
    ALSA: hda - Fix typo
    ALSA: Update the sound git tree URL
    ALSA: HDA: Add new revision for ALC662
    ASoC: max98095: Convert codec->hw_write to snd_soc_write
    ASoC: keep pointer to resource so it can be freed
    ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
    ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
    ASoC: da7210: Add support for line out and DAC
    ASoC: da7210: Add support for DAPM
    ALSA: hda/realtek - Fix DAC assignments of multiple speakers
    ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
    ASoC: Set sgtl5000->ldo in ldo_regulator_register
    ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
    ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
    ...

    Linus Torvalds
     

27 Oct, 2011

1 commit


28 Sep, 2011

1 commit


20 Sep, 2011

1 commit


25 Aug, 2011

2 commits

  • - Misc fixes to improve code readability:
    * rename struct pm_qos_request_list to struct pm_qos_request,
    * rename pm_qos_req parameter to req in internal code,
    consistenly use req in the API parameters,
    * update the in-kernel API callers to the new parameters names,
    * rename of fields names (requests, list, node, constraints)

    Signed-off-by: Jean Pihet
    Acked-by: markgross
    Reviewed-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki

    Jean Pihet
     
  • The PM QoS implementation files are better named
    kernel/power/qos.c and include/linux/pm_qos.h.

    The PM QoS support is compiled under the CONFIG_PM option.

    Signed-off-by: Jean Pihet
    Acked-by: markgross
    Reviewed-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki

    Jean Pihet
     

26 Jul, 2011

1 commit

  • Move the macros depending on snd_mask_min() and co out of pcm.h into
    pcm_params.h. Otherwise using some params_*() macros will give comiple
    errors without inclusion of pcm_params.h.

    Also use hw_param_interval_c() and hw_param_mask_c() for const pointer.

    Reported-by: Tim Blechmann
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

24 Jul, 2011

1 commit


25 Mar, 2011

1 commit

  • It's a big no-no to use pgprot_noncached() when mmap'ing such buffers
    into userspace since they are mapped cachable in kernel space.

    This can cause all sort of interesting things ranging from to garbled
    sound to lockups on various architectures. I've observed that usb-audio
    is broken on powerpc 4xx for example because of that.

    Also remove the now unused snd_pcm_lib_mmap_noncached(). It's
    an arch business to know when to use uncached mappings, there's
    already hacks for MIPS inside snd_pcm_default_mmap() and other
    archs are supposed to use dma_mmap_coherent().

    (See my separate patch that adds dma_mmap_coherent() to powerpc)

    Signed-off-by: Benjamin Herrenschmidt
    CC:
    Signed-off-by: Takashi Iwai

    Benjamin Herrenschmidt
     

15 Feb, 2011

1 commit

  • Change the core code where sparse complains. In most cases, this means
    just adding annotations to confirm that we indeed want to do the dirty
    things we're doing.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

22 Nov, 2010

1 commit

  • This patch allows to disable period interrupts which are
    not needed when the application relies on a system timer
    to wake-up and refill the ring buffer. The behavior of
    the driver is left unchanged, and interrupts are only
    disabled if the application requests this configuration.
    The behavior in case of underruns is slightly different,
    instead of being detected during the period interrupts the
    underruns are detected when the application calls
    snd_pcm_update_avail, which in turns forces a refresh of the
    hw pointer and shows the buffer is empty.

    More specifically this patch makes a lot of sense when
    PulseAudio relies on timer-based scheduling to access audio
    devices such as HDAudio or Intel SST. Disabling interrupts
    removes two unwanted wake-ups due to period elapsed events
    in low-power playback modes. It also simplifies PulseAudio
    voice modules used for speech calls.

    To quote Lennart "This patch looks very interesting and
    desirable. This is something have long been waiting for."

    Support for this in hardware drivers is optional.

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

    Clemens Ladisch
     

18 Aug, 2010

1 commit

  • The current code in pcm_lib.c do all checks using only the position
    in the ring buffer. Unfortunately, where the interrupts gets delayed or
    merged into one, we need another timing source to check when the
    buffer size boundary overlaps to avoid the wrong updating of the
    ring buffer pointers.

    This code uses jiffies to check the right time window without any
    performance impact.

    Signed-off-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     

08 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
    ALSA: hda - Add pin-fix for HP dc5750
    ALSA: als4000: Fix potentially invalid DMA mode setup
    ALSA: als4000: enable burst mode
    ALSA: hda - Fix initial capsrc selection in patch_alc269()
    ASoC: TWL4030: Capture route runtime DAPM ordering fix
    ALSA: hda - Add PC-beep whitelist for an Intel board
    ALSA: hda - More relax for pending period handling
    ALSA: hda - Define AC_FMT_* constants
    ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
    ALSA: hda - Add support for HDMI HBR passthrough
    ALSA: hda - Set Stream Type in Stream Format according to AES0
    ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
    ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
    ASoC: wm9081: fix resource reclaim in wm9081_register error path
    ASoC: wm8978: fix a memory leak if a wm8978_register fail
    ASoC: wm8974: fix a memory leak if another WM8974 is registered
    ASoC: wm8961: fix resource reclaim in wm8961_register error path
    ASoC: wm8955: fix resource reclaim in wm8955_register error path
    ASoC: wm8940: fix a memory leak if wm8940_register return error
    ASoC: wm8904: fix resource reclaim in wm8904_register error path
    ...

    Linus Torvalds
     

19 Jul, 2010

1 commit

  • All current users of pm_qos_add_request() have the ability to supply
    the memory required by the pm_qos routines, so make them do this and
    eliminate the kmalloc() with pm_qos_add_request(). This has the
    double benefit of making the call never fail and allowing it to be
    called from atomic context.

    Signed-off-by: James Bottomley
    Signed-off-by: mark gross
    Signed-off-by: Rafael J. Wysocki

    James Bottomley
     

05 Jul, 2010

1 commit


28 Jun, 2010

1 commit

  • When using poll() to wait for the next period -- or avail_min samples --
    one gets a consistent delay for each system call that is usually just a
    little short of the selected period time. However, When using
    snd_pcm_read/write(), one gets a jittery delay that alternates between
    less than a millisecond and approximately two period times. This is
    caused by snd_pcm_lib_{read,write}1() transferring any available samples
    to the user's buffer and adjusting the application pointer prior to
    sleeping to the end of the current period. When the next period
    interrupt occurs, there is then less than avail_min samples remaining to
    be transferred in the period, so we end up sleeping until a second
    period occurs.

    This is solved by using runtime->twake as the number of samples needed
    for a wakeup in addition to selecting the proper wait queue to wake in
    snd_pcm_update_state(). This requires twake to be non-zero when used
    by snd_pcm_lib_{read,write}1() even if avail_min is zero.

    Signed-off-by: Dave Dillow
    Signed-off-by: Jaroslav Kysela

    David Dillow
     

31 May, 2010

1 commit

  • This defines the 24bps and 40bps (8khz sample rate) G.723 codec
    formats. They are going to be used once I submit the driver for
    an mpeg4/g723 compression card.

    I've updated the signed value to -1 as per Takashi's comments
    since these are non-linear formats.

    Signed-off-by: Ben Collins
    Signed-off-by: Takashi Iwai

    Ben Collins
     

11 May, 2010

1 commit

  • This patch changes the string based list management to a handle base
    implementation to help with the hot path use of pm-qos, it also renames
    much of the API to use "request" as opposed to "requirement" that was
    used in the initial implementation. I did this because request more
    accurately represents what it actually does.

    Also, I added a string based ABI for users wanting to use a string
    interface. So if the user writes 0xDDDDDDDD formatted hex it will be
    accepted by the interface. (someone asked me for it and I don't think
    it hurts anything.)

    This patch updates some documentation input I got from Randy.

    Signed-off-by: markgross
    Signed-off-by: Rafael J. Wysocki

    Mark Gross
     

27 Jan, 2010

2 commits

  • Takashi Iwai
     
  • Clemens Ladisch noted for hw_ptr_removal in "cleanup & merge hw_ptr
    update functions" commit:

    "It is possible for the status/delay ioctls to be called when the sound
    card's pointer register alreay shows a position at the beginning of the
    new period, but immediately before the interrupt is actually executed.
    (This happens regularly on a SMP machine with mplayer.) When that
    happens, the code thinks that the position must be at least one period
    ahead of the current position and drops an entire buffer of data."

    Return back the hw_ptr_interrupt variable. The last interrupt pointer
    is always computed from the latest hw_ptr instead of tracking it
    separately (in this case all hw_ptr checks and modifications might
    influence also hw_ptr_interrupt and it is difficult to keep it
    consistent).

    Signed-off-by: Jaroslav Kysela

    Jaroslav Kysela
     

21 Jan, 2010

3 commits


18 Jan, 2010

1 commit


12 Jan, 2010

1 commit


07 Jan, 2010

3 commits


18 Dec, 2009

1 commit


10 Nov, 2009

1 commit


10 Sep, 2009

1 commit

  • * topic/dummy:
    ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128
    ALSA: dummy - Add debug proc file
    ALSA: Add const prefix to proc helper functions
    ALSA: Re-export snd_pcm_format_name() function
    ALSA: dummy - Fake buffer allocations
    ALSA: dummy - Fix the timer calculation in systimer mode
    ALSA: dummy - Add more description
    ALSA: dummy - Better jiffies handling
    ALSA: dummy - Support high-res timer mode

    Takashi Iwai
     

08 Sep, 2009

1 commit


08 Jul, 2009

1 commit

  • Using SG-buffers with dma_alloc_coherent() is often very inefficient
    on non-coherent architectures because a tracking record could be
    allocated in addition for each dma_alloc_coherent() call.
    Instead, simply disable SG-buffers but just allocate normal continuous
    buffers on non-supported (currently all but x86) architectures.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Jun, 2009

2 commits


05 Jun, 2009

1 commit


29 May, 2009

1 commit

  • Move the fifo_size assignment to hw->ioctl callback to allow lowlevel
    drivers overwrite the default behaviour.

    fifo_size is in frames not bytes as specified in asound.h and alsa-lib's
    documentation, but most hardware have fixed byte based FIFOs. Introduce
    internal SNDRV_PCM_INFO_FIFO_IN_FRAMES.

    Signed-off-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     

05 May, 2009

1 commit

  • Added runtime->delay field to adjust the delayed samples for snd_pcm_delay().
    Typically a hardware FIFO length is stored in this field, so that the
    extra delay between hwptr and applptr can be computed.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Apr, 2009

1 commit


24 Mar, 2009

1 commit