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_ioctl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'bsd-core/drm_ioctl.c') diff --git a/bsd-core/drm_ioctl.c b/bsd-core/drm_ioctl.c index d40a7c90..62f42210 100644 --- a/bsd-core/drm_ioctl.c +++ b/bsd-core/drm_ioctl.c @@ -147,7 +147,6 @@ int drm_getmap(DRM_IOCTL_ARGS) DRM_DEVICE; drm_map_t map; drm_local_map_t *mapinlist; - drm_map_list_entry_t *list; int idx; int i = 0; @@ -161,8 +160,7 @@ int drm_getmap(DRM_IOCTL_ARGS) return DRM_ERR(EINVAL); } - TAILQ_FOREACH(list, dev->maplist, link) { - mapinlist = list->map; + TAILQ_FOREACH(mapinlist, &dev->maplist, link) { if (i==idx) { map.offset = mapinlist->offset; map.size = mapinlist->size; @@ -177,7 +175,7 @@ int drm_getmap(DRM_IOCTL_ARGS) DRM_UNLOCK(); - if (!list) + if (mapinlist == NULL) return EINVAL; DRM_COPY_TO_USER_IOCTL( (drm_map_t *)data, map, sizeof(map) ); -- cgit v1.2.3