From 71f0a3e389efb6c92a84299d05beb2a1bfa53469 Mon Sep 17 00:00:00 2001 From: vehemens Date: Fri, 29 Aug 2008 12:47:00 -0400 Subject: [FreeBSD] Replace typedefs on bsd. Signed-off-by: Robert Noland --- bsd-core/drm_vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bsd-core/drm_vm.c') diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index 9950c37e..e9c8702e 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -40,7 +40,7 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) struct drm_device *dev = drm_get_device_from_kdev(kdev); drm_local_map_t *map; drm_file_t *priv; - drm_map_type_t type; + enum drm_map_type type; #ifdef __FreeBSD__ vm_paddr_t phys; #else -- cgit v1.2.3 From 973c634eaa54ee4085a72102c690bc643cb2d7a8 Mon Sep 17 00:00:00 2001 From: vehemens Date: Mon, 8 Sep 2008 22:06:09 -0700 Subject: Remove incomplete and obsolete free/net/open code. Signed-off-by: Robert Noland --- bsd-core/drm_vm.c | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'bsd-core/drm_vm.c') diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index e9c8702e..7fa33c91 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -28,24 +28,14 @@ #include "drmP.h" #include "drm.h" -#if defined(__FreeBSD__) && __FreeBSD_version >= 500102 int drm_mmap(struct cdev *kdev, vm_offset_t offset, vm_paddr_t *paddr, int prot) -#elif defined(__FreeBSD__) -int drm_mmap(dev_t kdev, vm_offset_t offset, int prot) -#elif defined(__NetBSD__) || defined(__OpenBSD__) -paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) -#endif { struct drm_device *dev = drm_get_device_from_kdev(kdev); drm_local_map_t *map; drm_file_t *priv; enum drm_map_type type; -#ifdef __FreeBSD__ vm_paddr_t phys; -#else - paddr_t phys; -#endif DRM_LOCK(); priv = drm_find_file_by_proc(dev, DRM_CURPROC); @@ -68,12 +58,8 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) unsigned long phys = dma->pagelist[page]; DRM_SPINUNLOCK(&dev->dma_lock); -#if defined(__FreeBSD__) && __FreeBSD_version >= 500102 *paddr = phys; return 0; -#else - return atop(phys); -#endif } else { DRM_SPINUNLOCK(&dev->dma_lock); return -1; @@ -124,11 +110,7 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) return -1; /* This should never happen. */ } -#if defined(__FreeBSD__) && __FreeBSD_version >= 500102 *paddr = phys; return 0; -#else - return atop(phys); -#endif } -- cgit v1.2.3 From 8ca06eb492f861dbf049a2e104e4e2a5ba814c13 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Wed, 17 Sep 2008 23:10:15 -0400 Subject: [FreeBSD] Convert to using cdevpriv for file_priv tracking --- bsd-core/drm_vm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'bsd-core/drm_vm.c') diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index 7fa33c91..8ee49a28 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -32,20 +32,20 @@ int drm_mmap(struct cdev *kdev, vm_offset_t offset, vm_paddr_t *paddr, int prot) { struct drm_device *dev = drm_get_device_from_kdev(kdev); + struct drm_file *file_priv; drm_local_map_t *map; - drm_file_t *priv; enum drm_map_type type; vm_paddr_t phys; DRM_LOCK(); - priv = drm_find_file_by_proc(dev, DRM_CURPROC); + TAILQ_FOREACH(file_priv, &dev->files, link) + if (file_priv->pid == curthread->td_proc->p_pid && + file_priv->uid == curthread->td_ucred->cr_svuid && + file_priv->authenticated == 1) + break; DRM_UNLOCK(); - if (priv == NULL) { - DRM_ERROR("can't find authenticator\n"); - return EINVAL; - } - if (!priv->authenticated) + if (!file_priv) return EACCES; if (dev->dma && offset >= 0 && offset < ptoa(dev->dma->page_count)) { -- cgit v1.2.3