diff options
author | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2007-02-06 16:59:45 +0100 |
---|---|---|
committer | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2007-02-06 16:59:45 +0100 |
commit | 71b9e876f99db219fcbf4e3ab977b64b068cc2b4 (patch) | |
tree | d55a70612ab8d75abc0146a8c6ebddaea4ce0d05 /linux-core/drm_compat.c | |
parent | 40ce53dfde11f84d7bf8db5db93fb73715b2e96e (diff) |
Simplify pci map vs no pci map choice.
Diffstat (limited to 'linux-core/drm_compat.c')
-rw-r--r-- | linux-core/drm_compat.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/linux-core/drm_compat.c b/linux-core/drm_compat.c index 48d598e8..044cf4a4 100644 --- a/linux-core/drm_compat.c +++ b/linux-core/drm_compat.c @@ -222,10 +222,6 @@ struct page *drm_bo_vm_nopage(struct vm_area_struct *vma, drm_ttm_t *ttm; drm_buffer_manager_t *bm; drm_device_t *dev; - unsigned long bus_base; - unsigned long bus_offset; - unsigned long bus_size; - int err; mutex_lock(&bo->mutex); @@ -238,14 +234,8 @@ struct page *drm_bo_vm_nopage(struct vm_area_struct *vma, } dev = bo->dev; - err = drm_bo_pci_offset(bo, &bus_base, &bus_offset, &bus_size); - - if (err) { - page = NOPAGE_SIGBUS; - goto out_unlock; - } - if (bus_size != 0) { + if (drm_mem_reg_is_pci(dev, &bo->mem)) { DRM_ERROR("Invalid compat nopage.\n"); page = NOPAGE_SIGBUS; goto out_unlock; @@ -253,6 +243,7 @@ struct page *drm_bo_vm_nopage(struct vm_area_struct *vma, bm = &dev->bm; ttm = bo->ttm; + drm_ttm_fixup_caching(ttm); page_offset = (address - vma->vm_start) >> PAGE_SHIFT; page = ttm->pages[page_offset]; @@ -284,7 +275,8 @@ int drm_bo_map_bound(struct vm_area_struct *vma) unsigned long bus_offset; unsigned long bus_size; - ret = drm_bo_pci_offset(bo, &bus_base, &bus_offset, &bus_size); + ret = drm_bo_pci_offset(bo->dev, &bo->mem, &bus_base, + &bus_offset, &bus_size); BUG_ON(ret); if (bus_size) { @@ -415,14 +407,8 @@ int drm_bo_remap_bound(drm_buffer_object_t *bo) { vma_entry_t *v_entry; int ret = 0; - unsigned long bus_base; - unsigned long bus_offset; - unsigned long bus_size; - - ret = drm_bo_pci_offset(bo, &bus_base, &bus_offset, &bus_size); - BUG_ON(ret); - if (bus_size) { + if (drm_mem_reg_is_pci(bo->dev, &bo->mem)) { list_for_each_entry(v_entry, &bo->vma_list, head) { ret = drm_bo_map_bound(v_entry->vma); if (ret) |