mouse movement/disk access improves broken CX20561 (hdaudio)

OSS specific Linux discussion (x86/amd64)

Moderators: hannu, dev, kodachi, cesium

mouse movement/disk access improves broken CX20561 (hdaudio)

Postby Tsotsi » Thu Sep 17, 2009 8:39 pm

Intel Atom CPU + MCP7a ION + Connextant CX20561 (hdaudio)

With VMIX audio output seems like it is being played very slowly, more of a variable
frequency buzzing with clicks, with VMIX disabled through ossmix, the audio
is played at almost the correct speed but has replay echoes and crackling.

Moving the mouse, or accessing the disk (find, ls, etc) pretty much corrects
the audio speed, removes the replay echoes, leaving some clicks. The audio
output then reverts to above broken modes when mouse movement/disk access stops.

ossplay'ing the same audio test song generates the same number of interrupts
regardless of whether running in broken mode or almost correct, with find(1)
accessing the disk.

Adjusting vmix0-src, vmix0-channels, max_intrate, src_quality and dma_buffsize
doesn't appear to make any difference.

Neither does changing kernel clocksource and noapic, etc.

Any ideas anyone ?

thanks.


ossinfo -v3:

Code: Select all
Version info: OSS 4.2 (b 2000/200909171030) (0x00040100) OSS_HG
Platform: Linux/i686 2.6.26-2-686 #1 SMP Sun Jun 21 04:57:38 UTC 2009 (debian-5.0)

Number of audio devices:        4
Number of audio engines:        8
Number of MIDI devices:         0
Number of mixer devices:        1


Device objects
0: osscore0 OSS core services
1: oss_hdaudio0 nVidia HD Audio interrupts=31503 (36026)
    HD Audio controller nVidia HD Audio
    Vendor ID    0x10de0ac0
    Subvendor ID 0x10decb84
     Codec  0: Unknown (0x14f15051/0x18951114)
2: oss_usb0 USB audio core services

MIDI devices (/dev/midi*)

Mixer devices
0: High Definition Audio 0x14f1505 (Mixer 0 of device object 1)
    Device file /dev/oss/oss_hdaudio0/mix0, Legacy device /dev/mixer0
    Priority: 10
    Caps:
    Device handle: PCIcb8410de-0000:00:08.0-mx01
    Device priority: 10


Audio devices
HD Audio play pcm1                /dev/oss/oss_hdaudio0/pcm0  (device index 0)
    Legacy device /dev/dsp0
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      Out engine  1: 0/HD Audio play pcm1
                     Busy (OUT) label 'VMIX'
      Engine      2: 4/HD Audio play pcm1 (vmix)
                     Busy (OUT) by PID 3413 / ossplay songname 'test_tune.wav' label 'ossplay'
      Engine      3: 5/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      4: 6/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      5: 7/HD Audio play pcm1 (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCIcb8410de-0000:00:08.0-au01
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 8
    Native sample rates (min - max): 44100 - 192000 (44100,48000,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play pcm2                /dev/oss/oss_hdaudio0/pcm1  (device index 1)
    Legacy device /dev/dsp1
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 1/HD Audio play pcm2
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCIcb8410de-0000:00:08.0-au02
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play spdifout            /dev/oss/oss_hdaudio0/spdout0  (device index 2)
    Legacy device /dev/dsp2
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 2/HD Audio play spdifout
                     Available for use
    Input formats (0x00001410):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_AC3          - AC3 (Dolby Digital) encoded audio
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001410):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_AC3          - AC3 (Dolby Digital) encoded audio
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCIcb8410de-0000:00:08.0-au03
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 96000 (44100,48000,96000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio rec fp-mic               /dev/oss/oss_hdaudio0/pcmin0  (device index 3)
    Legacy device /dev/dsp3
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      In engine   1: 3/HD Audio rec fp-mic
                     Busy (IN) label 'VMIX_IN'
      Engine      2: 4/HD Audio play pcm1 (vmix)
                     Busy (OUT) by PID 3413 / ossplay songname 'test_tune.wav' label 'ossplay'
      Engine      3: 5/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      4: 6/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      5: 7/HD Audio play pcm1 (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCIcb8410de-0000:00:08.0-au04
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 96000 (44100,48000,96000)
    HW Type: Not indicated.
    Minimum latency: Not indicated


Nodes
  /dev/dsp -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_in -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_out -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_ac3 -> /dev/oss/oss_hdaudio0/spdout0
  /dev/dsp_mmap -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_multich -> /dev/oss/oss_hdaudio0/pcm0


ossmix

Code: Select all
Selected mixer 0/High Definition Audio 0x14f15051
Known controls are:
jack.fp-green.mode <pcm1|pcm2> (currently pcm1)
jack.fp-pink [<leftvol>:<rightvol>] (currently 39.9:39.9 dB)
record.fp-mic [<leftvol>:<rightvol>] (currently 64.9:64.9 dB)
misc.pcm1 [<leftvol>:<rightvol>] (currently 59.9:59.9 dB)
misc.pcm2 [<leftvol>:<rightvol>] (currently 59.9:59.9 dB)
misc <-28.-8dB|-19.-2dB|-9.-6dB|0.0dB> (currently -9.-6dB)
vmix0-enable ON|OFF (currently ON)
vmix0-rate <decimal value> (currently 48000) (Read-only)
vmix0-channels <Stereo|Multich> (currently Stereo)
vmix0-src <Fast|High|OFF> (currently Fast)
vmix0-outvol <monovol> (currently 25.0 dB)
vmix0-invol <monovol> (currently 25.0 dB)
vmix0.pcm4 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB) ("ossplay")
vmix0.pcm5 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm6 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm7 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)


/proc/interrupts:

Code: Select all
           CPU0       CPU1       
  0:         65          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  7:          1          0   IO-APIC-edge   
  8:          5          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
12:          4          0   IO-APIC-edge      i8042
20:       7460          0   IO-APIC-fasteoi   ohci_hcd:usb2
21:       1502          0   IO-APIC-fasteoi   ohci_hcd:usb1
22:          2          0   IO-APIC-fasteoi   ehci_hcd:usb4
23:      39645          0   IO-APIC-fasteoi   ehci_hcd:usb3, oss_hdaudio0
221:       7454          0   PCI-MSI-edge      ahci
NMI:          0          0   Non-maskable interrupts
LOC:     432134     432111   Local timer interrupts
RES:        970       1086   Rescheduling interrupts
CAL:        120        299   function call interrupts
TLB:        214        519   TLB shootdowns
TRM:          0          0   Thermal event interrupts
SPU:          0          0   Spurious interrupts
ERR:          1
MIS:          0
Tsotsi
 
Posts: 2
Joined: Fri Jul 06, 2007 4:34 pm
Location: UK

Re: mouse movement/disk access improves broken CX20561 (hdaudio)

Postby Tsotsi » Fri Sep 25, 2009 9:07 am

This problem turned out to be caused be a data coherency problem with the Nvidia HDA controller, the fix has been committed to mercurial head, here's a link to the commit message.

http://mercurial.opensound.com/?rev/2186d1f49c76
Tsotsi
 
Posts: 2
Joined: Fri Jul 06, 2007 4:34 pm
Location: UK


Return to Linux

Who is online

Users browsing this forum: Bing [Bot], Yahoo [Bot] and 1 guest