On Fri, 10 Oct 2003, Takashi Iwai wrote:

> At Fri, 10 Oct 2003 11:03:36 +0200 (CEST),
> [EMAIL PROTECTED] wrote:
> >
> > Hello,
> >
> >
> > the hdsp-madi card with the hdspm driver seems to work now.
> > so I want do a clean out of the code:
> >
> > I asking how should I do this:
> >
> > > > at least I have to allocate one page more = 4194304+4096, to get no
> > > > Segmentation fault, but that could be the hardware too, since hdsp
> > > > also needs one page more ?
> > >
> > > the SG-buffer allocation size is aligned (round up) to PAGE_SIZE.
> > > (note that PAGE_SIZE is not always 4K byte on other architectures.)
> > >
> >
> > Ok on my i386 architecture I have 4k pages and
> > the rme card needs  4k buffers.
> >
> > So how to code this that it works on all architectures getting
> > a SG Buf with 4k buffers.
> >
> > Do I have to do something by doing preallocation ?
>
> on linux, the least page size is 4K byte (so far, all architectures
> are so).  thus, simply do a loop like

Nope. Old alpha arch has 8K pages.

>       offset = 0; /* bytes */
>       while (offset < total_size) {
>               dma_addr_t addr = snd_sgbuf_get_addr(sgbuf, offset);
>               map_this_addr_to_my_hw_table(addr);
>               offset += 4096; /* 4k */

I suggest to use PAGE_SIZE define here.

>       }

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to