Update of /cvsroot/alsa/alsa-kernel/core In directory sc8-pr-cvs1:/tmp/cvs-serv6227/core
Modified Files: memalloc.c Log Message: - use pci_set_consistent_dma_mask(). Index: memalloc.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/core/memalloc.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- memalloc.c 9 Oct 2003 10:21:44 -0000 1.17 +++ memalloc.c 20 Nov 2003 13:22:19 -0000 1.18 @@ -95,25 +95,25 @@ { void *ret; u64 dma_mask; - unsigned long rmask; + unsigned long mask; if (hwdev == NULL) return pci_alloc_consistent(hwdev, size, dma_handle); - dma_mask = hwdev->dma_mask; - rmask = ~((unsigned long)dma_mask); - hwdev->dma_mask = 0xffffffff; /* do without masking */ + dma_mask = hwdev->consistent_dma_mask; + mask = (unsigned long)dma_mask; + hwdev->consistent_dma_mask = 0xffffffff; /* do without masking */ ret = pci_alloc_consistent(hwdev, size, dma_handle); - hwdev->dma_mask = dma_mask; /* restore */ + hwdev->consistent_dma_mask = dma_mask; /* restore */ if (ret) { /* obtained address is out of range? */ - if (((unsigned long)*dma_handle + size - 1) & rmask) { + if (((unsigned long)*dma_handle + size - 1) & ~mask) { /* reallocate with the proper mask */ pci_free_consistent(hwdev, size, ret, *dma_handle); ret = pci_alloc_consistent(hwdev, size, dma_handle); } } else { /* wish to success now with the proper mask... */ - if (dma_mask != 0xffffffff) + if (mask != 0xffffffffUL) ret = pci_alloc_consistent(hwdev, size, dma_handle); } return ret; @@ -640,13 +640,13 @@ { void *ptr; dma_addr_t addr; - unsigned long rmask; + unsigned long mask; - rmask = ~(unsigned long)(pci ? pci->dma_mask : 0x00ffffff); + mask = pci ? (unsigned long)pci->consistent_dma_mask : 0x00ffffffUL; ptr = (void *)__get_free_page(GFP_KERNEL); if (ptr) { addr = virt_to_phys(ptr); - if (((unsigned long)addr + PAGE_SIZE - 1) & rmask) { + if (((unsigned long)addr + PAGE_SIZE - 1) & ~mask) { /* try to reallocate with the GFP_DMA */ free_page((unsigned long)ptr); /* use GFP_ATOMIC for the DMA zone to avoid stall */ @@ -833,7 +833,7 @@ if (! enable[card++]) continue; - if (pci_set_dma_mask(pci, dev->dma_mask) < 0) { + if (pci_set_consistent_dma_mask(pci, dev->dma_mask) < 0) { printk(KERN_ERR "snd-page-alloc: cannot set DMA mask %lx for pci %04x:%04x\n", dev->dma_mask, dev->vendor, dev->device); continue; } ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog