diff options
Diffstat (limited to 'drivers/gpu/drm/drm_vm.c')
-rw-r--r-- | drivers/gpu/drm/drm_vm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c index caa4e4ca616d..bd311c77c254 100644 --- a/drivers/gpu/drm/drm_vm.c +++ b/drivers/gpu/drm/drm_vm.c | |||
@@ -124,8 +124,7 @@ static int drm_do_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
124 | * Using vm_pgoff as a selector forces us to use this unusual | 124 | * Using vm_pgoff as a selector forces us to use this unusual |
125 | * addressing scheme. | 125 | * addressing scheme. |
126 | */ | 126 | */ |
127 | resource_size_t offset = (unsigned long)vmf->virtual_address - | 127 | resource_size_t offset = vmf->address - vma->vm_start; |
128 | vma->vm_start; | ||
129 | resource_size_t baddr = map->offset + offset; | 128 | resource_size_t baddr = map->offset + offset; |
130 | struct drm_agp_mem *agpmem; | 129 | struct drm_agp_mem *agpmem; |
131 | struct page *page; | 130 | struct page *page; |
@@ -195,7 +194,7 @@ static int drm_do_vm_shm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
195 | if (!map) | 194 | if (!map) |
196 | return VM_FAULT_SIGBUS; /* Nothing allocated */ | 195 | return VM_FAULT_SIGBUS; /* Nothing allocated */ |
197 | 196 | ||
198 | offset = (unsigned long)vmf->virtual_address - vma->vm_start; | 197 | offset = vmf->address - vma->vm_start; |
199 | i = (unsigned long)map->handle + offset; | 198 | i = (unsigned long)map->handle + offset; |
200 | page = vmalloc_to_page((void *)i); | 199 | page = vmalloc_to_page((void *)i); |
201 | if (!page) | 200 | if (!page) |
@@ -301,7 +300,8 @@ static int drm_do_vm_dma_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
301 | if (!dma->pagelist) | 300 | if (!dma->pagelist) |
302 | return VM_FAULT_SIGBUS; /* Nothing allocated */ | 301 | return VM_FAULT_SIGBUS; /* Nothing allocated */ |
303 | 302 | ||
304 | offset = (unsigned long)vmf->virtual_address - vma->vm_start; /* vm_[pg]off[set] should be 0 */ | 303 | offset = vmf->address - vma->vm_start; |
304 | /* vm_[pg]off[set] should be 0 */ | ||
305 | page_nr = offset >> PAGE_SHIFT; /* page_nr could just be vmf->pgoff */ | 305 | page_nr = offset >> PAGE_SHIFT; /* page_nr could just be vmf->pgoff */ |
306 | page = virt_to_page((void *)dma->pagelist[page_nr]); | 306 | page = virt_to_page((void *)dma->pagelist[page_nr]); |
307 | 307 | ||
@@ -337,7 +337,7 @@ static int drm_do_vm_sg_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
337 | if (!entry->pagelist) | 337 | if (!entry->pagelist) |
338 | return VM_FAULT_SIGBUS; /* Nothing allocated */ | 338 | return VM_FAULT_SIGBUS; /* Nothing allocated */ |
339 | 339 | ||
340 | offset = (unsigned long)vmf->virtual_address - vma->vm_start; | 340 | offset = vmf->address - vma->vm_start; |
341 | map_offset = map->offset - (unsigned long)dev->sg->virtual; | 341 | map_offset = map->offset - (unsigned long)dev->sg->virtual; |
342 | page_offset = (offset >> PAGE_SHIFT) + (map_offset >> PAGE_SHIFT); | 342 | page_offset = (offset >> PAGE_SHIFT) + (map_offset >> PAGE_SHIFT); |
343 | page = entry->pagelist[page_offset]; | 343 | page = entry->pagelist[page_offset]; |