03 Jan, 2013

1 commit


17 Dec, 2012

1 commit


15 Dec, 2012

2 commits

  • Mark Brown
     
  • pop_wait is used to determine if a deferred playback close
    needs to be cancelled when the a PCM is open or if after
    the power-down delay expires it needs to run. pop_wait is
    associated with the CODEC DAI, so the CODEC DAI must be
    unique. This holds true for most CODECs, except for the
    dummy CODEC and its DAI.

    In DAI links with non-unique dummy CODECs (e.g. front-ends),
    pop_wait can be overwritten by another DAI link using also a
    dummy CODEC. Failure to cancel a deferred close can cause
    mute due to the DAPM STOP event sent in the deferred work.

    One scenario where pop_wait is overwritten and causing mute
    is below (where hw:0,0 and hw:0,1 are two front-ends with
    default pmdown_time = 5 secs):

    aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE -d 1
    sleep 1
    aplay /dev/urandom -D hw:0,1 -c 2 -r 48000 -f S16_LE -d 3 &
    aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE

    Since CODECs may not be unique, pop_wait is moved to the PCM
    runtime structure. Creating separate dummy CODECs for each
    DAI link can also solve the problem, but at this point it's
    only pop_wait variable in the CODEC DAI that has negative
    effects by not being unique.

    Signed-off-by: Misael Lopez Cruz
    Signed-off-by: Mark Brown

    Misael Lopez Cruz
     

09 Dec, 2012

3 commits


03 Dec, 2012

1 commit


02 Dec, 2012

3 commits


23 Nov, 2012

3 commits


20 Nov, 2012

1 commit


06 Nov, 2012

1 commit

  • Current FSI driver required set_rate() platform callback function
    to set audio clock if it was master mode,
    because it seemed that CPG/FSI-DIV clocks calculation depend on
    platform/board/cpu.
    But it was calculable regardless of platform.
    This patch supports audio clock calculation method,
    but the sampling rate under 32kHz is not supported at this point.
    Old type set_rate() is still supported now,
    but it will be deleted on next version

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

01 Nov, 2012

1 commit


30 Oct, 2012

2 commits


23 Oct, 2012

2 commits

  • ALSA did not provide any direct means to infer the audio time for A/V
    sync and system/audio time correlations (eg. PulseAudio).
    Applications had to track the number of samples read/written and
    add/subtract the number of samples queued in the ring buffer. This
    accounting led to small errors, typically several samples, due to the
    two-step process. Computing the audio time in the kernel is more
    direct, as all the information is available in the same routines.

    Also add new .audio_wallclock routine to enable fine-grain synchronization
    between monotonic system time and audio hardware time.
    Using the wallclock, if supported in hardware, allows for a
    much better sub-microsecond precision and a common drift tracking for
    all devices sharing the same wall clock (master clock).

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

    Pierre-Louis Bossart
     
  • Keep track of boundary crossing when hw_ptr
    exceeds boundary limit and wraps-around. This
    will help keep track of total number
    of frames played/received at the kernel level

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

    Pierre-Louis Bossart
     

15 Oct, 2012

1 commit


09 Oct, 2012

2 commits

  • Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     
  • Pull sound updates from Takashi Iwai:
    "This contains pretty many small commits covering fairly large range of
    files in sound/ directory. Partly because of additional API support
    and partly because of constantly developed ASoC and ARM stuff.

    Some highlights:

    - Introduced the helper function and documentation for exposing the
    channel map via control API, as discussed in Plumbers; most of PCI
    drivers are covered, will follow more drivers later

    - Most of drivers have been replaced with the new PM callbacks (if
    the bus is supported)

    - HD-audio controller got the support of runtime PM and the support
    of D3 clock-stop. Also changing the power_save option in sysfs
    kicks off immediately to enable / disable the power-save mode.

    - Another significant code change in HD-audio is the rewrite of
    firmware loading code. Other than that, most of changes in
    HD-audio are continued cleanups and standardization for the generic
    auto parser and bug fixes (HBR, device-specific fixups), in
    addition to the support of channel-map API.

    - Addition of ASoC bindings for the compressed API, used by the
    mid-x86 drivers.

    - Lots of cleanups and API refreshes for ASoC codec drivers and
    DaVinci.

    - Conversion of OMAP to dmaengine.

    - New machine driver for Wolfson Microelectronics Bells.

    - New CODEC driver for Wolfson Microelectronics WM0010.

    - Enhancements to the ux500 and wm2000 drivers

    - A new driver for DA9055 and the support for regulator bypass mode."

    Fix up various arm soc header file reorg conflicts.

    * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
    ALSA: hda - Add new codec ALC283 ALC290 support
    ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
    ALSA: hda - fix indices on boost volume on Conexant
    ALSA: aloop - add locking to timer access
    ALSA: hda - Fix hang caused by race during suspend.
    sound: Remove unnecessary semicolon
    ALSA: hda/realtek - Fix detection of ALC271X codec
    ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
    ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
    ALSA: hda - make a generic unsol event handler
    ASoC: codecs: Add DA9055 codec driver
    ASoC: eukrea-tlv320: Convert it to platform driver
    ALSA: ASoC: add DT bindings for CS4271
    ASoC: wm_hubs: Ensure volume updates are handled during class W startup
    ASoC: wm5110: Adding missing volume update bits
    ASoC: wm5110: Add OUT3R support
    ASoC: wm5110: Add AEC loopback support
    ASoC: wm5110: Rename EPOUT to HPOUT3
    ASoC: arizona: Add more clock rates
    ASoC: arizona: Add more DSP options for mixer input muxes
    ...

    Linus Torvalds
     

07 Oct, 2012

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    "The first part of the media updates for Kernel 3.7.

    This series contain:

    - A major tree renaming patch series: now, drivers are organized
    internally by their used bus, instead of by V4L2 and/or DVB API,
    providing a cleaner driver location for hybrid drivers that
    implement both APIs, and allowing to cleanup the Kconfig items and
    make them more intuitive for the end user;

    - Media Kernel developers are typically very lazy with their duties
    of keeping the MAINTAINERS entries for their drivers updated. As
    now the tree is more organized, we're doing an effort to add/update
    those entries for the drivers that aren't currently orphan;

    - Several DVB USB drivers got moved to a new DVB USB v2 core; the new
    core fixes several bugs (as the existing one that got bitroted).
    Now, suspend/resume finally started to work fine (at least with
    some devices - we should expect more work with regards to it);

    - added multistream support for DVB-T2, and unified the API for
    DVB-S2 and ISDB-S. Backward binary support is preserved;

    - as usual, a few new drivers, some V4L2 core improvements and lots
    of drivers improvements and fixes.

    There are some points to notice on this series:

    1) you should expect a trivial merge conflict on your tree, with the
    removal of Documentation/feature-removal-schedule.txt: this series
    would be adding two additional entries there. I opted to not
    rebase it due to this recent change;

    2) With regards to the PCTV 520e udev-related breakage, I opted to
    fix it in a way that the patches can be backported to 3.5 even
    without your firmware fix patch. This way, Greg doesn't need to
    rush backporting your patch (as there are still the firmware cache
    and firmware path customization issues to be addressed there).

    I'll send later a patch (likely after the end of the merge window)
    reverting the rest of the DRX-K async firmware request, fully
    restoring its original behaviour to allow media drivers to
    initialize everything serialized as before for 3.7 and upper.

    3) I'm planning to work on this weekend to test the DMABUF patches
    for V4L2. The patches are on my queue for several Kernel cycles,
    but, up to now, there is/was no way to test the series locally.

    I have some concerns about this particular changeset with regards
    to security issues, and with regards to the replacement of the old
    VIDIOC_OVERLAY ioctl's that is broken on modern systems, due to
    GPU drivers change. The Overlay API allows direct PCI2PCI
    transfers from a media capture card into the GPU framebuffer, but
    its API is crappy. Also, the only existing X11 driver that
    implements it requires a XV extension that is not available
    anymore on modern drivers. The DMABUF can do the same thing, but
    with it is promising to be a properly-designed API. If I can
    successfully test this series and be happy with it, I should be
    asking you to pull them next week."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (717 commits)
    em28xx: regression fix: use DRX-K sync firmware requests on em28xx
    drxk: allow loading firmware synchrousnously
    em28xx: Make all em28xx extensions to be initialized asynchronously
    [media] tda18271: properly report read errors in tda18271_get_id
    [media] tda18271: delay IR & RF calibration until init() if delay_cal is set
    [media] MAINTAINERS: add Michael Krufky as tda827x maintainer
    [media] MAINTAINERS: add Michael Krufky as tda8290 maintainer
    [media] MAINTAINERS: add Michael Krufky as cxusb maintainer
    [media] MAINTAINERS: add Michael Krufky as lg2160 maintainer
    [media] MAINTAINERS: add Michael Krufky as lgdt3305 maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl111sf maintainer
    [media] MAINTAINERS: add Michael Krufky as mxl5007t maintainer
    [media] MAINTAINERS: add Michael Krufky as tda18271 maintainer
    [media] s5p-tv: Report only multi-plane capabilities in vidioc_querycap
    [media] s5p-mfc: Fix misplaced return statement in s5p_mfc_suspend()
    [media] exynos-gsc: Add missing static storage class specifiers
    [media] exynos-gsc: Remove header file inclusion
    [media] s5p-fimc: Fix incorrect condition in fimc_lite_reqbufs()
    [media] s5p-tv: Fix potential NULL pointer dereference error
    [media] s5k6aa: Fix possible NULL pointer dereference
    ...

    Linus Torvalds
     

