diff options
author | Eric Anholt <anholt@freebsd.org> | 2005-02-05 08:00:14 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2005-02-05 08:00:14 +0000 |
commit | 080a547d4d42d42e08a525aca9a62b5ece7616d5 (patch) | |
tree | 6996ba882ce26098fb69ba336969d88aa47dc39c /bsd-core/drm_ioctl.c | |
parent | 270ca5f3cee387c10a06a4d58e50c5d0e1cea837 (diff) |
- 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.
Diffstat (limited to 'bsd-core/drm_ioctl.c')
-rw-r--r-- | bsd-core/drm_ioctl.c | 6 |
1 files changed, 2 insertions, 4 deletions
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) ); |