27 Jan, 2011

2 commits


26 Jan, 2011

4 commits

  • AC'97 codecs only support two channels for recording, so we shouldn't
    advertize that there are up to six channels available. Limit the
    selection of 4 and 6 channel audio to playback only.

    As this adds additional SNDRV_PCM_STREAM_PLAYBACK conditionals, we can
    combine some resulting in the elimination of __aaci_pcm_open() entirely,
    and making the code easier to read.

    Signed-off-by: Russell King

    Russell King
     
  • Claiming the IRQ each time a playback or capture interface is opened
    is wasteful; the second copy of the registered handler is identical to
    the first and just wastes resources. Track the number of opens and
    only register the handler when necessary.

    Signed-off-by: Russell King

    Russell King
     
  • Relying on the access time of peripherals is unreliable - it depends
    on the speed of the CPU and the bus. On Versatile Express, these
    timeouts were expiring, causing the driver to fail.

    Add udelay(1) to ensure that they don't expire early, and adjust
    timeouts to give a reasonable margin over the response times.

    Signed-off-by: Russell King

    Russell King
     
  • Ensure that a timeout coincident with the condition being waited for
    results in success rather than failure. This helps avoid timeout
    conditions being inappropriately flagged.

    Signed-off-by: Russell King

    Russell King
     

21 Jan, 2011

2 commits


20 Jan, 2011

4 commits


19 Jan, 2011

8 commits

  • This reverts commit 03b7a1ab557efe34e8f79b78660e514bd7374248.

    This commit was mistakenly re-introduced. While the change is harmless
    (as ALC887 uses patch_alc888() now), we should get rid of any wrong code.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • WM8750 address is 0x1b, not 0x1a. Without this fix ALSA detects no sound
    cards on Zipit

    Signed-off-by: Vasily Khoruzhick
    Acked-by: Marek Vasut
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Vasily Khoruzhick
     
  • Fix jack detection on Zipit Z2, otherwise it
    disables headphones output when jack is connected

    Signed-off-by: Vasily Khoruzhick
    Acked-by: Marek Vasut
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Vasily Khoruzhick
     
  • While I2S/TDM/AC97 DAI is built-in, others are compiled as modules,
    SND_BF5XX_SOC_SPORT will be module, then DAI can't get some symbols.
    Except that, SND_BF5XX_AC97 depends on SND_BF5XX_SOC_AC97 too.

    Signed-off-by: Barry Song
    Signed-off-by: Mike Frysinger
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Barry Song
     
  • We don't want to use internal frame syncs otherwise we sometimes
    get out of sync, so don't enable them when setting up the SPORT.

    Signed-off-by: Barry Song
    Signed-off-by: Mike Frysinger
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Barry Song
     
  • We need to tweak how we query the active capture/playback state after
    the recent overhauls of common code.

    Signed-off-by: Mike Frysinger
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Mike Frysinger
     
  • One spot was missed in this driver when converting from
    snd_soc_dai.private_data to snd_soc_dai_get_drvdata.

    Signed-off-by: Mike Frysinger
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Mike Frysinger
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix initialization for HP 2011 notebooks
    ALSA: hda - Add support for VMware controller
    ALSA: hda - consitify string arrays
    ALSA: hda - Add add multi-streaming playback for AD1988
    ASoC: EP93xx: fixed LRCLK rate and DMA oper. in I2S code
    ASoC: WM8990: msleep() takes milliseconds not jiffies
    ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu
    ALSA: constify functions in ac97
    ASoC: WL1273 FM radio: Fix breakage with MFD API changes
    ALSA: hda - More coverage for odd-number channels elimination for HDMI
    ALSA: hda - Store PCM parameters properly in HDMI open callback
    ALSA: hda - Rearrange fixup struct in patch_realtek.c
    ALSA: oxygen: Xonar DG: fix CS4245 register writes
    ALSA: hda - Suppress the odd number of channels for HDMI
    ALSA: hda - Add fixup-call in init callback
    ALSA: hda - Reorganize fixup structure for Realtek
    ALSA: hda - Apply Sony VAIO hweq fixup only once
    ALSA: hda - Apply mario fixup only once
    ALSA: hda - Remove unused fixup entry for ALC262

    Linus Torvalds
     

