openvortex-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openvortex-dev] Re: [Alsa-devel] au8830+via & alsa 0.9.7c


From: Wilfried Weissmann
Subject: Re: [Openvortex-dev] Re: [Alsa-devel] au8830+via & alsa 0.9.7c
Date: Thu, 04 Dec 2003 22:06:52 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020623 Debian/1.0.0-0.woody.1

Manuel Jander wrote:
Hallo Wilfried,

If you change the maximal fragment count to 4, instead of "no limit"
setting 0x7fff, then it works.

that is, change:

   int arg = 0x7FFF000B;

into:
   int arg = 0x0004000B;

it only works if you use exactly 4x "soundplay(BUFFERSIZE(beep), beep)". and i think the reason is that the dma engine needs to be setup after resuming. like putting a vortex_adbdma_setbuffers() in snd_vortex_pcm_trigger(). however the starting offset is not 0 but wherever the playback stopped. so far i have simply put in the SNDDRV_PCM_TRIGGER_START branch of the vortex trigger callback the following 2 lines:

vortex_adbdma_setstartbuffer(chip, dma,
            (((vortex_t *) chip)->dma_adb[dma].period_real+1)&3);

then i could hear the "silence" and the "beep" sound from the example code. but ofcourse only the first period of the sample.

if i have some spare time then i will investigate this problem further next week.


Any fragment count value larger than 4 causes trouble. THe aureal vortex
has a 4 hardware Scatter Gather table (used in a linear buffer fashion),
which is extended to upto 64 virtual pages.

If i discover something else, i let you now.

Best Regards

Manuel

Greetings,
Wilfried





reply via email to

[Prev in Thread] Current Thread [Next in Thread]