Correct errors in the usage of pci_map_page.
authorIan Romanick <idr@us.ibm.com>
Mon, 16 Jul 2007 17:56:43 +0000 (10:56 -0700)
committerIan Romanick <idr@us.ibm.com>
Mon, 16 Jul 2007 17:56:43 +0000 (10:56 -0700)
With these changes the driver no longer instantly hard-locks a 6600LE
on a PowerPC G5.  I haven't tested any 3D apps yet.

shared-core/nouveau_object.c

index 146c4f1..ea0edb0 100644 (file)
@@ -672,10 +672,10 @@ nouveau_gpuobj_dma_new(struct drm_device *dev, int channel, int class,
                                                pci_map_page(dev->pdev,
                                                             dev->sg->pagelist[idx],
                                                             0,
-                                                            DMA_31BIT_MASK,
+                                                            PAGE_SIZE,
                                                             DMA_BIDIRECTIONAL);
 
-                                       if (dev->sg->busaddr[idx] == 0) {
+                                       if (dma_mapping_error(dev->sg->busaddr[idx])) {
                                                return DRM_ERR(ENOMEM);
                                        }
                                }