18 Jan, 2011

7 commits


17 Jan, 2011

3 commits

  • Changelog:
    1. I2S module of EP93xx should be feed by 32bit DMA transfers. This is
    hardware limitation and that's the way original Cirrus's driver worked.
    This will fix distorted sound playback and make capture actually work in
    present ep93xx drivers.

    I've found, that author of code, on which modern ep93xx-i2s.c and
    ep93xx-pcm.c are based, had faced this problem also in 2007:
    http://blog.gmane.org/gmane.linux.ports.arm.cirrus/month=20070101/page=3

    Now SoC code uses his developments, but not overcomes the hardware
    issues. Some details from EP93xx users guide:

    Both I2S transmitter and receiver have similar 16x32bit FIFO, where they
    store 8 samples for both left and right channels. The FIFO is always
    32bit wide and should be properly aligned if you use samples of other
    width. Transmitter and receiver have configuration registers for
    selection of I2S word length (16, 24, 32). They are I2STXWrdLen and
    I2SRXWrdLen.

    Yes, EP93xx DMA can do byte, word and quad-word transfers. The width for
    transfers to and from peripherals is selected by particular module
    configuration. Lucky AC97 module has such configuration: AC97RXCRx
    registers, bit CM (Compact mode enable) switches between 16 and 32 bit
    samples. AC97TXCRx registers have the same bits for transmitters.
    ep93xx-ac97.c enables this compact mode and so has all the rights to use
    S16_LE format.
    No one has found such a configuration in I2S module until now in any
    Cirrus manuals. I2S module always feeds it's 32bit wide FIFO with 32bit
    samples consecutively for left and right channels. You cannot use 32-bit
    DMA transfers to transfer two 16-bit samples.

    So we can use two formats for AC97, but should remove all but S32_LE for
    I2S. Always using 32 bit chunks is not a problem for I2S, the codec I
    use uses less bits too (24), it's permitted by I2S standard.

    In proposed patch formats list shortened to just S32_LE, this makes all
    the DMA transactions right, while ALSA will do all sample format
    translation for us.

    2. Incorrect setting of LRCLK (2 times slower) in original ep93xx-i2s.c
    masks the first problem.

    DMA takes two 16 bit samples instead of one, overall sound speed seems
    to be normal, but you get actually 4000 sampling rate instead of
    requested 8000 and therefore some noise... This is also the reason why
    the capture function not worked at all in this driver...

    If we take a look into I2S specification, we will figure that LRCLK MUST
    be equal to sample rate, if we are talking about stereo (in mono too,
    but it's not our case at all).

    In proposed patch SCLK and LRCLK rates are corrected, assuming we always
    send 32 bits * 2 channels to codec.

    Signed-off-by: Alexander Sverdlin
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Alexander Sverdlin
     
  • Signed-off-by: Dimitris Papastamos
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Dimitris Papastamos
     
  • Fix playback/capture channels patch to change supported playback
    channels of au8830 to 1,2,4 and capture channels to 1,2.
    This prevent oops when oss emulation use SNDCTL_DSP_CHANNELS to
    set 3 Channels

    Signed-off-by: Raymond Yau
    Cc:
    Signed-off-by: Takashi Iwai

    Raymond Yau
     

15 Jan, 2011

2 commits

  • Signed-off-by: Hanno Boeck
    Signed-off-by: Takashi Iwai

    Hanno Boeck
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI/PM: Report wakeup events before resuming devices
    PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events
    PCI: sysfs: Update ROM to include default owner write access
    x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL
    x86/PCI: don't use native Broadcom CNB20LE driver when ACPI is available
    PCI/ACPI: Request _OSC control once for each root bridge (v3)
    PCI: enable pci=bfsort by default on future Dell systems
    PCI/PCIe: Clear Root PME Status bits early during system resume
    PCI: pci-stub: ignore zero-length id parameters
    x86/PCI: irq and pci_ids patch for Intel Patsburg
    PCI: Skip id checking if no id is passed
    PCI: fix __pci_device_probe kernel-doc warning
    PCI: make pci_restore_state return void
    PCI: Disable ASPM if BIOS asks us to
    PCI: Add mask bit definition for MSI-X table
    PCI: MSI: Move MSI-X entry definition to pci_regs.h

    Fix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the
    meantime been converted to not use legacy PCI power management, and thus
    no longer use pci_restore_state() at all (and that caused trivial
    conflicts with the "make pci_restore_state return void" patch)

    Linus Torvalds
     

14 Jan, 2011

8 commits

  • These changes are needed to keep up with the changes in the
    MFD core and V4L2 parts of the wl1273 FM radio driver.

    Use function pointers instead of exported functions for I2C IO.
    Also move all preprocessor constants from the wl1273.h to
    include/linux/mfd/wl1273-core.h.

    Signed-off-by: Matti J. Aaltonen
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Matti J. Aaltonen
     
  • The commit ad09fc9d2156f3d37537b34418a6b79309013d33 didn't cover the
    case for Intel and Nvidia HDMIs, where hdmi_pcm_open() is called.
    Put the hw_constraint there, too.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • In hdmi_pcm_open(), the evaluated PCM hw parameters are stored in
    hinfo, but these aren't properly set back to the current runtime
    record since these have been set beforehand in azx_pcm_open().
    This patch fixes the behavior.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Accidentally exchanging register addresses and register values leads to
    many strange errors ...

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

    Clemens Ladisch
     
  • It looks like that HDMI codecs don't support the odd number of channels
    although HD-audio spec doesn't have the restriction. Add the
    hw_constraint to limit to only the even number of channels.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (348 commits)
    ALSA: hda - Fix NULL-derefence with a single mic in STAC auto-mic detection
    ALSA: hda - Add missing NID 0x19 fixup for Sony VAIO
    ALSA: hda - Fix ALC275 enable hardware EQ for SONY VAIO
    ALSA: oxygen: fix Xonar DG input
    ALSA: hda - Fix EAPD on Lenovo NB ALC269 to low
    ALSA: hda - Fix missing EAPD for Acer 4930G
    ALSA: hda: Disable 4/6 channels on some NVIDIA GPUs.
    ALSA: hda - Add static_hdmi_pcm option to HDMI codec parser
    ALSA: hda - Don't refer ELD when unplugged
    ASoC: tpa6130a2: Fix compiler warning
    ASoC: tlv320dac33: Add DAPM selection for LOM invert
    ASoC: DMIC codec: Adding a generic DMIC codec
    ALSA: snd-usb-us122l: Fix missing NULL checks
    ALSA: snd-usb-us122l: Fix MIDI output
    ASoC: soc-cache: Fix invalid memory access during snd_soc_lzo_cache_sync()
    ASoC: Fix section mismatch in wm8995.c
    ALSA: oxygen: add S/PDIF source selection for Claro cards
    ALSA: oxygen: fix CD/MIDI for X-Meridian (2G)
    ASoC: fix migor audio build
    ALSA: include delay.h for msleep in Xonar DG support
    ...

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    Documentation/trace/events.txt: Remove obsolete sched_signal_send.
    writeback: fix global_dirty_limits comment runtime -> real-time
    ppc: fix comment typo singal -> signal
    drivers: fix comment typo diable -> disable.
    m68k: fix comment typo diable -> disable.
    wireless: comment typo fix diable -> disable.
    media: comment typo fix diable -> disable.
    remove doc for obsolete dynamic-printk kernel-parameter
    remove extraneous 'is' from Documentation/iostats.txt
    Fix spelling milisec -> ms in snd_ps3 module parameter description
    Fix spelling mistakes in comments
    Revert conflicting V4L changes
    i7core_edac: fix typos in comments
    mm/rmap.c: fix comment
    sound, ca0106: Fix assignment to 'channel'.
    hrtimer: fix a typo in comment
    init/Kconfig: fix typo
    anon_inodes: fix wrong function name in comment
    fix comment typos concerning "consistent"
    poll: fix a typo in comment
    ...

    Fix up trivial conflicts in:
    - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
    - fs/ext4/ext4.h

    Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.

    Linus Torvalds