At Sun, 17 Feb 2002 10:29:20 +0100 (CET), Jaroslav wrote: > > On Sat, 16 Feb 2002, [iso-8859-1] Chris Rankin wrote: > > > Hi, > > > > I saw from the CVS ChangeLog that ALSA is moving away > > from the deprecated virt_to_bus() to the new > > pci_allocate_consistent() system calls. Unfortunately, > > this is causing problems for my ISA DMA sound driver > > (CS4231 / MPU401 based). I have currently "fixed" > > things by #undef-ing the ISA_USE_PCI_ALLOC in > > core/pcm_memory.c. Once I do this, I get sound out of > > my speakers again. > > > > My soundcard also needs a DMA-able buffer so that it > > can upload its firmware. Previously, I used > > snd_malloc_pages(), and I tried changing this to > > snd_malloc_isa_pages(). However, you don't export this > > function, and even when I cut-and-pasted it into the > > source file, the firmware wouldn't upload until I used > > the virt_to_bus()-based compatibility version. > > > > It would probably be a good idea to export the > > following functions: > > > > snd_malloc_pci_pages() > > snd_malloc_isa_pages() > > snd_free_pci_pages() > > snd_free_isa_pages() > > > > Does anyone have any idea why > > pci_allocate_consistent() isn't working here, please? > > Using pci_allocate_consistent() for ISA DMA allocation routines is > definitely a bad idea. I added snd_malloc_isa_pages() code as you > suggested to snd.o (it seems that it's good to abstract such bus specific > allocation routines).
I don't think it's so bad to use pci_allocate_consistent(). It gives the only generic way to get DMA buffer allocation over all architectures without virt_to_bus. If it doesn't work well, it should be a bug of this function.. Anyway, yes, it would be better to use a generic function until the kernel function is fixed. Thanks. BTW, use of GFP_KERNEL for a large DMA buffer is safe on 2.4 too? For PCI buffers, when a module tries to allocate large memory areas with GFP_KERNEL, it stays blocking (and waiting for the enough space) and even more badly it cannot be killed. Takashi _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel