summaryrefslogtreecommitdiff
path: root/bsd-core/drm/Makefile
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@fairlite.demon.co.uk>2005-06-27 11:41:40 +0000
committerAlan Hourihane <alanh@fairlite.demon.co.uk>2005-06-27 11:41:40 +0000
commitfa24ccccf4beeef41d8de23a345408b7b047ae3f (patch)
tree01b69f2c85fad002444f8b7fa1f7267fdaf1aa99 /bsd-core/drm/Makefile
parentd6af2016635ced096812030547a930433e9382eb (diff)
Check dev_priv
Diffstat (limited to 'bsd-core/drm/Makefile')
0 files changed, 0 insertions, 0 deletions
BSD__) && __FreeBSD_version >= 500102 static int DRM(dma_mmap)(dev_t kdev, vm_offset_t offset, vm_paddr_t *paddr, int prot) #elif defined(__FreeBSD__) static int DRM(dma_mmap)(dev_t kdev, vm_offset_t offset, int prot) #elif defined(__NetBSD__) static paddr_t DRM(dma_mmap)(dev_t kdev, vm_offset_t offset, int prot) #endif { DRM_DEVICE; drm_device_dma_t *dma = dev->dma; unsigned long physical; unsigned long page; if (!dma) return -1; /* Error */ if (!dma->pagelist) return -1; /* Nothing allocated */ page = offset >> PAGE_SHIFT; physical = dma->pagelist[page]; DRM_DEBUG("0x%08lx (page %lu) => 0x%08lx\n", (long)offset, page, physical); #if defined(__FreeBSD__) && __FreeBSD_version >= 500102 *paddr = physical; return 0; #else return atop(physical); #endif } #if defined(__FreeBSD__) && __FreeBSD_version >= 500102 int DRM(mmap)(dev_t 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__) paddr_t DRM(mmap)(dev_t kdev, off_t offset, int prot) #endif { DRM_DEVICE; drm_local_map_t *map = NULL; drm_map_list_entry_t *listentry=NULL; drm_file_t *priv; priv = DRM(find_file_by_proc)(dev, DRM_CURPROC); if (!priv) { DRM_DEBUG("can't find authenticator\n"); return EINVAL; } if (!priv->authenticated) return DRM_ERR(EACCES); if (dev->dma && offset >= 0 && offset < ptoa(dev->dma->page_count)) #if defined(__FreeBSD__) && __FreeBSD_version >= 500102