Update of /cvsroot/alsa/alsa-kernel/pci/rme9652 In directory sc8-pr-cvs1:/tmp/cvs-serv22597
Modified Files: Makefile hdsp.c rme9652.c Removed Files: hammerfall_mem.c Log Message: - rewritten the buffer allocation to use the standard ALSA buffer allocator. snd-hammerfall-mem is replaced with snd-page-alloc and dropped. Index: Makefile =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/rme9652/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makefile 9 Feb 2003 18:41:57 -0000 1.7 +++ Makefile 3 Jul 2003 11:31:21 -0000 1.8 @@ -3,10 +3,9 @@ # Copyright (c) 2001 by Jaroslav Kysela <[EMAIL PROTECTED]> # -snd-hammerfall-mem-objs := hammerfall_mem.o snd-rme9652-objs := rme9652.o snd-hdsp-objs := hdsp.o # Toplevel Module Dependency -obj-$(CONFIG_SND_RME9652) += snd-rme9652.o snd-hammerfall-mem.o -obj-$(CONFIG_SND_HDSP) += snd-hdsp.o snd-hammerfall-mem.o +obj-$(CONFIG_SND_RME9652) += snd-rme9652.o +obj-$(CONFIG_SND_HDSP) += snd-hdsp.o Index: hdsp.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/rme9652/hdsp.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- hdsp.c 1 Jul 2003 15:48:40 -0000 1.38 +++ hdsp.c 3 Jul 2003 11:31:21 -0000 1.39 @@ -438,8 +438,39 @@ #define HDSP_PREALLOCATE_MEMORY /* via module snd-hdsp_mem */ #ifdef HDSP_PREALLOCATE_MEMORY -extern void *snd_hammerfall_get_buffer(struct pci_dev *, dma_addr_t *dmaaddr); -extern void snd_hammerfall_free_buffer(struct pci_dev *, void *ptr); +static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +{ + struct snd_dma_device pdev; + struct snd_dma_buffer dmbuf; + + snd_dma_device_pci(&pdev, pci, capture); + dmbuf.bytes = 0; + if (! snd_dma_get_reserved(&pdev, &dmbuf)) { + if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) + return NULL; + snd_dma_set_reserved(&pdev, &dmbuf); + } + *addrp = dmbuf.addr; + return dmbuf.area; +} + +static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +{ + struct snd_dma_device dev; + snd_dma_device_pci(&dev, pci, capture); + snd_dma_free_reserved(&dev); +} + +#else +static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +{ + return snd_malloc_pci_pages(pci, size, addrp); +} + +static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +{ + snd_free_pci_pages(pci, size, ptr, addr); +} #endif static struct pci_device_id snd_hdsp_ids[] __devinitdata = { @@ -2968,25 +2999,15 @@ static void snd_hdsp_free_buffers(hdsp_t *hdsp) { if (hdsp->capture_buffer_unaligned) { -#ifndef HDSP_PREALLOCATE_MEMORY - snd_free_pci_pages(hdsp->pci, - HDSP_DMA_AREA_BYTES, - hdsp->capture_buffer_unaligned, - hdsp->capture_buffer_addr); -#else - snd_hammerfall_free_buffer(hdsp->pci, hdsp->capture_buffer_unaligned); -#endif + snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, + hdsp->capture_buffer_unaligned, + hdsp->capture_buffer_addr, 1); } if (hdsp->playback_buffer_unaligned) { -#ifndef HDSP_PREALLOCATE_MEMORY - snd_free_pci_pages(hdsp->pci, - HDSP_DMA_AREA_BYTES, - hdsp->playback_buffer_unaligned, - hdsp->playback_buffer_addr); -#else - snd_hammerfall_free_buffer(hdsp->pci, hdsp->playback_buffer_unaligned); -#endif + snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, + hdsp->playback_buffer_unaligned, + hdsp->playback_buffer_addr, 0); } } @@ -2996,28 +3017,15 @@ dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; -#ifndef HDSP_PREALLOCATE_MEMORY - cb = snd_malloc_pci_pages(hdsp->pci, HDSP_DMA_AREA_BYTES, &cb_addr); - pb = snd_malloc_pci_pages(hdsp->pci, HDSP_DMA_AREA_BYTES, &pb_addr); -#else - cb = snd_hammerfall_get_buffer(hdsp->pci, &cb_addr); - pb = snd_hammerfall_get_buffer(hdsp->pci, &pb_addr); -#endif + cb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &cb_addr, 1); + pb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &pb_addr, 0); if (cb == 0 || pb == 0) { if (cb) { -#ifdef HDSP_PREALLOCATE_MEMORY - snd_hammerfall_free_buffer(hdsp->pci, cb); -#else - snd_free_pci_pages(hdsp->pci, HDSP_DMA_AREA_BYTES, cb, cb_addr); -#endif + snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, cb, cb_addr, 1); } if (pb) { -#ifdef HDSP_PREALLOCATE_MEMORY - snd_hammerfall_free_buffer(hdsp->pci, pb); -#else - snd_free_pci_pages(hdsp->pci, HDSP_DMA_AREA_BYTES, pb, pb_addr); -#endif + snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, pb, pb_addr, 0); } printk(KERN_ERR "%s: no buffers available\n", hdsp->card_name); Index: rme9652.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/rme9652/rme9652.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- rme9652.c 30 Apr 2003 11:53:25 -0000 1.34 +++ rme9652.c 3 Jul 2003 11:31:21 -0000 1.35 @@ -309,10 +309,42 @@ #define RME9652_PREALLOCATE_MEMORY /* via module snd-hammerfall-mem */ #ifdef RME9652_PREALLOCATE_MEMORY -extern void *snd_hammerfall_get_buffer(struct pci_dev *, dma_addr_t *dmaaddr); -extern void snd_hammerfall_free_buffer(struct pci_dev *, void *ptr); +static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +{ + struct snd_dma_device pdev; + struct snd_dma_buffer dmbuf; + + snd_dma_device_pci(&pdev, pci, capture); + dmbuf.bytes = 0; + if (! snd_dma_get_reserved(&pdev, &dmbuf)) { + if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) + return NULL; + snd_dma_set_reserved(&pdev, &dmbuf); + } + *addrp = dmbuf.addr; + return dmbuf.area; +} + +static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +{ + struct snd_dma_device dev; + snd_dma_device_pci(&dev, pci, capture); + snd_dma_free_reserved(&dev); +} + +#else +static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +{ + return snd_malloc_pci_pages(pci, size, addrp); +} + +static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +{ + snd_free_pci_pages(pci, size, ptr, addr); +} #endif + static struct pci_device_id snd_rme9652_ids[] __devinitdata = { { .vendor = 0x10ee, @@ -1810,25 +1842,15 @@ static void snd_rme9652_free_buffers(rme9652_t *rme9652) { if (rme9652->capture_buffer_unaligned) { -#ifndef RME9652_PREALLOCATE_MEMORY - snd_free_pci_pages(rme9652->pci, - RME9652_DMA_AREA_BYTES, - rme9652->capture_buffer_unaligned, - rme9652->capture_buffer_addr); -#else - snd_hammerfall_free_buffer(rme9652->pci, rme9652->capture_buffer_unaligned); -#endif + snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, + rme9652->capture_buffer_unaligned, + rme9652->capture_buffer_addr, 1); } if (rme9652->playback_buffer_unaligned) { -#ifndef RME9652_PREALLOCATE_MEMORY - snd_free_pci_pages(rme9652->pci, - RME9652_DMA_AREA_BYTES, - rme9652->playback_buffer_unaligned, - rme9652->playback_buffer_addr); -#else - snd_hammerfall_free_buffer(rme9652->pci, rme9652->playback_buffer_unaligned); -#endif + snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, + rme9652->playback_buffer_unaligned, + rme9652->playback_buffer_addr, 0); } } @@ -1855,28 +1877,15 @@ dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; -#ifndef RME9652_PREALLOCATE_MEMORY - cb = snd_malloc_pci_pages(rme9652->pci, RME9652_DMA_AREA_BYTES, &cb_addr); - pb = snd_malloc_pci_pages(rme9652->pci, RME9652_DMA_AREA_BYTES, &pb_addr); -#else - cb = snd_hammerfall_get_buffer(rme9652->pci, &cb_addr); - pb = snd_hammerfall_get_buffer(rme9652->pci, &pb_addr); -#endif + cb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &cb_addr, 1); + pb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &pb_addr, 0); if (cb == 0 || pb == 0) { if (cb) { -#ifdef RME9652_PREALLOCATE_MEMORY - snd_hammerfall_free_buffer(rme9652->pci, cb); -#else - snd_free_pci_pages(rme9652->pci, RME9652_DMA_AREA_BYTES, cb, cb_addr); -#endif + snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, cb, cb_addr, 1); } if (pb) { -#ifdef RME9652_PREALLOCATE_MEMORY - snd_hammerfall_free_buffer(rme9652->pci, pb); -#else - snd_free_pci_pages(rme9652->pci, RME9652_DMA_AREA_BYTES, pb, pb_addr); -#endif + snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, pb, pb_addr, 0); } printk(KERN_ERR "%s: no buffers available\n", rme9652->card_name); --- hammerfall_mem.c DELETED --- ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog