From 080a547d4d42d42e08a525aca9a62b5ece7616d5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 5 Feb 2005 08:00:14 +0000 Subject: - Implement drm_initmap, and extend it with the resource number to help FreeBSD. Add drm_get_resource_{start|len} so linux-specific stuff doesn't need to be in shared code. - Fix mach64 build by using __DECONST to work around passing a const pointer to useracc, which is unfortunately not marked const. - Get rid of a lot of maplist code by not having dev->maplist be a pointer, and by sticking the link entries directly in drm_local_map_t rather than having a separate structure for the linked list. - Factor out map uninit and removal into its own routine, rather than duplicating in both drm_takedown() and drm_rmmap(). - Hook up more driver functions, and correct FreeBSD-specific bits of radeon_cp.c, making radeon work. - Baby steps towards using bus_space as we should. --- bsd-core/drm_vm.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'bsd-core/drm_vm.c') diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index 1b5d4d3f..2b5f0ef4 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -35,8 +35,7 @@ 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_local_map_t *map; drm_file_t *priv; drm_map_type_t type; @@ -81,13 +80,12 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) for performance, even if the list was a bit longer. */ DRM_LOCK(); - TAILQ_FOREACH(listentry, dev->maplist, link) { - map = listentry->map; + TAILQ_FOREACH(map, &dev->maplist, link) { if (offset >= map->offset && offset < map->offset + map->size) break; } - if (!listentry) { + if (map == NULL) { DRM_UNLOCK(); DRM_DEBUG("can't find map\n"); return -1; -- cgit v1.2.3