09 Nov, 2009

3 commits


03 Nov, 2009

2 commits

  • * 'fixes-s3c-2632-rc5' of git://git.fluff.org/bjdooks/linux:
    ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c
    ARM: S3C2440: mini2440: Fix spare warnings
    ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c
    ARM: S3C2440: mini2440: Fix missing CONFIG_S3C_DEV_USB_HOST
    ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL test
    ARM: S3C: Fix adc function exports
    ARM: S3C2410: Fix link if CONFIG_S3C2410_IOTIMING is not set
    ARM: S3C24XX: Introduce S3C2442B CPU
    ARM: S3C24XX: Define a macro to avoid compilation error
    ARM: S3C: Add info for supporting circular DMA buffers
    ARM: S3C64XX: Set rate of crystal mux
    ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK value

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Don't check invalid HP pin
    ALSA: dummy - Fix descriptions of pcm_substreams parameter
    ALSA: pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (sound)
    ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268
    sound: via82xx: deactivate DXS controls of inactive streams
    ALSA: snd-usb-caiaq: Bump version number to 1.3.20
    ALSA: snd-usb-caiaq: Lock on stream start/unpause
    ALSA: snd-usb-caiaq: Missing lock around use of buffer positions
    ALSA: sound/parisc: Move dereference after NULL test
    ALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests
    ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller
    ALSA: pcsp - Fix nforce workaround
    ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency
    ASoC: Amstrad Delta: add info about the line discipline requirement to Kconfig help text
    ASoC: Fix possible codec_dai->ops NULL pointer problems
    ALSA: hda - Fix capture source checks for ALC662/663 codecs
    ASoC: Serialize access to dapm_power_widgets()

    Linus Torvalds
     

02 Nov, 2009

6 commits


30 Oct, 2009

9 commits

  • Activate the DXS volume controls only when the corresponding stream is
    being used. This makes the behaviour consistent with the other drivers
    that have per-stream volume controls.

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

    Clemens Ladisch
     
  • Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • Fix a bug which can result in white noise from the driver after stream
    start or unpause.

    Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • Fix a race which causes snd_pcm_update_hw_ptr_pos() to report a bug.

    Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • If the NULL test on h is needed in snd_harmony_mixer_init, then the
    dereference should be after the NULL test.

    Actually, there is a sequence of calls: snd_harmony_create, then
    snd_harmony_pcm_init, and then snd_harmony_mixer_init. snd_harmony_create
    initializes h, but may indeed leave it as NULL. There was no NULL test at
    the beginning of snd_harmony_pcm_init, so I have added one. The NULL test
    in snd_harmony_mixer_init is then not necessary, but in case the ordering
    of the calls changes, I have left it, and moved the dereference after it.

    A simplified version of the semantic match that detects this problem is as
    follows (http://coccinelle.lip6.fr/):

    //
    @match exists@
    expression x, E;
    identifier fld;
    @@

    * x->fld
    ... when != \(x = E\|&x\)
    * x == NULL
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • In pcm.c, if the NULL test on pcm is needed, then the dereference should be
    after the NULL test.

    In dummy.c and ali5451.c, the context of the calls to
    snd_card_dummy_new_mixer and snd_ali_free_voice show that dummy and pvoice,
    respectively cannot be NULL.

    A simplified version of the semantic match that detects this problem is as
    follows (http://coccinelle.lip6.fr/):

    //
    @match exists@
    expression x, E;
    identifier fld;
    @@

    * x->fld
    ... when != \(x = E\|&x\)
    * x == NULL
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Add the generic device ID for NVIDIA HDA controller.

    Signed-off-by: Peer Chen
    Signed-off-by: Takashi Iwai

    peer chen
     
  • The attached patch fixes the problems introduced in this commit:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea0579fc85e64e9f05361d5aacf496fe7a151aa

    - Fix nForce workaround by honouring the pointer_update var
    - Revert "ns" to u64, as per the hrtimer API
    - Revert to the zero-delay timer startup, since I can't reproduce any
    problem with it (please, give me the hint!)

    Signed-off-by: Stas Sergeev
    Signed-off-by: Takashi Iwai

    Stas Sergeev
     
  • SND_CS5535AUDIO is available on Loongson(MIPS compatible) family
    machines, and checked it with ARCH=x86_64, no relative compiling
    warnings & errors, so, remove the platform dependency directly.

    Reported-by: rixed@happyleptic.org
    Acked-by: Andres Salomon
    Signed-off-by: Wu Zhangjin
    Signed-off-by: Takashi Iwai

    Wu Zhangjin
     

29 Oct, 2009

1 commit

  • The S3C64XX DMA implementation will work a lot better with the ability
    to enqueue circular buffers as the hardware can do it's own linked-list
    management.

    Add a function s3c_dma_has_circular() to show that the system can do this
    and a flag for the channel.

    Update the s3c24xx/s3c64xx I2S DMA code to deal with this.

    Signed-off-by: Ben Dooks
    Signed-off-by: Ben Dooks
    Acked-by: Mark Brown

    Ben Dooks
     

27 Oct, 2009

1 commit


26 Oct, 2009

1 commit


19 Oct, 2009

1 commit

  • Some codec DAIs like stac9766, wm9712, wm9713, ad1980 don't register themselves
    then it loses to the chance to be given a null_dai_ops in snd_soc_register_dai
    if they have no ops. When functions like soc_pcm_open, soc_pcm_hw_params etc.
    access the ops field in these DAIs, panic will happen.

    Signed-off-by: Barry Song
    Signed-off-by: Mark Brown

    Barry Song
     

15 Oct, 2009

1 commit


13 Oct, 2009

8 commits


12 Oct, 2009

1 commit


10 Oct, 2009

1 commit

  • Fix the num_total_dacs setting for Chaintech AV710. The existing comment
    that only PSDOUT0 is connected is correct, but since the card is using
    packed AC97 mode to send 6 channels to the codec, num_total_dacs should be
    set to 6 and not 2. This allows 6-channel surround to work. Also clarify
    a comment regarding the additional WM8728 codec on this card (it's connected
    to the SPDIF output and always receives the same data).

    Signed-off-by: Robert Hancock
    Signed-off-by: Takashi Iwai

    Robert Hancock
     

09 Oct, 2009

1 commit

  • Allow Nvidia HDMI to support more possible sample rates and formats.
    At best, the really supported rates and formats should be determined
    together with the negotiation with the HDMI receiver, but it's currently
    not implemented yet (Nvidia stuff seems incompatible with HDMI 1.3
    standard in this regard). As a compromise, we enable all bits, assuming
    that all recent devices do support such rates/formats.

    Tested-by: Alan Alan
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

08 Oct, 2009

4 commits

  • Takashi Iwai
     
  • Takashi Iwai
     
  • Increase the default and maximum PCM buffer prellocation size for ice1724's
    SPDIF and independent stereo pair outputs to 256K, which is the hardware's
    maximum supported size. This allows a reduction in interrupt rate and
    potentially power usage when an application is not latency-critical.

    Signed-off-by: Robert Hancock
    Signed-off-by: Takashi Iwai

    Robert Hancock
     
  • Fix following circular locking in the opl3 driver.

    =======================================================
    [ INFO: possible circular locking dependency detected ]
    2.6.32-rc3 #87
    -------------------------------------------------------
    swapper/0 is trying to acquire lock:
    (&opl3->voice_lock){..-...}, at: [] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]

    but task is already holding lock:
    (&opl3->sys_timer_lock){..-...}, at: [] snd_opl3_timer_func+0x19/0xc0 [snd_opl3_synth]

    which lock already depends on the new lock.

    the existing dependency chain (in reverse order) is:

    -> #1 (&opl3->sys_timer_lock){..-...}:
    [] validate_chain+0xa25/0x1040
    [] __lock_acquire+0x2da/0xab0
    [] lock_acquire+0x7a/0xa0
    [] _spin_lock_irqsave+0x40/0x60
    [] snd_opl3_note_on+0x686/0x790 [snd_opl3_synth]
    [] snd_midi_process_event+0x322/0x590 [snd_seq_midi_emul]
    [] snd_opl3_synth_event_input+0x15/0x20 [snd_opl3_synth]
    [] snd_seq_deliver_single_event+0x100/0x200 [snd_seq]
    [] snd_seq_deliver_event+0x47/0x1f0 [snd_seq]
    [] snd_seq_dispatch_event+0x3b/0x140 [snd_seq]
    [] snd_seq_check_queue+0x10c/0x120 [snd_seq]
    [] snd_seq_enqueue_event+0x6b/0xe0 [snd_seq]
    [] snd_seq_client_enqueue_event+0xdd/0x100 [snd_seq]
    [] snd_seq_write+0xea/0x190 [snd_seq]
    [] vfs_write+0x96/0x160
    [] sys_write+0x3d/0x70
    [] syscall_call+0x7/0xb

    -> #0 (&opl3->voice_lock){..-...}:
    [] validate_chain+0x1036/0x1040
    [] __lock_acquire+0x2da/0xab0
    [] lock_acquire+0x7a/0xa0
    [] _spin_lock_irqsave+0x40/0x60
    [] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
    [] snd_opl3_timer_func+0xa0/0xc0 [snd_opl3_synth]
    [] run_timer_softirq+0x166/0x1e0
    [] __do_softirq+0x78/0x110
    [] do_softirq+0x46/0x50
    [] irq_exit+0x36/0x40
    [] do_IRQ+0x42/0xb0
    [] common_interrupt+0x2e/0x40
    [] apm_cpu_idle+0x10f/0x290
    [] cpu_idle+0x21/0x40
    [] rest_init+0x4d/0x60
    [] start_kernel+0x235/0x280
    [] i386_start_kernel+0x66/0x70

    other info that might help us debug this:

    2 locks held by swapper/0:
    #0: (&opl3->tlist){+.-...}, at: [] run_timer_softirq+0xf0/0x1e0
    #1: (&opl3->sys_timer_lock){..-...}, at: [] snd_opl3_timer_func+0x19/0xc0 [snd_opl3_synth]

    stack backtrace:
    Pid: 0, comm: swapper Not tainted 2.6.32-rc3 #87
    Call Trace:
    [] print_circular_bug+0xc8/0xd0
    [] validate_chain+0x1036/0x1040
    [] ? check_usage_forwards+0x54/0xd0
    [] __lock_acquire+0x2da/0xab0
    [] lock_acquire+0x7a/0xa0
    [] ? snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
    [] _spin_lock_irqsave+0x40/0x60
    [] ? snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
    [] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
    [] ? _spin_lock_irqsave+0x47/0x60
    [] snd_opl3_timer_func+0xa0/0xc0 [snd_opl3_synth]
    [] run_timer_softirq+0x166/0x1e0
    [] ? run_timer_softirq+0xf0/0x1e0
    [] ? snd_opl3_timer_func+0x0/0xc0 [snd_opl3_synth]
    [] __do_softirq+0x78/0x110
    [] ? _spin_unlock+0x1d/0x20
    [] ? handle_level_irq+0xaf/0xe0
    [] do_softirq+0x46/0x50
    [] irq_exit+0x36/0x40
    [] do_IRQ+0x42/0xb0
    [] ? trace_hardirqs_on_caller+0x12c/0x180
    [] common_interrupt+0x2e/0x40
    [] ? default_idle+0x38/0x50
    [] apm_cpu_idle+0x10f/0x290
    [] cpu_idle+0x21/0x40
    [] rest_init+0x4d/0x60
    [] start_kernel+0x235/0x280
    [] ? unknown_bootoption+0x0/0x210
    [] i386_start_kernel+0x66/0x70

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai

    Krzysztof Helt