From fa3fdbd99c6b6e5cec59f1044ce6ce1105b5e8dd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 7 Nov 2004 00:25:49 +0000 Subject: Now that the memory debug code is gone, and all 3 BSDs have M_ZERO, stop using drm_alloc/drm_free in the core and instead use plain malloc/free. --- bsd-core/drm_scatter.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) (limited to 'bsd-core/drm_scatter.c') diff --git a/bsd-core/drm_scatter.c b/bsd-core/drm_scatter.c index 82e6ef9a..03e82439 100644 --- a/bsd-core/drm_scatter.c +++ b/bsd-core/drm_scatter.c @@ -37,10 +37,8 @@ void drm_sg_cleanup(drm_sg_mem_t *entry) { free(entry->virtual, M_DRM); - drm_free(entry->busaddr, - entry->pages * sizeof(*entry->busaddr), - DRM_MEM_PAGES ); - drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS); + free(entry->busaddr, M_DRM); + free(entry, M_DRM); } int drm_sg_alloc(DRM_IOCTL_ARGS) @@ -58,36 +56,29 @@ int drm_sg_alloc(DRM_IOCTL_ARGS) DRM_COPY_FROM_USER_IOCTL(request, (drm_scatter_gather_t *)data, sizeof(request) ); - entry = drm_alloc(sizeof(*entry), DRM_MEM_SGLISTS); + entry = malloc(sizeof(*entry), M_DRM, M_NOWAIT | M_ZERO); if ( !entry ) return ENOMEM; - bzero( entry, sizeof(*entry) ); - pages = round_page(request.size) / PAGE_SIZE; DRM_DEBUG( "sg size=%ld pages=%ld\n", request.size, pages ); entry->pages = pages; - entry->busaddr = drm_alloc(pages * sizeof(*entry->busaddr), - DRM_MEM_PAGES); + entry->busaddr = malloc(pages * sizeof(*entry->busaddr), M_DRM, + M_NOWAIT | M_ZERO); if ( !entry->busaddr ) { - drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS); + free(entry, M_DRM); return ENOMEM; } - bzero( (void *)entry->busaddr, pages * sizeof(*entry->busaddr) ); - entry->virtual = malloc(pages << PAGE_SHIFT, M_DRM, M_WAITOK); + entry->virtual = malloc(pages << PAGE_SHIFT, M_DRM, M_WAITOK | M_ZERO); if ( !entry->virtual ) { - drm_free(entry->busaddr, - entry->pages * sizeof(*entry->busaddr), - DRM_MEM_PAGES); - drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS); + free(entry->busaddr, M_DRM); + free(entry, M_DRM); return ENOMEM; } - bzero( entry->virtual, pages << PAGE_SHIFT ); - entry->handle = (unsigned long)entry->virtual; DRM_DEBUG( "sg alloc handle = %08lx\n", entry->handle ); -- cgit v1.2.3