10 Sep, 2009

24 commits


09 Sep, 2009

2 commits

  • This patch fixes the following bugs:

    - only reprogram bitdepth if it has changed since last call to hw_params.
    - add locking inside ac97_read/write functions:
    When reprogramming sample depth, the ac97 unit has to be disabled,
    which should not be done in the middle of codec register accesses.

    - retry timed-out codec register accesses.

    - wait for status bits to set/clear when starting/stopping various
    functional blocks; very important after reenabling AC97 unit else
    sound may be distorted (e.g. high-pitch noise in 1kHz sine wave).

    - clear fifos before/after starting/stopping RX/TX.

    - longer timeouts waiting for PSC/AC97 ready after cold reset
    with certain codecs this can take ridiculous amounts of time.

    Run-tested on various Au1200 platforms with various codecs.

    Signed-off-by: Manuel Lauss
    Signed-off-by: Mark Brown

    Manuel Lauss
     
  • Increase the limit of PCM substreams to 128. The default value is
    unchanged; only the max accept value is increased.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

08 Sep, 2009

6 commits


07 Sep, 2009

4 commits

  • The struct snd_monitor_file is used locally only in sound/core/init.c,
    thus it should be moved there from the public sound/core.h.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When the volume is changed continuously (e.g., when the user drags a
    volume slider with the mouse), the driver does lots of I2C writes.
    Apparently, the sound chip can get confused when we poll the I2C status
    register too much, and fails to complete a read from it. On the PCI-E
    models, the PCI-E/PCI bridge gets upset by this and generates a machine
    check exception.

    To avoid this, this patch replaces the polling with an unconditional
    wait that is guaranteed to be long enough.

    Signed-off-by: Clemens Ladisch
    Tested-by: Johann Messner
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Instead of allocating the real buffers, use a fake buffer and ignore
    read/write in the dummy driver so that we can save the resources.
    For mmap, a single page (unique to the direction, though) is reused
    to all buffers.

    When the app requires to read/write the real buffers, pass fake_buffer=0
    module option at loading time. This will get back to the old behavior.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The model clevo-m540r was created with 6-channel and digital support. All
    functions verified except spdif. Tested with a VIT D2000 laptop which has:

    [lspci extract]
    Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio
    Controller [8086:284b] (rev 03)
    Subsystem: CLEVO/KAPOK Computer Device [1558:5409]

    [/proc/asound/card0/codec\#0 header]
    Codec: Realtek ALC883
    Address: 0
    Function Id: 0x1
    Vendor Id: 0x10ec0883
    Subsystem Id: 0x15585409
    Revision Id: 0x100002

    [Added a comment about HP mute and the model description by tiwai]

    Signed-off-by: Dhionel Diaz
    Signed-off-by: Takashi Iwai

    ddiaz@cenditel.gob.ve
     

06 Sep, 2009

1 commit


05 Sep, 2009

1 commit

  • Today's linux-next fails to build with

    sound/arm/pxa2xx-ac97.c: In function 'pxa2xx_ac97_probe':
    sound/arm/pxa2xx-ac97.c:211: error: 'pxa2xx_audio_ops_t' has no member named 'codec_data'
    make[2]: *** [sound/arm/pxa2xx-ac97.o] Error 1

    It looks like commit e2365bf313fb21b49b1e4c911033389564428d03 has
    introduced this; patch below.

    Signed-off-by: Robert Schwebel
    Signed-off-by: Mark Brown

    Robert Schwebel
     

04 Sep, 2009

1 commit


03 Sep, 2009

1 commit

  • In the system-timer mode, snd-dummy driver issues each tick to update
    the position. This is highly inefficient and even inaccurate if the
    timer can't be triggered at each tick.

    Now rewritten to wake up only at the period boundary. The position
    is calculated from the current jiffies.

    Signed-off-by: Takashi Iwai

    Takashi Iwai