|
@@ -778,22 +778,14 @@ void drm_gem_vm_open(struct vm_area_struct *vma)
|
|
|
struct drm_gem_object *obj = vma->vm_private_data;
|
|
|
|
|
|
drm_gem_object_reference(obj);
|
|
|
-
|
|
|
- mutex_lock(&obj->dev->struct_mutex);
|
|
|
- drm_vm_open_locked(obj->dev, vma);
|
|
|
- mutex_unlock(&obj->dev->struct_mutex);
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_gem_vm_open);
|
|
|
|
|
|
void drm_gem_vm_close(struct vm_area_struct *vma)
|
|
|
{
|
|
|
struct drm_gem_object *obj = vma->vm_private_data;
|
|
|
- struct drm_device *dev = obj->dev;
|
|
|
|
|
|
- mutex_lock(&dev->struct_mutex);
|
|
|
- drm_vm_close_locked(obj->dev, vma);
|
|
|
- drm_gem_object_unreference(obj);
|
|
|
- mutex_unlock(&dev->struct_mutex);
|
|
|
+ drm_gem_object_unreference_unlocked(obj);
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_gem_vm_close);
|
|
|
|
|
@@ -850,7 +842,6 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size,
|
|
|
*/
|
|
|
drm_gem_object_reference(obj);
|
|
|
|
|
|
- drm_vm_open_locked(dev, vma);
|
|
|
return 0;
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_gem_mmap_obj);
|