drm/r128: Remove references to struct drm_device.pdev
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_bufs.c
index e3d77df..311dbd3 100644 (file)
@@ -79,7 +79,7 @@ static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
                                return entry;
                        break;
                default: /* Make gcc happy */
-                       ;
+                       break;
                }
                if (entry->map->offset == map->offset)
                        return entry;
@@ -325,7 +325,8 @@ static int drm_addmap_core(struct drm_device *dev, resource_size_t offset,
                /* dma_addr_t is 64bit on i386 with CONFIG_HIGHMEM64G,
                 * As we're limiting the address to 2^32-1 (or less),
                 * casting it down to 32 bits is no problem, but we
-                * need to point to a 64bit variable first. */
+                * need to point to a 64bit variable first.
+                */
                map->handle = dma_alloc_coherent(dev->dev,
                                                 map->size,
                                                 &map->offset,
@@ -674,12 +675,17 @@ int drm_legacy_rmmap_ioctl(struct drm_device *dev, void *data,
 static void drm_cleanup_buf_error(struct drm_device *dev,
                                  struct drm_buf_entry *entry)
 {
+       drm_dma_handle_t *dmah;
        int i;
 
        if (entry->seg_count) {
                for (i = 0; i < entry->seg_count; i++) {
                        if (entry->seglist[i]) {
-                               drm_pci_free(dev, entry->seglist[i]);
+                               dmah = entry->seglist[i];
+                               dma_free_coherent(dev->dev,
+                                                 dmah->size,
+                                                 dmah->vaddr,
+                                                 dmah->busaddr);
                        }
                }
                kfree(entry->seglist);
@@ -978,10 +984,18 @@ int drm_legacy_addbufs_pci(struct drm_device *dev,
        page_count = 0;
 
        while (entry->buf_count < count) {
+               dmah = kmalloc(sizeof(drm_dma_handle_t), GFP_KERNEL);
+               if (!dmah)
+                       return -ENOMEM;
 
-               dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000);
+               dmah->size = total;
+               dmah->vaddr = dma_alloc_coherent(dev->dev,
+                                                dmah->size,
+                                                &dmah->busaddr,
+                                                GFP_KERNEL);
+               if (!dmah->vaddr) {
+                       kfree(dmah);
 
-               if (!dmah) {
                        /* Set count correctly so we free the proper amount. */
                        entry->buf_count = count;
                        entry->seg_count = count;