Update of /cvsroot/alsa/alsa-driver/acore
In directory sc8-pr-cvs1:/tmp/cvs-serv6528/acore
Modified Files:
memalloc.patch
Log Message:
- added a check and a wrapper of pci_set_consistent_dma_mask() for
older kernels.
Index: memalloc.patch
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/acore/memalloc.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- memalloc.patch 31 May 2003 11:09:05 -0000 1.1
+++ memalloc.patch 20 Nov 2003 13:23:27 -0000 1.2
@@ -1,11 +1,11 @@
---- memalloc.c 2003-05-30 16:09:27.000000000 +0200
-+++ memalloc.c.old 2003-05-31 13:05:06.000000000 +0200
+--- memalloc.c 2003-11-20 12:44:06.000000000 +0100
++++ memalloc.c 2003-11-20 12:52:50.000000000 +0100
@@ -1,3 +1,4 @@
+#include "memalloc.inc"
/*
* Copyright (c) by Jaroslav Kysela <[EMAIL PROTECTED]>
* Takashi Iwai <[EMAIL PROTECTED]>
-@@ -80,6 +81,7 @@
+@@ -73,6 +74,7 @@
#define snd_assert(expr, args...) /**/
#endif
@@ -13,7 +13,35 @@
#ifdef CONFIG_PCI
#if defined(__i386__) || defined(__ppc__) || defined(__x86_64__)
#define HACK_PCI_ALLOC_CONSISTENT
-@@ -132,6 +134,7 @@
+@@ -94,16 +96,25 @@
+ dma_addr_t *dma_handle)
+ {
+ void *ret;
+- u64 dma_mask;
++ u64 dma_mask = 0xffffffff, dma_mask1;
+ unsigned long mask;
+
+ if (hwdev == NULL)
+ return pci_alloc_consistent(hwdev, size, dma_handle);
++#ifdef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK
+ dma_mask = hwdev->consistent_dma_mask;
+- mask = (unsigned long)dma_mask;
++#endif
++ dma_mask1 = hwdev->dma_mask;
++ mask = (unsigned long)(dma_mask & dma_mask1);
++#ifdef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK
+ hwdev->consistent_dma_mask = 0xffffffff; /* do without masking */
++#endif
++ hwdev->dma_mask = 0xffffffff; /* do without masking */
+ ret = pci_alloc_consistent(hwdev, size, dma_handle);
++#ifdef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK
+ hwdev->consistent_dma_mask = dma_mask; /* restore */
++#endif
++ hwdev->dma_mask = dma_mask1; /* restore */
+ if (ret) {
+ /* obtained address is out of range? */
+ if (((unsigned long)*dma_handle + size - 1) & ~mask) {
+@@ -125,6 +136,7 @@
#endif /* arch */
#endif /* CONFIG_PCI */
@@ -21,7 +49,7 @@
/*
-@@ -623,7 +626,7 @@
+@@ -617,7 +629,7 @@
}
@@ -30,7 +58,19 @@
/*
* on ix86, we allocate a page with GFP_KERNEL to assure the
* allocation. the code is almost same with kernel/i386/pci-dma.c but
-@@ -935,3 +938,5 @@
+@@ -642,7 +654,11 @@
+ dma_addr_t addr;
+ unsigned long mask;
+
++#ifdef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK
+ mask = pci ? (unsigned long)pci->consistent_dma_mask : 0x00ffffffUL;
++#else
++ mask = pci ? (unsigned long)pci->dma_mask : 0x00ffffffUL;
++#endif
+ ptr = (void *)__get_free_page(GFP_KERNEL);
+ if (ptr) {
+ addr = virt_to_phys(ptr);
+@@ -997,3 +1013,5 @@
EXPORT_SYMBOL(snd_malloc_sbus_pages_fallback);
EXPORT_SYMBOL(snd_free_sbus_pages);
#endif
-------------------------------------------------------
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