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