int nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma) { struct drm_file *file_priv = filp->private_data; struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev); if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) return drm_legacy_mmap(filp, vma); return ttm_bo_mmap(filp, vma, &drm->ttm.bdev); }
int bochs_mmap(struct file *filp, struct vm_area_struct *vma) { struct drm_file *file_priv; struct bochs_device *bochs; if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) return -EINVAL; file_priv = filp->private_data; bochs = file_priv->minor->dev->dev_private; return ttm_bo_mmap(filp, vma, &bochs->ttm.bdev); }
int hibmc_mmap(struct file *filp, struct vm_area_struct *vma) { struct drm_file *file_priv; struct hibmc_drm_private *hibmc; if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) return -EINVAL; file_priv = filp->private_data; hibmc = file_priv->minor->dev->dev_private; return ttm_bo_mmap(filp, vma, &hibmc->bdev); }
int pvdrm_ttm_mmap(struct file *filp, struct vm_area_struct *vma) { /* FIXME: We should implement ttm shadow memory on the guest side. */ struct drm_file* file_priv = filp->private_data; struct pvdrm_device* pvdrm = drm_device_to_pvdrm(file_priv->minor->dev); if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) { return drm_mmap(filp, vma); } return ttm_bo_mmap(filp, vma, &pvdrm->ttm->bdev); }
int vmw_mmap(struct file *filp, struct vm_area_struct *vma) { struct drm_file *file_priv; struct vmw_private *dev_priv; if (unlikely(vma->vm_pgoff < VMWGFX_FILE_PAGE_OFFSET)) { DRM_ERROR("Illegal attempt to mmap old fifo space.\n"); return -EINVAL; } file_priv = filp->private_data; dev_priv = vmw_priv(file_priv->minor->dev); return ttm_bo_mmap(filp, vma, &dev_priv->bdev); }
int vmw_mmap(struct file *filp, struct vm_area_struct *vma) { struct drm_file *file_priv; struct vmw_private *dev_priv; if (unlikely(vma->vm_pgoff < VMWGFX_FILE_PAGE_OFFSET)) { if (vmw_fifo_mmap(filp, vma) == 0) return 0; return drm_mmap(filp, vma); } file_priv = filp->private_data; dev_priv = vmw_priv(file_priv->minor->dev); return ttm_bo_mmap(filp, vma, &dev_priv->bdev); }