Update of /cvsroot/alsa/alsa-kernel/pci/emu10k1 In directory sc8-pr-cvs1:/tmp/cvs-serv10582/pci/emu10k1
Modified Files: emu10k1_main.c memory.c Log Message: Cleanups in the PCI DMA masks. Index: emu10k1_main.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emu10k1_main.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- emu10k1_main.c 20 Jan 2003 15:08:29 -0000 1.20 +++ emu10k1_main.c 10 Mar 2003 12:54:47 -0000 1.21 @@ -581,22 +581,16 @@ /* enable PCI device */ if ((err = pci_enable_device(pci)) < 0) return err; - /* set the DMA transfer mask */ - if (is_audigy) { - if (pci_set_dma_mask(pci, 0xffffffff) < 0) { - snd_printk(KERN_ERR "architecture does not support 32bit PCI busmaster DMA\n"); - return -ENXIO; - } - } else { - if (pci_set_dma_mask(pci, 0x1fffffff) < 0) { - snd_printk(KERN_ERR "architecture does not support 29bit PCI busmaster DMA\n"); - return -ENXIO; - } - } emu = snd_magic_kcalloc(emu10k1_t, 0, GFP_KERNEL); if (emu == NULL) return -ENOMEM; + /* set the DMA transfer mask */ + emu->dma_mask = is_audigy ? AUDIGY_DMA_MASK : EMU10K1_DMA_MASK; + if (pci_set_dma_mask(pci, emu->dma_mask) < 0) { + snd_printk(KERN_ERR "architecture does not support PCI busmaster DMA with mask 0x%lx\n", emu->dma_mask); + return -ENXIO; + } emu->card = card; spin_lock_init(&emu->reg_lock); spin_lock_init(&emu->emu_lock); Index: memory.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/memory.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- memory.c 9 Mar 2003 23:59:10 -0000 1.12 +++ memory.c 10 Mar 2003 12:54:47 -0000 1.13 @@ -228,10 +228,10 @@ /* * check if the given pointer is valid for pages */ -static int is_valid_page(dma_addr_t addr) +static int is_valid_page(emu10k1_t *emu, dma_addr_t addr) { - if (addr & ~0x7fffffffUL) { - snd_printk("max memory size is 2GB (addr = 0x%lx)!!\n", (unsigned long)addr); + if (addr & ~emu->dma_mask) { + snd_printk("max memory size is 0x%lx (addr = 0x%lx)!!\n", emu->dma_mask, (unsigned long)addr); return 0; } if (addr & (EMUPAGESIZE-1)) { @@ -323,7 +323,7 @@ } #endif addr = sgbuf->table[idx].addr; - if (! is_valid_page(addr)) { + if (! is_valid_page(emu, addr)) { printk(KERN_ERR "emu: failure page = %d\n", idx); up(&hdr->block_mutex); return NULL; @@ -446,7 +446,7 @@ ptr = snd_malloc_pci_page(emu->pci, &addr); if (ptr == NULL) goto __fail; - if (! is_valid_page(addr)) { + if (! is_valid_page(emu, addr)) { snd_free_pci_page(emu->pci, ptr, addr); goto __fail; } ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog