drm/radeon/kms/combios: fix typo in voltage fix
[safe/jmp/linux-2.6] / drivers / gpu / drm / radeon / radeon_ttm.c
index af98f45..e9918d8 100644 (file)
@@ -451,7 +451,7 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_
                        /* RADEON_IS_AGP is set only if AGP is active */
                        mem->bus.offset = mem->mm_node->start << PAGE_SHIFT;
                        mem->bus.base = rdev->mc.agp_base;
-                       mem->bus.is_iomem = true;
+                       mem->bus.is_iomem = !rdev->ddev->agp->cant_use_aperture;
                }
 #endif
                break;
@@ -607,13 +607,17 @@ static const struct vm_operations_struct *ttm_vm_ops = NULL;
 static int radeon_ttm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
 {
        struct ttm_buffer_object *bo;
+       struct radeon_device *rdev;
        int r;
 
-       bo = (struct ttm_buffer_object *)vma->vm_private_data;
+       bo = (struct ttm_buffer_object *)vma->vm_private_data;  
        if (bo == NULL) {
                return VM_FAULT_NOPAGE;
        }
+       rdev = radeon_get_rdev(bo->bdev);
+       mutex_lock(&rdev->vram_mutex);
        r = ttm_vm_ops->fault(vma, vmf);
+       mutex_unlock(&rdev->vram_mutex);
        return r;
 }