06 Oct, 2012

1 commit


03 Oct, 2012

1 commit


28 Sep, 2012

1 commit


26 Sep, 2012

1 commit

  • Allow regulators managed via DAPM to make use of the bypass support that
    has recently been added to the regulator API by setting a flag
    SND_SOC_DAPM_REGULATOR_BYPASS. When this flag is set the regulator will
    be put into bypass mode before being disabled, allowing the regulator to
    fall into bypass mode if it can't be disabled due to other users.

    Signed-off-by: Mark Brown

    Mark Brown
     

23 Sep, 2012

2 commits


21 Sep, 2012

1 commit

  • The 'dres' field (discharge resistance for headphone outputs) is no longer
    used in the driver, so remove it.

    It was used in the original version of the driver when entering standby
    from off, but we stopped using it when we switched from having a single
    startup sequence to having separate cap and capless sequences.

    Signed-off-by: Timur Tabi
    Signed-off-by: Mark Brown

    Timur Tabi
     

19 Sep, 2012

2 commits

  • If the LRCLK is shared and the WM8960 is clock master then we should
    enable the LRCM bit to tell the device that it should drive LRCLK when
    either ADC or DAC is enabled rather than separately driving the two
    LRCLKs.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • For ENUM controls the bitmask is calculated based on the number of items.
    Currently this is done each time the control is accessed. And while the
    performance impact of this should be negligible we can easily do better. The
    roundup_pow_of_two macro performs the same calculation which is currently done
    manually, but it is also possible to use this macro with compile time constants
    and so it can be used to initialize static data. So we can use it to initialize
    the mask field of a ENUM control during its declaration.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Peter Ujfalusi
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

17 Sep, 2012

1 commit


14 Sep, 2012

2 commits


13 Sep, 2012

1 commit

  • For following the standard, define more channel map positions and
    shuffle the items a bit:

    - As both PulseAudio and gstreamer define MONO channel position
    explicitly, we should follow that, too. The mono streams point to
    this channel position unless they are explicitly assigned to certain
    channel positions.

    - Top-front-* and Top-rear-* positions are added, carried from
    PulseAudio's definitions.

    - Move NA and MONO definitions at the top of table right after
    UNKNOWN, since these are more abstract in comparison with other
    practical positions.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

08 Sep, 2012

1 commit


07 Sep, 2012

1 commit