aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_vm.c')
-rw-r--r--drivers/gpu/drm/drm_vm.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
index 0d8bbd72ec55..22f76567ac7d 100644
--- a/drivers/gpu/drm/drm_vm.c
+++ b/drivers/gpu/drm/drm_vm.c
@@ -115,9 +115,9 @@ static int drm_do_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
115 * Using vm_pgoff as a selector forces us to use this unusual 115 * Using vm_pgoff as a selector forces us to use this unusual
116 * addressing scheme. 116 * addressing scheme.
117 */ 117 */
118 unsigned long offset = (unsigned long)vmf->virtual_address - 118 resource_size_t offset = (unsigned long)vmf->virtual_address -
119 vma->vm_start; 119 vma->vm_start;
120 unsigned long baddr = map->offset + offset; 120 resource_size_t baddr = map->offset + offset;
121 struct drm_agp_mem *agpmem; 121 struct drm_agp_mem *agpmem;
122 struct page *page; 122 struct page *page;
123 123
@@ -149,8 +149,10 @@ static int drm_do_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
149 vmf->page = page; 149 vmf->page = page;
150 150
151 DRM_DEBUG 151 DRM_DEBUG
152 ("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", 152 ("baddr = 0x%llx page = 0x%p, offset = 0x%llx, count=%d\n",
153 baddr, __va(agpmem->memory->memory[offset]), offset, 153 (unsigned long long)baddr,
154 __va(agpmem->memory->memory[offset]),
155 (unsigned long long)offset,
154 page_count(page)); 156 page_count(page));
155 return 0; 157 return 0;
156 } 158 }
@@ -512,14 +514,14 @@ static int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
512 return 0; 514 return 0;
513} 515}
514 516
515unsigned long drm_core_get_map_ofs(struct drm_local_map * map) 517resource_size_t drm_core_get_map_ofs(struct drm_local_map * map)
516{ 518{
517 return map->offset; 519 return map->offset;
518} 520}
519 521
520EXPORT_SYMBOL(drm_core_get_map_ofs); 522EXPORT_SYMBOL(drm_core_get_map_ofs);
521 523
522unsigned long drm_core_get_reg_ofs(struct drm_device *dev) 524resource_size_t drm_core_get_reg_ofs(struct drm_device *dev)
523{ 525{
524#ifdef __alpha__ 526#ifdef __alpha__
525 return dev->hose->dense_mem_base - dev->hose->mem_space->start; 527 return dev->hose->dense_mem_base - dev->hose->mem_space->start;
@@ -548,7 +550,7 @@ int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
548 struct drm_file *priv = filp->private_data; 550 struct drm_file *priv = filp->private_data;
549 struct drm_device *dev = priv->minor->dev; 551 struct drm_device *dev = priv->minor->dev;
550 struct drm_local_map *map = NULL; 552 struct drm_local_map *map = NULL;
551 unsigned long offset = 0; 553 resource_size_t offset = 0;
552 struct drm_hash_item *hash; 554 struct drm_hash_item *hash;
553 555
554 DRM_DEBUG("start = 0x%lx, end = 0x%lx, page offset = 0x%lx\n", 556 DRM_DEBUG("start = 0x%lx, end = 0x%lx, page offset = 0x%lx\n",
@@ -623,9 +625,9 @@ int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma)
623 vma->vm_page_prot)) 625 vma->vm_page_prot))
624 return -EAGAIN; 626 return -EAGAIN;
625 DRM_DEBUG(" Type = %d; start = 0x%lx, end = 0x%lx," 627 DRM_DEBUG(" Type = %d; start = 0x%lx, end = 0x%lx,"
626 " offset = 0x%lx\n", 628 " offset = 0x%llx\n",
627 map->type, 629 map->type,
628 vma->vm_start, vma->vm_end, map->offset + offset); 630 vma->vm_start, vma->vm_end, (unsigned long long)(map->offset + offset));
629 vma->vm_ops = &drm_vm_ops; 631 vma->vm_ops = &drm_vm_ops;
630 break; 632 break;
631 case _DRM_CONSISTENT: 633 case _DRM_CONSISTENT: