Update of /cvsroot/alsa/alsa-kernel/core In directory sc8-pr-cvs1:/tmp/cvs-serv27284
Modified Files: memalloc.c Log Message: - enabled the pre-allocation of hammerfall buffers. - shows the contents of buffer list via proc file. Index: memalloc.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/core/memalloc.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- memalloc.c 6 Jun 2003 11:54:27 -0000 1.12 +++ memalloc.c 18 Jun 2003 13:46:08 -0000 1.13 @@ -37,18 +37,12 @@ MODULE_LICENSE("GPL"); -/* so far, pre-defined allocation is only for hammerfall cards... */ -/* #define ENABLE_PREALLOC */ - - -#ifdef ENABLE_PREALLOC #ifndef SNDRV_CARDS #define SNDRV_CARDS 8 #endif static int enable[8] = {[0 ... (SNDRV_CARDS-1)] = 1}; MODULE_PARM(enable, "1-" __MODULE_STRING(SNDRV_CARDS) "i"); MODULE_PARM_DESC(enable, "Enable cards to allocate buffers."); -#endif /* @@ -154,6 +148,7 @@ return a->dev.flags == b->dev.flags; #ifdef CONFIG_PCI case SNDRV_DMA_TYPE_PCI: + case SNDRV_DMA_TYPE_PCI_SG: return a->dev.pci == b->dev.pci; #endif #ifdef CONFIG_SBUS @@ -336,7 +331,7 @@ * and replaced with the new one. * * When NULL buffer pointer or zero buffer size is given, the existing - * release buffer is released and the entry is removed. + * buffer is released and the entry is removed. * * Returns zero if successful, or a negative code at error. */ @@ -785,7 +780,6 @@ #endif /* CONFIG_SBUS */ -#ifdef ENABLE_PREALLOC /* * allocation of buffers for pre-defined devices */ @@ -861,7 +855,6 @@ } } } -#endif #ifdef CONFIG_PROC_FS @@ -873,9 +866,56 @@ { int len = 0; long pages = snd_allocated_pages >> (PAGE_SHIFT-12); + struct list_head *p; + struct snd_mem_list *mem; + int devno; + down(&list_mutex); len += sprintf(page + len, "pages : %li bytes (%li pages per %likB)\n", pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); + devno = 0; + list_for_each(p, &mem_list_head) { + mem = list_entry(p, struct snd_mem_list, list); + devno++; + len += sprintf(page + len, "buffer %d : ", devno); + if (mem->dev.id == SNDRV_DMA_DEVICE_UNUSED) + len += sprintf(page + len, "UNUSED"); + else + len += sprintf(page + len, "ID %08x", mem->dev.id); + len += sprintf(page + len, " : type "); + switch (mem->dev.type) { + case SNDRV_DMA_TYPE_CONTINUOUS: + len += sprintf(page + len, "CONT [%x]", mem->dev.dev.flags); + break; +#ifdef CONFIG_PCI + case SNDRV_DMA_TYPE_PCI: + case SNDRV_DMA_TYPE_PCI_SG: + if (mem->dev.dev.pci) { + len += sprintf(page + len, "PCI [%04x:%04x]", + mem->dev.dev.pci->vendor, + mem->dev.dev.pci->device); + } + break; +#endif +#ifdef CONFIG_ISA + case SNDRV_DMA_TYPE_ISA: + len += sprintf(page + len, "ISA [%x]", mem->dev.dev.flags); + break; +#endif +#ifdef CONFIG_SBUS + case SNDRV_DMA_TYPE_SBUS: + len += sprintf(page + len, "SBUS [%x]", mem->dev.dev.sbus->slot); + break; +#endif + default: + len += sprintf(page + len, "UNKNOWN"); + break; + } + len += sprintf(page + len, "\n addr = 0x%lx, size = %d bytes, used = %s\n", + (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes, + mem->used ? "yes" : "no"); + } + up(&list_mutex); return len; } #endif /* CONFIG_PROC_FS */ @@ -887,9 +927,7 @@ static int __init snd_mem_init(void) { create_proc_read_entry("driver/snd-page-alloc", 0, 0, snd_mem_proc_read, NULL); -#ifdef ENABLE_PREALLOC preallocate_cards(); -#endif return 0; } ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog