From fec94a82748b3603da7239e39d247a9654765659 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sat, 9 Oct 2004 11:12:24 +0000 Subject: Lindent the via stuff so I can include it in kernel --- shared/via_mm.c | 527 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 262 insertions(+), 265 deletions(-) (limited to 'shared/via_mm.c') diff --git a/shared/via_mm.c b/shared/via_mm.c index 5a30e30d..37a2eab0 100644 --- a/shared/via_mm.c +++ b/shared/via_mm.c @@ -33,331 +33,328 @@ unsigned int VIA_DEBUG = 1; typedef struct { - int used; - int context; - set_t *sets[2]; /* 0 for frame buffer, 1 for AGP , 2 for System*/ + int used; + int context; + set_t *sets[2]; /* 0 for frame buffer, 1 for AGP , 2 for System */ } via_context_t; static via_context_t global_ppriv[MAX_CONTEXT]; static int add_alloc_set(int context, int type, unsigned int val) { - int i, retval = 0; - - for (i = 0; i < MAX_CONTEXT; i++) { - if (global_ppriv[i].used && - global_ppriv[i].context == context) { - retval = via_setAdd(global_ppriv[i].sets[type], val); - break; - } - } - - return retval; + int i, retval = 0; + + for (i = 0; i < MAX_CONTEXT; i++) { + if (global_ppriv[i].used && global_ppriv[i].context == context) { + retval = via_setAdd(global_ppriv[i].sets[type], val); + break; + } + } + + return retval; } static int del_alloc_set(int context, int type, unsigned int val) -{ - int i, retval = 0; - - for (i = 0; i < MAX_CONTEXT; i++) - if (global_ppriv[i].used && - global_ppriv[i].context == context) { - retval = via_setDel(global_ppriv[i].sets[type], val); - break; - } - - return retval; +{ + int i, retval = 0; + + for (i = 0; i < MAX_CONTEXT; i++) + if (global_ppriv[i].used && global_ppriv[i].context == context) { + retval = via_setDel(global_ppriv[i].sets[type], val); + break; + } + + return retval; } -/* agp memory management */ +/* agp memory management */ static memHeap_t *AgpHeap = NULL; -int via_agp_init( DRM_IOCTL_ARGS ) +int via_agp_init(DRM_IOCTL_ARGS) { - drm_via_agp_t agp; - - DRM_COPY_FROM_USER_IOCTL(agp, (drm_via_agp_t *)data, sizeof(agp)); + drm_via_agp_t agp; + + DRM_COPY_FROM_USER_IOCTL(agp, (drm_via_agp_t *) data, sizeof(agp)); - AgpHeap = via_mmInit(agp.offset, agp.size); + AgpHeap = via_mmInit(agp.offset, agp.size); - DRM_DEBUG("offset = %lu, size = %lu", agp.offset, agp.size); - - return 0; + DRM_DEBUG("offset = %lu, size = %lu", agp.offset, agp.size); + + return 0; } -/* fb memory management */ +/* fb memory management */ static memHeap_t *FBHeap = NULL; -int via_fb_init( DRM_IOCTL_ARGS ) +int via_fb_init(DRM_IOCTL_ARGS) { - drm_via_fb_t fb; + drm_via_fb_t fb; - - DRM_COPY_FROM_USER_IOCTL(fb, (drm_via_fb_t *)data, sizeof(fb)); + DRM_COPY_FROM_USER_IOCTL(fb, (drm_via_fb_t *) data, sizeof(fb)); - FBHeap = via_mmInit(fb.offset, fb.size); + FBHeap = via_mmInit(fb.offset, fb.size); - DRM_DEBUG("offset = %lu, size = %lu", fb.offset, fb.size); + DRM_DEBUG("offset = %lu, size = %lu", fb.offset, fb.size); - return 0; + return 0; } int via_init_context(struct drm_device *dev, int context) { - int i; - - for (i = 0; i < MAX_CONTEXT ; i++) - if (global_ppriv[i].used && - (global_ppriv[i].context == context)) - break; - - if (i >= MAX_CONTEXT) { - for (i = 0; i < MAX_CONTEXT ; i++) { - if (!global_ppriv[i].used) { - global_ppriv[i].context = context; - global_ppriv[i].used = 1; - global_ppriv[i].sets[0] = via_setInit(); - global_ppriv[i].sets[1] = via_setInit(); - DRM_DEBUG("init allocation set, socket=%d," - " context = %d\n", i, context); - break; - } - } - - if ((i >= MAX_CONTEXT) || (global_ppriv[i].sets[0] == NULL) || - (global_ppriv[i].sets[1] == NULL)) { - return 0; - } - } - - return 1; + int i; + + for (i = 0; i < MAX_CONTEXT; i++) + if (global_ppriv[i].used && + (global_ppriv[i].context == context)) + break; + + if (i >= MAX_CONTEXT) { + for (i = 0; i < MAX_CONTEXT; i++) { + if (!global_ppriv[i].used) { + global_ppriv[i].context = context; + global_ppriv[i].used = 1; + global_ppriv[i].sets[0] = via_setInit(); + global_ppriv[i].sets[1] = via_setInit(); + DRM_DEBUG("init allocation set, socket=%d," + " context = %d\n", i, context); + break; + } + } + + if ((i >= MAX_CONTEXT) || (global_ppriv[i].sets[0] == NULL) || + (global_ppriv[i].sets[1] == NULL)) { + return 0; + } + } + + return 1; } int via_final_context(struct drm_device *dev, int context) { - int i; - for (i=0; ictx_count == 1 && dev->dev_private) { - if (dev->irq) DRM(irq_uninstall)(dev); + if (dev->irq) + DRM(irq_uninstall) (dev); via_do_cleanup_map(dev); } #endif - - return 1; + + return 1; } -int via_mem_alloc( DRM_IOCTL_ARGS) + +int via_mem_alloc(DRM_IOCTL_ARGS) { - drm_via_mem_t mem; - - DRM_COPY_FROM_USER_IOCTL(mem, (drm_via_mem_t *)data, sizeof(mem)); - switch (mem.type) { - case VIDEO : - if (via_fb_alloc(&mem) < 0) - return -EFAULT; - DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *)data, mem, - sizeof(mem)); - return 0; - case AGP : - if (via_agp_alloc(&mem) < 0) - return -EFAULT; - DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *)data, mem, - sizeof(mem)); - return 0; - } - - return -EFAULT; + drm_via_mem_t mem; + + DRM_COPY_FROM_USER_IOCTL(mem, (drm_via_mem_t *) data, sizeof(mem)); + switch (mem.type) { + case VIDEO: + if (via_fb_alloc(&mem) < 0) + return -EFAULT; + DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *) data, mem, + sizeof(mem)); + return 0; + case AGP: + if (via_agp_alloc(&mem) < 0) + return -EFAULT; + DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *) data, mem, + sizeof(mem)); + return 0; + } + + return -EFAULT; } -int via_fb_alloc(drm_via_mem_t* mem) +int via_fb_alloc(drm_via_mem_t * mem) { - drm_via_mm_t fb; - PMemBlock block; - int retval = 0; - - if (!FBHeap) - return -1; - - fb.size = mem->size; - fb.context = mem->context; - - block = via_mmAllocMem(FBHeap, fb.size, 5, 0); - if (block) { - fb.offset = block->ofs; - fb.free = (unsigned int)block; - if (!add_alloc_set(fb.context, VIDEO, fb.free)) { - DRM_DEBUG("adding to allocation set fails\n"); - via_mmFreeMem((PMemBlock)fb.free); - retval = -1; - } - } - else { - fb.offset = 0; - fb.size = 0; - fb.free = 0; - retval = -1; - } - - mem->offset = fb.offset; - mem->index = fb.free; - - DRM_DEBUG("alloc fb, size = %d, offset = %d\n", fb.size, - (int)fb.offset); - - return retval; + drm_via_mm_t fb; + PMemBlock block; + int retval = 0; + + if (!FBHeap) + return -1; + + fb.size = mem->size; + fb.context = mem->context; + + block = via_mmAllocMem(FBHeap, fb.size, 5, 0); + if (block) { + fb.offset = block->ofs; + fb.free = (unsigned int)block; + if (!add_alloc_set(fb.context, VIDEO, fb.free)) { + DRM_DEBUG("adding to allocation set fails\n"); + via_mmFreeMem((PMemBlock) fb.free); + retval = -1; + } + } else { + fb.offset = 0; + fb.size = 0; + fb.free = 0; + retval = -1; + } + + mem->offset = fb.offset; + mem->index = fb.free; + + DRM_DEBUG("alloc fb, size = %d, offset = %d\n", fb.size, + (int)fb.offset); + + return retval; } -int via_agp_alloc(drm_via_mem_t* mem) + +int via_agp_alloc(drm_via_mem_t * mem) { - drm_via_mm_t agp; - PMemBlock block; - int retval = 0; - - if (!AgpHeap) - return -1; - - agp.size = mem->size; - agp.context = mem->context; - - block = via_mmAllocMem(AgpHeap, agp.size, 5, 0); - if (block) { - agp.offset = block->ofs; - agp.free = (unsigned int)block; - if (!add_alloc_set(agp.context, AGP, agp.free)) { - DRM_DEBUG("adding to allocation set fails\n"); - via_mmFreeMem((PMemBlock)agp.free); - retval = -1; - } - } - else { - agp.offset = 0; - agp.size = 0; - agp.free = 0; - } - - mem->offset = agp.offset; - mem->index = agp.free; - - DRM_DEBUG("alloc agp, size = %d, offset = %d\n", agp.size, - (unsigned int)agp.offset); - return retval; + drm_via_mm_t agp; + PMemBlock block; + int retval = 0; + + if (!AgpHeap) + return -1; + + agp.size = mem->size; + agp.context = mem->context; + + block = via_mmAllocMem(AgpHeap, agp.size, 5, 0); + if (block) { + agp.offset = block->ofs; + agp.free = (unsigned int)block; + if (!add_alloc_set(agp.context, AGP, agp.free)) { + DRM_DEBUG("adding to allocation set fails\n"); + via_mmFreeMem((PMemBlock) agp.free); + retval = -1; + } + } else { + agp.offset = 0; + agp.size = 0; + agp.free = 0; + } + + mem->offset = agp.offset; + mem->index = agp.free; + + DRM_DEBUG("alloc agp, size = %d, offset = %d\n", agp.size, + (unsigned int)agp.offset); + return retval; } -int via_mem_free( DRM_IOCTL_ARGS ) +int via_mem_free(DRM_IOCTL_ARGS) { - drm_via_mem_t mem; - - DRM_COPY_FROM_USER_IOCTL(mem, (drm_via_mem_t *)data, sizeof(mem)); - - switch (mem.type) { - - case VIDEO : - if (via_fb_free(&mem) == 0) - return 0; - break; - case AGP : - if (via_agp_free(&mem) == 0) - return 0; - break; - } - - return -EFAULT; + drm_via_mem_t mem; + + DRM_COPY_FROM_USER_IOCTL(mem, (drm_via_mem_t *) data, sizeof(mem)); + + switch (mem.type) { + + case VIDEO: + if (via_fb_free(&mem) == 0) + return 0; + break; + case AGP: + if (via_agp_free(&mem) == 0) + return 0; + break; + } + + return -EFAULT; } -int via_fb_free(drm_via_mem_t* mem) + +int via_fb_free(drm_via_mem_t * mem) { - drm_via_mm_t fb; - int retval = 0; - - - if (!FBHeap) { - return -1; - } - - fb.free = mem->index; - fb.context = mem->context; - - if (!fb.free) - { - return -1; - - } - - via_mmFreeMem((PMemBlock)fb.free); - - if (!del_alloc_set(fb.context, VIDEO, fb.free)) - { - retval = -1; - } - - DRM_DEBUG("free fb, free = %d\n", fb.free); - - return retval; -} -int via_agp_free(drm_via_mem_t* mem) + drm_via_mm_t fb; + int retval = 0; + + if (!FBHeap) { + return -1; + } + + fb.free = mem->index; + fb.context = mem->context; + + if (!fb.free) { + return -1; + + } + + via_mmFreeMem((PMemBlock) fb.free); + + if (!del_alloc_set(fb.context, VIDEO, fb.free)) { + retval = -1; + } + + DRM_DEBUG("free fb, free = %d\n", fb.free); + + return retval; +} + +int via_agp_free(drm_via_mem_t * mem) { - drm_via_mm_t agp; - - int retval = 0; - - agp.free = mem->index; - agp.context = mem->context; - - if (!agp.free) - return -1; - - via_mmFreeMem((PMemBlock)agp.free); - - if (!del_alloc_set(agp.context, AGP, agp.free)) { - retval = -1; + drm_via_mm_t agp; + + int retval = 0; + + agp.free = mem->index; + agp.context = mem->context; + + if (!agp.free) + return -1; + + via_mmFreeMem((PMemBlock) agp.free); + + if (!del_alloc_set(agp.context, AGP, agp.free)) { + retval = -1; } - DRM_DEBUG("free agp, free = %d\n", agp.free); - - return retval; + DRM_DEBUG("free agp, free = %d\n", agp.free); + + return retval; } EXPORT_SYMBOL(via_fb_alloc); EXPORT_SYMBOL(via_fb_free); -void DRM(driver_register_fns)(drm_device_t *dev) -{ - dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL; +void DRM(driver_register_fns) (drm_device_t * dev) { + dev->driver_features = + DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | + DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL; dev->fn_tbl.context_ctor = via_init_context; dev->fn_tbl.context_dtor = via_final_context; dev->fn_tbl.vblank_wait = via_driver_vblank_wait; -- cgit v1.2.3