use coherent memory for PCI allocations with COMP flag
authorDave Airlie <airlied@linux.ie>
Tue, 21 Feb 2006 10:28:47 +0000 (10:28 +0000)
committerDave Airlie <airlied@linux.ie>
Tue, 21 Feb 2006 10:28:47 +0000 (10:28 +0000)
linux-core/drm_pci.c

index 0d3c8b2..f6e7038 100644 (file)
@@ -83,7 +83,11 @@ drm_dma_handle_t *drm_pci_alloc(drm_device_t * dev, size_t size, size_t align,
                return NULL;
 
        dmah->size = size;
+#if 0
        dmah->vaddr = pci_alloc_consistent(dev->pdev, size, &dmah->busaddr);
+#else
+       dmah->vaddr = dma_alloc_coherent(&dev->pdev->dev, size, &dmah->busaddr, GFP_KERNEL | __GFP_COMP);
+#endif
 
 #ifdef DRM_DEBUG_MEMORY
        if (dmah->vaddr == NULL) {
@@ -151,8 +155,13 @@ void __drm_pci_free(drm_device_t * dev, drm_dma_handle_t *dmah)
                        ClearPageReserved(virt_to_page(addr));
                }
 #endif
+#if 0
                pci_free_consistent(dev->pdev, dmah->size, dmah->vaddr,
                                    dmah->busaddr);
+#else
+               dma_free_coherent(&dev->pdev->dev, dmah->size, dmah->vaddr,
+                                 dmah->busaddr);
+#endif
        }
 
 #ifdef DRM_DEBUG_MEMORY