Re: via82xx driver: reporting dxs_support experience

From: Sergey Vlasov (vsu_at_altlinux.ru)
Date: 04/17/05

  • Next message: Eric Van Hensbergen: "Re: [RFC] FUSE permission modell (Was: fuse review bits)"
    Date:	Sun, 17 Apr 2005 21:53:11 +0400
    To: TJ <systemloc@earthlink.net>
    
    
    

    On Sun, 17 Apr 2005 12:53:24 -0400 TJ wrote:

    > I was using the 2.6.7 kernel without APIC or ACPI support, and the via82xx
    > driver worked perfectly, compiled as a module, without any options. I built a
    > new 2.6.7 kernel on the same hardware with APIC and ACPI support in the
    > kernel, as the board supports it, and the driver did not work correctly.

    2.6.7 is pretty old; there were many bugfixes in both ACPI and sound
    drivers since that time.

    > When sound was played, a short, 1 second long bit of the sound to be
    > played was looped. Possibly this is the clicking noise described by
    > some people?

    Does not look like it. The most common cause of looping sound are
    interrupt problems, and unfortunately ACPI (especially when coupled
    with APIC support) often triggers them (sometimes because of bugs in
    the kernel ACPI support, sometimes because a buggy BIOS supplies
    broken data).

    If interrupts are not working, usually this happens:

    - The driver sets up a circular buffer which contains the first
      portion of sound samples to be played, and starts the playback
      hardware.

    - The sound card reads the samples from the buffer; when it reaches
      some point in the buffer, it sends the interrupt signal, notifying
      the driver about it.

    - Normally, when the driver handles the interrupt, it will place more
      sound data in the circular buffer (or, in the mmap mode, it will
      notify the application, which will write to the buffer directly).
      However, if interrupts are not working, the driver will never get
      such notification, and the same portion of sound samples will stay
      in the buffer forever. The sound card does not know that the buffer
      was not updated and will play that piece of sound forever.

    Another symptom of not working interrupts is that aplay just hangs
    forever (aplay -vv should draw a histogram of played data).

    > The driver works fine with this new kernel after adding the option
    > "dxs_support=1".

    This is very strange - the dxs_support option should not cause such
    changes. Usually the problem caused by a wrong dxs_support value is
    that sound is basically there, but distorted.

    Also, seems that dxs_support=1 should not work at all (at least in
    theory). dxs_support=4 seems to be more correct; latest code in ALSA
    CVS supports dxs_support=5, which uses more capabilities of the
    hardware (apparently the VIA VT8233/5/7 chips are able to perform
    sample rate conversion from arbitrary rates to 48000 Hz with 4
    independent channels).

    > I hope this interaction with ACPI and APIC sheds some light on some
    > of the troubles with this driver.

    Most likely you have some trouble with ACPI (either with the buggy
    implementation in 2.6.7, or with the buggy BIOS, or maybe both).

    > I can provide more information if
    > anyone wants it. Please CC me, I'm not on the list.
    >
    > TJ
    >
    > Motherboard: MSI K7T266 Pro2
    >
    > 00:11.5 Class 0401: 1106:3059 (rev 10)

    Hmm, seems to be some old chip revision:

    #define VIA_REV_PRE_8233 0x10 /* not in market */

    > Subsystem: 4005:4710

    Not in the known devices list of snd-via82xx (this list contains
    working values of the dxs_support option for known boards). But you
    should report it to ALSA developers (e.g., in their bug tracking
    system, https://bugtrack.alsa-project.org/alsa-bug/ ) - your message
    to LKML will likely be lost.

    > Flags: medium devsel, IRQ 28
    > I/O ports at bc00 [size=256]
    > Capabilities: [c0] Power Management version 2

    
    

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/



  • Next message: Eric Van Hensbergen: "Re: [RFC] FUSE permission modell (Was: fuse review bits)"

    Relevant Pages

    • Re: [PATCH] asus_atk0110: add support for Asus P7P55D
      ... Change the driver to use dynamic buffers (allocated by ACPI core); ... so the number of memory allocations is very low. ... It contains the previous changes to handle the bigger ASBF buffer plus a new ...
      (Linux-Kernel)
    • Re: 2.6.24-rc7, intel audio: alsa doesnt say a beep
      ... On Saturday 12 January 2008 04:41:21 Harald Dunkel wrote: ... Sorry, no sound. ... ACPI: ... resources than the new PNP platform driver can handle, ...
      (Linux-Kernel)
    • Stack dump caused by SB !Live driver? or ACPI?
      ... Everyonce and a while my computer will reboot. ... my acpi driver and there is a hotfix for it. ... offending driver is my sound blaster driver. ... IRQ for ACPI is on 9??? ...
      (microsoft.public.windowsxp.device_driver.dev)
    • Re: Tips for diagnosing sound lag problem
      ... caused by driver not filling the audio chip's buffer in time, and sound like pops and clicks. ... If you're getting pauses after which the music resumes from where it left off, that sounds more like a hardware timing issue. ... It almost sounds as if the sound goes into "slow motion", with some noise/interference on top, for a few seconds. ... It seems a bit disturbing that a machine as stupidly fast as this one might not be able to fill a sound card buffer from a CD just because of the minor peripherals. ...
      (uk.comp.homebuilt)
    • Re: 2.6.19 and up to 2.6.20-rc2 Ethernet problems x86_64
      ... If the system fails in ACPI mode, but works in non-ACPI mode, ... Using ACPI for SMP configuration information ... Using IOAPIC for interrupt routing ... Non-volatile memory driver v1.2 ...
      (Linux-Kernel)

    Loading