drm/drm_pci.c: Use dma_zalloc_coherent
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_pci.c
index 896e42a..a9d9df6 100644 (file)
@@ -61,15 +61,14 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali
                return NULL;
 
        dmah->size = size;
-       dmah->vaddr = dma_alloc_coherent(&dev->pdev->dev, size, &dmah->busaddr, GFP_KERNEL | __GFP_COMP);
+       dmah->vaddr = dma_zalloc_coherent(&dev->pdev->dev, size, &dmah->busaddr,
+                                               GFP_KERNEL | __GFP_COMP);
 
        if (dmah->vaddr == NULL) {
                kfree(dmah);
                return NULL;
        }
 
-       memset(dmah->vaddr, 0, size);
-
        /* XXX - Is virt_to_page() legal for consistent mem? */
        /* Reserve */
        for (addr = (unsigned long)dmah->vaddr, sz = size;
@@ -182,14 +181,14 @@ int drm_irq_by_busid(struct drm_device *dev, void *data,
        struct drm_irq_busid *p = data;
 
        if (!drm_core_check_feature(dev, DRIVER_LEGACY))
-               return -EINVAL;
+               return -EOPNOTSUPP;
 
        /* UMS was only ever support on PCI devices. */
        if (WARN_ON(!dev->pdev))
                return -EINVAL;
 
        if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
-               return -EINVAL;
+               return -EOPNOTSUPP;
 
        return drm_pci_irq_by_busid(dev, p);
 }