drm: remove address mask param for drm_pci_alloc()
[deliverable/linux.git] / drivers / gpu / drm / drm_pci.c
index b55d5bc6ea612922209ff9236b75789762697515..e68ebf92fa2a5187c0e6b56a5e089a26d0516da2 100644 (file)
 /**
  * \brief Allocate a PCI consistent memory block, for DMA.
  */
-drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align,
-                               dma_addr_t maxaddr)
+drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align)
 {
        drm_dma_handle_t *dmah;
 #if 1
        unsigned long addr;
        size_t sz;
 #endif
-#ifdef DRM_DEBUG_MEMORY
-       int area = DRM_MEM_DMA;
-
-       spin_lock(&drm_mem_lock);
-       if ((drm_ram_used >> PAGE_SHIFT)
-           > (DRM_RAM_PERCENT * drm_ram_available) / 100) {
-               spin_unlock(&drm_mem_lock);
-               return 0;
-       }
-       spin_unlock(&drm_mem_lock);
-#endif
 
        /* pci_alloc_consistent only guarantees alignment to the smallest
         * PAGE_SIZE order which is greater than or equal to the requested size.
@@ -74,11 +62,6 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali
        if (align > size)
                return NULL;
 
-       if (pci_set_dma_mask(dev->pdev, maxaddr) != 0) {
-               DRM_ERROR("Setting pci dma mask failed\n");
-               return NULL;
-       }
-
        dmah = kmalloc(sizeof(drm_dma_handle_t), GFP_KERNEL);
        if (!dmah)
                return NULL;
@@ -86,27 +69,11 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali
        dmah->size = size;
        dmah->vaddr = dma_alloc_coherent(&dev->pdev->dev, size, &dmah->busaddr, GFP_KERNEL | __GFP_COMP);
 
-#ifdef DRM_DEBUG_MEMORY
        if (dmah->vaddr == NULL) {
-               spin_lock(&drm_mem_lock);
-               ++drm_mem_stats[area].fail_count;
-               spin_unlock(&drm_mem_lock);
                kfree(dmah);
                return NULL;
        }
 
-       spin_lock(&drm_mem_lock);
-       ++drm_mem_stats[area].succeed_count;
-       drm_mem_stats[area].bytes_allocated += size;
-       drm_ram_used += size;
-       spin_unlock(&drm_mem_lock);
-#else
-       if (dmah->vaddr == NULL) {
-               kfree(dmah);
-               return NULL;
-       }
-#endif
-
        memset(dmah->vaddr, 0, size);
 
        /* XXX - Is virt_to_page() legal for consistent mem? */
@@ -132,17 +99,8 @@ void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
        unsigned long addr;
        size_t sz;
 #endif
-#ifdef DRM_DEBUG_MEMORY
-       int area = DRM_MEM_DMA;
-       int alloc_count;
-       int free_count;
-#endif
 
-       if (!dmah->vaddr) {
-#ifdef DRM_DEBUG_MEMORY
-               DRM_MEM_ERROR(area, "Attempt to free address 0\n");
-#endif
-       } else {
+       if (dmah->vaddr) {
                /* XXX - Is virt_to_page() legal for consistent mem? */
                /* Unreserve */
                for (addr = (unsigned long)dmah->vaddr, sz = dmah->size;
@@ -152,21 +110,6 @@ void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
                dma_free_coherent(&dev->pdev->dev, dmah->size, dmah->vaddr,
                                  dmah->busaddr);
        }
-
-#ifdef DRM_DEBUG_MEMORY
-       spin_lock(&drm_mem_lock);
-       free_count = ++drm_mem_stats[area].free_count;
-       alloc_count = drm_mem_stats[area].succeed_count;
-       drm_mem_stats[area].bytes_freed += size;
-       drm_ram_used -= size;
-       spin_unlock(&drm_mem_lock);
-       if (free_count > alloc_count) {
-               DRM_MEM_ERROR(area,
-                             "Excess frees: %d frees, %d allocs\n",
-                             free_count, alloc_count);
-       }
-#endif
-
 }
 
 /**
This page took 0.031326 seconds and 5 git commands to generate.