]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
merge Linus head tree into my drm tree and fix up conflicts
authorDave Airlie <airlied@starflyer.(none)>
Thu, 20 Oct 2005 08:21:33 +0000 (18:21 +1000)
committerDave Airlie <airlied@linux.ie>
Thu, 20 Oct 2005 08:21:33 +0000 (18:21 +1000)
1  2 
drivers/char/drm/drm_drv.c
drivers/char/drm/drm_proc.c
drivers/char/drm/drm_stub.c
drivers/char/drm/mga_dma.c

index 26733248ff4a3bbece18fcba97ad742eb8c44ba4,041bb47b5c39fb4f0c71e6562a2be159b4394bb5..4dff7554eb083e5f4b5a41b19db41ba3014db3e9
@@@ -1,5 -1,5 +1,5 @@@
  /**
 - * \file drm_drv.
 + * \file drm_drv.c
   * Generic driver template
   *
   * \author Rickard E. (Rik) Faith <faith@valinux.com>
@@@ -55,67 -55,67 +55,67 @@@ static int drm_version(struct inode *in
                       unsigned int cmd, unsigned long arg);
  
  /** Ioctl table */
 -static drm_ioctl_desc_t                 drm_ioctls[] = {
 -      [DRM_IOCTL_NR(DRM_IOCTL_VERSION)]       = { drm_version,     0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_UNIQUE)]    = { drm_getunique,   0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_MAGIC)]     = { drm_getmagic,    0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_IRQ_BUSID)]     = { drm_irq_by_busid, 0, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_MAP)]       = { drm_getmap,      0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_CLIENT)]    = { drm_getclient,   0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_STATS)]     = { drm_getstats,    0, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_SET_VERSION)]   = { drm_setversion,  0, 1 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_SET_UNIQUE)]    = { drm_setunique,   1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_BLOCK)]         = { drm_noop,        1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_UNBLOCK)]       = { drm_noop,        1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AUTH_MAGIC)]    = { drm_authmagic,   1, 1 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_ADD_MAP)]       = { drm_addmap_ioctl,1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_RM_MAP)]        = { drm_rmmap_ioctl, 1, 0 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_SET_SAREA_CTX)] = { drm_setsareactx, 1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_SAREA_CTX)] = { drm_getsareactx, 1, 0 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_ADD_CTX)]       = { drm_addctx,      1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_RM_CTX)]        = { drm_rmctx,       1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_MOD_CTX)]       = { drm_modctx,      1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_GET_CTX)]       = { drm_getctx,      1, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_SWITCH_CTX)]    = { drm_switchctx,   1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_NEW_CTX)]       = { drm_newctx,      1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_RES_CTX)]       = { drm_resctx,      1, 0 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_ADD_DRAW)]      = { drm_adddraw,     1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_RM_DRAW)]       = { drm_rmdraw,      1, 1 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_LOCK)]          = { drm_lock,        1, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)]        = { drm_unlock,      1, 0 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_FINISH)]        = { drm_noop,      1, 0 },
 -
 -      [DRM_IOCTL_NR(DRM_IOCTL_ADD_BUFS)]      = { drm_addbufs,     1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_MARK_BUFS)]     = { drm_markbufs,    1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_INFO_BUFS)]     = { drm_infobufs,    1, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_MAP_BUFS)]      = { drm_mapbufs,     1, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_FREE_BUFS)]     = { drm_freebufs,    1, 0 },
 +static drm_ioctl_desc_t drm_ioctls[] = {
 +      [DRM_IOCTL_NR(DRM_IOCTL_VERSION)] = {drm_version, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_UNIQUE)] = {drm_getunique, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_MAGIC)] = {drm_getmagic, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_IRQ_BUSID)] = {drm_irq_by_busid, 0, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_MAP)] = {drm_getmap, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_CLIENT)] = {drm_getclient, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_STATS)] = {drm_getstats, 0, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_SET_VERSION)] = {drm_setversion, 0, 1},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_SET_UNIQUE)] = {drm_setunique, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_BLOCK)] = {drm_noop, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_UNBLOCK)] = {drm_noop, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AUTH_MAGIC)] = {drm_authmagic, 1, 1},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_ADD_MAP)] = {drm_addmap_ioctl, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_RM_MAP)] = {drm_rmmap_ioctl, 1, 0},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_SET_SAREA_CTX)] = {drm_setsareactx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_SAREA_CTX)] = {drm_getsareactx, 1, 0},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_ADD_CTX)] = {drm_addctx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_RM_CTX)] = {drm_rmctx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_MOD_CTX)] = {drm_modctx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_GET_CTX)] = {drm_getctx, 1, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_SWITCH_CTX)] = {drm_switchctx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_NEW_CTX)] = {drm_newctx, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_RES_CTX)] = {drm_resctx, 1, 0},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_ADD_DRAW)] = {drm_adddraw, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_RM_DRAW)] = {drm_rmdraw, 1, 1},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = {drm_lock, 1, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = {drm_unlock, 1, 0},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_FINISH)] = {drm_noop, 1, 0},
 +
 +      [DRM_IOCTL_NR(DRM_IOCTL_ADD_BUFS)] = {drm_addbufs, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_MARK_BUFS)] = {drm_markbufs, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_INFO_BUFS)] = {drm_infobufs, 1, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_MAP_BUFS)] = {drm_mapbufs, 1, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_FREE_BUFS)] = {drm_freebufs, 1, 0},
        /* The DRM_IOCTL_DMA ioctl should be defined by the driver. */
  
 -      [DRM_IOCTL_NR(DRM_IOCTL_CONTROL)]       = { drm_control,     1, 1 },
 +      [DRM_IOCTL_NR(DRM_IOCTL_CONTROL)] = {drm_control, 1, 1},
  
  #if __OS_HAS_AGP
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)]   = { drm_agp_acquire_ioctl, 1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_RELEASE)]   = { drm_agp_release_ioctl, 1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE)]    = { drm_agp_enable_ioctl, 1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_INFO)]      = { drm_agp_info_ioctl, 1, 0 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ALLOC)]     = { drm_agp_alloc,   1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_FREE)]      = { drm_agp_free,    1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_BIND)]      = { drm_agp_bind,    1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_AGP_UNBIND)]    = { drm_agp_unbind,  1, 1 },
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = {drm_agp_acquire_ioctl, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_RELEASE)] = {drm_agp_release_ioctl, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE)] = {drm_agp_enable_ioctl, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_INFO)] = {drm_agp_info_ioctl, 1, 0},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_ALLOC)] = {drm_agp_alloc, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_FREE)] = {drm_agp_free, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_BIND)] = {drm_agp_bind, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_AGP_UNBIND)] = {drm_agp_unbind, 1, 1},
  #endif
  
 -      [DRM_IOCTL_NR(DRM_IOCTL_SG_ALLOC)]      = { drm_sg_alloc,    1, 1 },
 -      [DRM_IOCTL_NR(DRM_IOCTL_SG_FREE)]       = { drm_sg_free,     1, 1 },
 +      [DRM_IOCTL_NR(DRM_IOCTL_SG_ALLOC)] = {drm_sg_alloc, 1, 1},
 +      [DRM_IOCTL_NR(DRM_IOCTL_SG_FREE)] = {drm_sg_free, 1, 1},
  
 -      [DRM_IOCTL_NR(DRM_IOCTL_WAIT_VBLANK)]   = { drm_wait_vblank, 0, 0 },
 +      [DRM_IOCTL_NR(DRM_IOCTL_WAIT_VBLANK)] = {drm_wait_vblank, 0, 0},
  };
  
  #define DRIVER_IOCTL_COUNT    DRM_ARRAY_SIZE( drm_ioctls )
   *
   * \sa drm_device
   */
 -int drm_takedown( drm_device_t *dev )
 +int drm_takedown(drm_device_t * dev)
  {
        drm_magic_entry_t *pt, *next;
        drm_map_list_t *r_list;
        drm_vma_entry_t *vma, *vma_next;
        int i;
  
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        if (dev->driver->pretakedown)
 -        dev->driver->pretakedown(dev);
 +              dev->driver->pretakedown(dev);
        DRM_DEBUG("driver pretakedown completed\n");
  
        if (dev->unique) {
                dev->unique_len = 0;
        }
  
 -      if ( dev->irq_enabled ) drm_irq_uninstall( dev );
 +      if (dev->irq_enabled)
 +              drm_irq_uninstall(dev);
  
 -      down( &dev->struct_sem );
 -      del_timer( &dev->timer );
 +      down(&dev->struct_sem);
 +      del_timer(&dev->timer);
  
 -                              /* Clear pid list */
 -      for ( i = 0 ; i < DRM_HASH_SIZE ; i++ ) {
 -              for ( pt = dev->magiclist[i].head ; pt ; pt = next ) {
 +      /* Clear pid list */
 +      for (i = 0; i < DRM_HASH_SIZE; i++) {
 +              for (pt = dev->magiclist[i].head; pt; pt = next) {
                        next = pt->next;
 -                      drm_free( pt, sizeof(*pt), DRM_MEM_MAGIC );
 +                      drm_free(pt, sizeof(*pt), DRM_MEM_MAGIC);
                }
                dev->magiclist[i].head = dev->magiclist[i].tail = NULL;
        }
  
 -                              /* Clear AGP information */
 +      /* Clear AGP information */
        if (drm_core_has_AGP(dev) && dev->agp) {
                drm_agp_mem_t *entry;
                drm_agp_mem_t *nexte;
  
 -                              /* Remove AGP resources, but leave dev->agp
 -                                   intact until drv_cleanup is called. */
 -              for ( entry = dev->agp->memory ; entry ; entry = nexte ) {
 +              /* Remove AGP resources, but leave dev->agp
 +                 intact until drv_cleanup is called. */
 +              for (entry = dev->agp->memory; entry; entry = nexte) {
                        nexte = entry->next;
 -                      if ( entry->bound ) drm_unbind_agp( entry->memory );
 -                      drm_free_agp( entry->memory, entry->pages );
 -                      drm_free( entry, sizeof(*entry), DRM_MEM_AGPLISTS );
 +                      if (entry->bound)
 +                              drm_unbind_agp(entry->memory);
 +                      drm_free_agp(entry->memory, entry->pages);
 +                      drm_free(entry, sizeof(*entry), DRM_MEM_AGPLISTS);
                }
                dev->agp->memory = NULL;
  
                if (dev->agp->acquired)
 -                drm_agp_release(dev);
 +                      drm_agp_release(dev);
  
                dev->agp->acquired = 0;
 -              dev->agp->enabled  = 0;
 +              dev->agp->enabled = 0;
        }
        if (drm_core_check_feature(dev, DRIVER_SG) && dev->sg) {
                drm_sg_cleanup(dev->sg);
                dev->sg = NULL;
        }
  
 -                              /* Clear vma list (only built for debugging) */
 -      if ( dev->vmalist ) {
 -              for ( vma = dev->vmalist ; vma ; vma = vma_next ) {
 +      /* Clear vma list (only built for debugging) */
 +      if (dev->vmalist) {
 +              for (vma = dev->vmalist; vma; vma = vma_next) {
                        vma_next = vma->next;
 -                      drm_free( vma, sizeof(*vma), DRM_MEM_VMAS );
 +                      drm_free(vma, sizeof(*vma), DRM_MEM_VMAS);
                }
                dev->vmalist = NULL;
        }
  
 -      if( dev->maplist ) {
 +      if (dev->maplist) {
                while (!list_empty(&dev->maplist->head)) {
                        struct list_head *list = dev->maplist->head.next;
                        r_list = list_entry(list, drm_map_list_t, head);
                        drm_rmmap_locked(dev, r_list->map);
                }
 -      }
 -
 -      if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && dev->queuelist ) {
 -              for ( i = 0 ; i < dev->queue_count ; i++ ) {
 -                      if ( dev->queuelist[i] ) {
 -                              drm_free( dev->queuelist[i],
 -                                        sizeof(*dev->queuelist[0]),
 -                                        DRM_MEM_QUEUES );
 +      }
 +
 +      if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && dev->queuelist) {
 +              for (i = 0; i < dev->queue_count; i++) {
 +                      if (dev->queuelist[i]) {
 +                              drm_free(dev->queuelist[i],
 +                                       sizeof(*dev->queuelist[0]),
 +                                       DRM_MEM_QUEUES);
                                dev->queuelist[i] = NULL;
                        }
                }
 -              drm_free( dev->queuelist,
 -                        dev->queue_slots * sizeof(*dev->queuelist),
 -                        DRM_MEM_QUEUES );
 +              drm_free(dev->queuelist,
 +                       dev->queue_slots * sizeof(*dev->queuelist),
 +                       DRM_MEM_QUEUES);
                dev->queuelist = NULL;
        }
        dev->queue_count = 0;
  
        if (drm_core_check_feature(dev, DRIVER_HAVE_DMA))
 -              drm_dma_takedown( dev );
 +              drm_dma_takedown(dev);
  
 -      if ( dev->lock.hw_lock ) {
 -              dev->sigdata.lock = dev->lock.hw_lock = NULL; /* SHM removed */
 +      if (dev->lock.hw_lock) {
 +              dev->sigdata.lock = dev->lock.hw_lock = NULL;   /* SHM removed */
                dev->lock.filp = NULL;
 -              wake_up_interruptible( &dev->lock.lock_queue );
 +              wake_up_interruptible(&dev->lock.lock_queue);
        }
 -      up( &dev->struct_sem );
 +      up(&dev->struct_sem);
  
        DRM_DEBUG("takedown completed\n");
        return 0;
  }
  
 -
 -
  /**
   * Module initialization. Called via init_module at module load time, or via
   * linux/init/main.c (this is not currently supported).
   * Initializes an array of drm_device structures, and attempts to
   * initialize all available devices, using consecutive minors, registering the
   * stubs and initializing the AGP device.
 - * 
 + *
   * Expands the \c DRIVER_PREINIT and \c DRIVER_POST_INIT macros before and
   * after the initialization for driver customization.
   */
 -int drm_init( struct drm_driver *driver )
 +int drm_init(struct drm_driver *driver)
  {
        struct pci_dev *pdev = NULL;
        struct pci_device_id *pid;
        int i;
  
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        drm_mem_init();
  
 -      for (i=0; driver->pci_driver.id_table[i].vendor != 0; i++) {
 +      for (i = 0; driver->pci_driver.id_table[i].vendor != 0; i++) {
                pid = (struct pci_device_id *)&driver->pci_driver.id_table[i];
 -              
 -              pdev=NULL;
 -              /* pass back in pdev to account for multiple identical cards */         
 -              while ((pdev = pci_get_subsys(pid->vendor, pid->device, pid->subvendor, pid->subdevice, pdev)) != NULL) {
 +
 +              pdev = NULL;
 +              /* pass back in pdev to account for multiple identical cards */
 +              while ((pdev =
 +                      pci_get_subsys(pid->vendor, pid->device, pid->subvendor,
 +                                     pid->subdevice, pdev)) != NULL) {
                        /* stealth mode requires a manual probe */
                        pci_dev_get(pdev);
                        drm_get_dev(pdev, pid, driver);
        }
        return 0;
  }
 +
  EXPORT_SYMBOL(drm_init);
  
  /**
   * Called via cleanup_module() at module unload time.
   *
   * Cleans up all DRM device, calling takedown().
 - * 
 + *
   * \sa drm_init
   */
 -static void drm_cleanup( drm_device_t *dev )
 +static void drm_cleanup(drm_device_t * dev)
  {
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        if (!dev) {
                DRM_ERROR("cleanup called no dev\n");
                return;
        }
  
 -      drm_takedown( dev );    
 +      drm_takedown(dev);
  
        if (dev->maplist) {
                drm_free(dev->maplist, sizeof(*dev->maplist), DRM_MEM_MAPS);
                dev->maplist = NULL;
        }
  
 -      drm_ctxbitmap_cleanup( dev );
 -      
 +      drm_ctxbitmap_cleanup(dev);
 +
        if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) &&
            dev->agp && dev->agp->agp_mtrr >= 0) {
                int retval;
 -              retval = mtrr_del( dev->agp->agp_mtrr,
 -                                 dev->agp->agp_info.aper_base,
 -                                 dev->agp->agp_info.aper_size*1024*1024 );
 -              DRM_DEBUG( "mtrr_del=%d\n", retval );
 +              retval = mtrr_del(dev->agp->agp_mtrr,
 +                                dev->agp->agp_info.aper_base,
 +                                dev->agp->agp_info.aper_size * 1024 * 1024);
 +              DRM_DEBUG("mtrr_del=%d\n", retval);
        }
 -      
 -      if (drm_core_has_AGP(dev) && dev->agp ) {
 -              drm_free( dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS );
 +
 +      if (drm_core_has_AGP(dev) && dev->agp) {
 +              drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
                dev->agp = NULL;
        }
  
        if (dev->driver->postcleanup)
                dev->driver->postcleanup(dev);
 -      
 +
        drm_put_head(&dev->primary);
 -      if ( drm_put_dev(dev) )
 -              DRM_ERROR( "Cannot unload module\n" );
 +      if (drm_put_dev(dev))
 +              DRM_ERROR("Cannot unload module\n");
  }
  
 -void drm_exit (struct drm_driver *driver)
 +void drm_exit(struct drm_driver *driver)
  {
        int i;
        drm_device_t *dev = NULL;
        drm_head_t *head;
 -      
 -      DRM_DEBUG( "\n" );
 +
 +      DRM_DEBUG("\n");
  
        for (i = 0; i < drm_cards_limit; i++) {
                head = drm_heads[i];
                        continue;
                if (!head->dev)
                        continue;
 -              if (head->dev->driver!=driver)
 +              if (head->dev->driver != driver)
                        continue;
 -              dev=head->dev;
 +              dev = head->dev;
        }
        if (dev) {
                /* release the pci driver */
                        pci_dev_put(dev->pdev);
                drm_cleanup(dev);
        }
 -      DRM_INFO( "Module unloaded\n" );
 +      DRM_INFO("Module unloaded\n");
  }
 +
  EXPORT_SYMBOL(drm_exit);
  
  /** File operations structure */
  static struct file_operations drm_stub_fops = {
        .owner = THIS_MODULE,
 -      .open  = drm_stub_open
 +      .open = drm_stub_open
  };
  
  static int __init drm_core_init(void)
  {
        int ret = -ENOMEM;
 -      
 -      drm_cards_limit = (drm_cards_limit < DRM_MAX_MINOR + 1 ? drm_cards_limit : DRM_MAX_MINOR + 1);
 -      drm_heads = drm_calloc(drm_cards_limit,
 -                              sizeof(*drm_heads), DRM_MEM_STUB);
 -      if(!drm_heads) 
 +
 +      drm_cards_limit =
 +          (drm_cards_limit <
 +           DRM_MAX_MINOR + 1 ? drm_cards_limit : DRM_MAX_MINOR + 1);
 +      drm_heads =
 +          drm_calloc(drm_cards_limit, sizeof(*drm_heads), DRM_MEM_STUB);
 +      if (!drm_heads)
                goto err_p1;
 -      
 +
        if (register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops))
                goto err_p1;
 -      
 +
        drm_class = drm_sysfs_create(THIS_MODULE, "drm");
        if (IS_ERR(drm_class)) {
 -              printk (KERN_ERR "DRM: Error creating drm class.\n");
 +              printk(KERN_ERR "DRM: Error creating drm class.\n");
                ret = PTR_ERR(drm_class);
                goto err_p2;
        }
  
-       drm_proc_root = create_proc_entry("dri", S_IFDIR, NULL);
+       drm_proc_root = proc_mkdir("dri", NULL);
        if (!drm_proc_root) {
                DRM_ERROR("Cannot create /proc/dri\n");
                ret = -1;
                goto err_p3;
        }
 -              
 -      DRM_INFO( "Initialized %s %d.%d.%d %s\n",
 -              CORE_NAME, CORE_MAJOR, CORE_MINOR, CORE_PATCHLEVEL,
 -              CORE_DATE);
 +
 +      DRM_INFO("Initialized %s %d.%d.%d %s\n",
 +               CORE_NAME, CORE_MAJOR, CORE_MINOR, CORE_PATCHLEVEL, CORE_DATE);
        return 0;
 -err_p3:
 +      err_p3:
        drm_sysfs_destroy(drm_class);
 -err_p2:
 +      err_p2:
        unregister_chrdev(DRM_MAJOR, "drm");
        drm_free(drm_heads, sizeof(*drm_heads) * drm_cards_limit, DRM_MEM_STUB);
 -err_p1:       
 +      err_p1:
        return ret;
  }
  
 -static void __exit drm_core_exit (void)
 +static void __exit drm_core_exit(void)
  {
        remove_proc_entry("dri", NULL);
        drm_sysfs_destroy(drm_class);
  
        unregister_chrdev(DRM_MAJOR, "drm");
  
 -      drm_free(drm_heads, sizeof(*drm_heads) *
 -                              drm_cards_limit, DRM_MEM_STUB);
 +      drm_free(drm_heads, sizeof(*drm_heads) * drm_cards_limit, DRM_MEM_STUB);
  }
  
 -
 -module_init( drm_core_init );
 -module_exit( drm_core_exit );
 -
 +module_init(drm_core_init);
 +module_exit(drm_core_exit);
  
  /**
   * Get version information
   *
   * Fills in the version information in \p arg.
   */
 -static int drm_version( struct inode *inode, struct file *filp,
 -                      unsigned int cmd, unsigned long arg )
 +static int drm_version(struct inode *inode, struct file *filp,
 +                     unsigned int cmd, unsigned long arg)
  {
        drm_file_t *priv = filp->private_data;
        drm_device_t *dev = priv->head->dev;
        drm_version_t version;
        int ret;
  
 -      if ( copy_from_user( &version, argp, sizeof(version) ) )
 +      if (copy_from_user(&version, argp, sizeof(version)))
                return -EFAULT;
  
        /* version is a required function to return the personality module version */
        if ((ret = dev->driver->version(&version)))
                return ret;
 -              
 -      if ( copy_to_user( argp, &version, sizeof(version) ) )
 +
 +      if (copy_to_user(argp, &version, sizeof(version)))
                return -EFAULT;
        return 0;
  }
  
 -
 -
 -/** 
 +/**
   * Called whenever a process performs an ioctl on /dev/drm.
   *
   * \param inode device inode.
   * Looks up the ioctl function in the ::ioctls table, checking for root
   * previleges if so required, and dispatches to the respective function.
   */
 -int drm_ioctl( struct inode *inode, struct file *filp,
 -              unsigned int cmd, unsigned long arg )
 +int drm_ioctl(struct inode *inode, struct file *filp,
 +            unsigned int cmd, unsigned long arg)
  {
        drm_file_t *priv = filp->private_data;
        drm_device_t *dev = priv->head->dev;
        unsigned int nr = DRM_IOCTL_NR(cmd);
        int retcode = -EINVAL;
  
 -      atomic_inc( &dev->ioctl_count );
 -      atomic_inc( &dev->counts[_DRM_STAT_IOCTLS] );
 +      atomic_inc(&dev->ioctl_count);
 +      atomic_inc(&dev->counts[_DRM_STAT_IOCTLS]);
        ++priv->ioctl_count;
  
 -      DRM_DEBUG( "pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
 -                 current->pid, cmd, nr, (long)old_encode_dev(priv->head->device), 
 -                 priv->authenticated );
 -      
 +      DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
 +                current->pid, cmd, nr,
 +                (long)old_encode_dev(priv->head->device),
 +                priv->authenticated);
 +
        if (nr < DRIVER_IOCTL_COUNT)
                ioctl = &drm_ioctls[nr];
 -      else if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls))
 +      else if ((nr >= DRM_COMMAND_BASE)
 +               && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls))
                ioctl = &dev->driver->ioctls[nr - DRM_COMMAND_BASE];
        else
                goto err_i1;
 -      
 +
        func = ioctl->func;
        /* is there a local override? */
        if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl)
                func = dev->driver->dma_ioctl;
 -      
 -      if ( !func ) {
 -              DRM_DEBUG( "no function\n" );
 +
 +      if (!func) {
 +              DRM_DEBUG("no function\n");
                retcode = -EINVAL;
 -      } else if ( ( ioctl->root_only && !capable( CAP_SYS_ADMIN ) )||
 -                  ( ioctl->auth_needed && !priv->authenticated ) ) {
 +      } else if ((ioctl->root_only && !capable(CAP_SYS_ADMIN)) ||
 +                 (ioctl->auth_needed && !priv->authenticated)) {
                retcode = -EACCES;
        } else {
 -              retcode = func( inode, filp, cmd, arg );
 +              retcode = func(inode, filp, cmd, arg);
        }
 -      
 -err_i1:
 -      atomic_dec( &dev->ioctl_count );
 -      if (retcode) DRM_DEBUG( "ret = %x\n", retcode);
 +
 +      err_i1:
 +      atomic_dec(&dev->ioctl_count);
 +      if (retcode)
 +              DRM_DEBUG("ret = %x\n", retcode);
        return retcode;
  }
 -EXPORT_SYMBOL(drm_ioctl);
  
 +EXPORT_SYMBOL(drm_ioctl);
index 8ec2156b97a9ec8b0d3cc60191d361650d51457d,977961002488171d10897735c993d010040b5364..3f452f763f0fa27d00b7119e170f7b0501534e8f
@@@ -1,5 -1,5 +1,5 @@@
  /**
 - * \file drm_proc.
 + * \file drm_proc.c
   * /proc support for DRM
   *
   * \author Rickard E. (Rik) Faith <faith@valinux.com>
  
  #include "drmP.h"
  
 -static int       drm_name_info(char *buf, char **start, off_t offset,
 -                                int request, int *eof, void *data);
 -static int       drm_vm_info(char *buf, char **start, off_t offset,
 -                              int request, int *eof, void *data);
 -static int       drm_clients_info(char *buf, char **start, off_t offset,
 -                                   int request, int *eof, void *data);
 -static int       drm_queues_info(char *buf, char **start, off_t offset,
 -                                  int request, int *eof, void *data);
 -static int       drm_bufs_info(char *buf, char **start, off_t offset,
 -                                int request, int *eof, void *data);
 +static int drm_name_info(char *buf, char **start, off_t offset,
 +                       int request, int *eof, void *data);
 +static int drm_vm_info(char *buf, char **start, off_t offset,
 +                     int request, int *eof, void *data);
 +static int drm_clients_info(char *buf, char **start, off_t offset,
 +                          int request, int *eof, void *data);
 +static int drm_queues_info(char *buf, char **start, off_t offset,
 +                         int request, int *eof, void *data);
 +static int drm_bufs_info(char *buf, char **start, off_t offset,
 +                       int request, int *eof, void *data);
  #if DRM_DEBUG_CODE
 -static int       drm_vma_info(char *buf, char **start, off_t offset,
 -                               int request, int *eof, void *data);
 +static int drm_vma_info(char *buf, char **start, off_t offset,
 +                      int request, int *eof, void *data);
  #endif
  
  /**
   */
  static struct drm_proc_list {
        const char *name;       /**< file name */
 -      int        (*f)(char *, char **, off_t, int, int *, void *);    /**< proc callback*/
 +      int (*f) (char *, char **, off_t, int, int *, void *);          /**< proc callback*/
  } drm_proc_list[] = {
 -      { "name",    drm_name_info    },
 -      { "mem",     drm_mem_info     },
 -      { "vm",      drm_vm_info      },
 -      { "clients", drm_clients_info },
 -      { "queues",  drm_queues_info  },
 -      { "bufs",    drm_bufs_info    },
 +      {
 +      "name", drm_name_info}, {
 +      "mem", drm_mem_info}, {
 +      "vm", drm_vm_info}, {
 +      "clients", drm_clients_info}, {
 +      "queues", drm_queues_info}, {
 +      "bufs", drm_bufs_info},
  #if DRM_DEBUG_CODE
 -      { "vma",     drm_vma_info     },
 +      {
 +      "vma", drm_vma_info},
  #endif
  };
 +
  #define DRM_PROC_ENTRIES (sizeof(drm_proc_list)/sizeof(drm_proc_list[0]))
  
  /**
   * \param root DRI proc dir entry.
   * \param dev_root resulting DRI device proc dir entry.
   * \return root entry pointer on success, or NULL on failure.
 - * 
 + *
   * Create the DRI proc root entry "/proc/dri", the device proc root entry
   * "/proc/dri/%minor%/", and each entry in proc_list as
   * "/proc/dri/%minor%/%name%".
   */
 -int drm_proc_init(drm_device_t *dev, int minor,
 -                  struct proc_dir_entry *root,
 -                  struct proc_dir_entry **dev_root)
 +int drm_proc_init(drm_device_t * dev, int minor,
 +                struct proc_dir_entry *root, struct proc_dir_entry **dev_root)
  {
        struct proc_dir_entry *ent;
 -      int                   i, j;
 -      char                  name[64];
 +      int i, j;
 +      char name[64];
  
        sprintf(name, "%d", minor);
-       *dev_root = create_proc_entry(name, S_IFDIR, root);
+       *dev_root = proc_mkdir(name, root);
        if (!*dev_root) {
                DRM_ERROR("Cannot create /proc/dri/%s\n", name);
                return -1;
  
        for (i = 0; i < DRM_PROC_ENTRIES; i++) {
                ent = create_proc_entry(drm_proc_list[i].name,
 -                                      S_IFREG|S_IRUGO, *dev_root);
 +                                      S_IFREG | S_IRUGO, *dev_root);
                if (!ent) {
                        DRM_ERROR("Cannot create /proc/dri/%s/%s\n",
                                  name, drm_proc_list[i].name);
                        return -1;
                }
                ent->read_proc = drm_proc_list[i].f;
 -              ent->data      = dev;
 +              ent->data = dev;
        }
  
        return 0;
  }
  
 -
  /**
   * Cleanup the proc filesystem resources.
   *
   * Remove all proc entries created by proc_init().
   */
  int drm_proc_cleanup(int minor, struct proc_dir_entry *root,
 -                    struct proc_dir_entry *dev_root)
 +                   struct proc_dir_entry *dev_root)
  {
 -      int  i;
 +      int i;
        char name[64];
  
 -      if (!root || !dev_root) return 0;
 +      if (!root || !dev_root)
 +              return 0;
  
        for (i = 0; i < DRM_PROC_ENTRIES; i++)
                remove_proc_entry(drm_proc_list[i].name, dev_root);
  
  /**
   * Called when "/proc/dri/.../name" is read.
 - * 
 + *
   * \param buf output buffer.
   * \param start start of output data.
   * \param offset requested start offset.
   * \param eof whether there is no more data to return.
   * \param data private data.
   * \return number of written bytes.
 - * 
 + *
   * Prints the device name together with the bus id if available.
   */
  static int drm_name_info(char *buf, char **start, off_t offset, int request,
 -                        int *eof, void *data)
 +                       int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          len  = 0;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
  
        if (offset > DRM_PROC_LIMIT) {
                *eof = 1;
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        if (dev->unique) {
                DRM_PROC_PRINT("%s %s %s\n",
 -                             dev->driver->pci_driver.name, pci_name(dev->pdev), dev->unique);
 +                             dev->driver->pci_driver.name,
 +                             pci_name(dev->pdev), dev->unique);
        } else {
 -              DRM_PROC_PRINT("%s %s\n", dev->driver->pci_driver.name, pci_name(dev->pdev));
 +              DRM_PROC_PRINT("%s %s\n", dev->driver->pci_driver.name,
 +                             pci_name(dev->pdev));
        }
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
  
  /**
   * Called when "/proc/dri/.../vm" is read.
 - * 
 + *
   * \param buf output buffer.
   * \param start start of output data.
   * \param offset requested start offset.
   * \param eof whether there is no more data to return.
   * \param data private data.
   * \return number of written bytes.
 - * 
 + *
   * Prints information about all mappings in drm_device::maplist.
   */
  static int drm__vm_info(char *buf, char **start, off_t offset, int request,
 -                       int *eof, void *data)
 +                      int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          len  = 0;
 -      drm_map_t    *map;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
 +      drm_map_t *map;
        drm_map_list_t *r_list;
        struct list_head *list;
  
 -                              /* Hardcoded from _DRM_FRAME_BUFFER,
 -                                   _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
 -                                   _DRM_SCATTER_GATHER and _DRM_CONSISTENT */
 -      const char   *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };
 -      const char   *type;
 -      int          i;
 +      /* Hardcoded from _DRM_FRAME_BUFFER,
 +         _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
 +         _DRM_SCATTER_GATHER and _DRM_CONSISTENT */
 +      const char *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };
 +      const char *type;
 +      int i;
  
        if (offset > DRM_PROC_LIMIT) {
                *eof = 1;
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        DRM_PROC_PRINT("slot     offset       size type flags    "
                       "address mtrr\n\n");
        i = 0;
 -      if (dev->maplist != NULL) list_for_each(list, &dev->maplist->head) {
 +      if (dev->maplist != NULL)
 +              list_for_each(list, &dev->maplist->head) {
                r_list = list_entry(list, drm_map_list_t, head);
                map = r_list->map;
 -              if(!map)
 +              if (!map)
                        continue;
                if (map->type < 0 || map->type > 5)
                        type = "??";
 -              else    
 +              else
                        type = types[map->type];
                DRM_PROC_PRINT("%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08x ",
                               i,
                               map->offset,
 -                             map->size,
 -                             type,
 -                             map->flags,
 -                             r_list->user_token);
 +                             map->size, type, map->flags, r_list->user_token);
                if (map->mtrr < 0) {
                        DRM_PROC_PRINT("none\n");
                } else {
                        DRM_PROC_PRINT("%4d\n", map->mtrr);
                }
                i++;
 -      }
 +              }
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
   * Simply calls _vm_info() while holding the drm_device::struct_sem lock.
   */
  static int drm_vm_info(char *buf, char **start, off_t offset, int request,
 -                      int *eof, void *data)
 +                     int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          ret;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int ret;
  
        down(&dev->struct_sem);
        ret = drm__vm_info(buf, start, offset, request, eof, data);
  
  /**
   * Called when "/proc/dri/.../queues" is read.
 - * 
 + *
   * \param buf output buffer.
   * \param start start of output data.
   * \param offset requested start offset.
   * \return number of written bytes.
   */
  static int drm__queues_info(char *buf, char **start, off_t offset,
 -                           int request, int *eof, void *data)
 +                          int request, int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          len  = 0;
 -      int          i;
 -      drm_queue_t  *q;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
 +      int i;
 +      drm_queue_t *q;
  
        if (offset > DRM_PROC_LIMIT) {
                *eof = 1;
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        DRM_PROC_PRINT("  ctx/flags   use   fin"
                       "   blk/rw/rwf  wait    flushed     queued"
                                   atomic_read(&q->block_count),
                                   atomic_read(&q->block_read) ? 'r' : '-',
                                   atomic_read(&q->block_write) ? 'w' : '-',
 -                                 waitqueue_active(&q->read_queue) ? 'r':'-',
 -                                 waitqueue_active(&q->write_queue) ? 'w':'-',
 -                                 waitqueue_active(&q->flush_queue) ? 'f':'-',
 +                                 waitqueue_active(&q->read_queue) ? 'r' : '-',
 +                                 waitqueue_active(&q->
 +                                                  write_queue) ? 'w' : '-',
 +                                 waitqueue_active(&q->
 +                                                  flush_queue) ? 'f' : '-',
                                   DRM_BUFCOUNT(&q->waitlist));
                atomic_dec(&q->use_count);
        }
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
   * Simply calls _queues_info() while holding the drm_device::struct_sem lock.
   */
  static int drm_queues_info(char *buf, char **start, off_t offset, int request,
 -                          int *eof, void *data)
 +                         int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          ret;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int ret;
  
        down(&dev->struct_sem);
        ret = drm__queues_info(buf, start, offset, request, eof, data);
  
  /**
   * Called when "/proc/dri/.../bufs" is read.
 - * 
 + *
   * \param buf output buffer.
   * \param start start of output data.
   * \param offset requested start offset.
   * \return number of written bytes.
   */
  static int drm__bufs_info(char *buf, char **start, off_t offset, int request,
 -                         int *eof, void *data)
 +                        int *eof, void *data)
  {
 -      drm_device_t     *dev = (drm_device_t *)data;
 -      int              len  = 0;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
        drm_device_dma_t *dma = dev->dma;
 -      int              i;
 +      int i;
  
        if (!dma || offset > DRM_PROC_LIMIT) {
                *eof = 1;
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        DRM_PROC_PRINT(" o     size count  free  segs pages    kB\n\n");
        for (i = 0; i <= DRM_MAX_ORDER; i++) {
                                                   .freelist.count),
                                       dma->bufs[i].seg_count,
                                       dma->bufs[i].seg_count
 -                                     *(1 << dma->bufs[i].page_order),
 +                                     * (1 << dma->bufs[i].page_order),
                                       (dma->bufs[i].seg_count
                                        * (1 << dma->bufs[i].page_order))
                                       * PAGE_SIZE / 1024);
        }
        DRM_PROC_PRINT("\n");
        for (i = 0; i < dma->buf_count; i++) {
 -              if (i && !(i%32)) DRM_PROC_PRINT("\n");
 +              if (i && !(i % 32))
 +                      DRM_PROC_PRINT("\n");
                DRM_PROC_PRINT(" %d", dma->buflist[i]->list);
        }
        DRM_PROC_PRINT("\n");
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
   * Simply calls _bufs_info() while holding the drm_device::struct_sem lock.
   */
  static int drm_bufs_info(char *buf, char **start, off_t offset, int request,
 -                        int *eof, void *data)
 +                       int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          ret;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int ret;
  
        down(&dev->struct_sem);
        ret = drm__bufs_info(buf, start, offset, request, eof, data);
  
  /**
   * Called when "/proc/dri/.../clients" is read.
 - * 
 + *
   * \param buf output buffer.
   * \param start start of output data.
   * \param offset requested start offset.
   * \return number of written bytes.
   */
  static int drm__clients_info(char *buf, char **start, off_t offset,
 -                            int request, int *eof, void *data)
 +                           int request, int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          len  = 0;
 -      drm_file_t   *priv;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
 +      drm_file_t *priv;
  
        if (offset > DRM_PROC_LIMIT) {
                *eof = 1;
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        DRM_PROC_PRINT("a dev   pid    uid      magic     ioctls\n\n");
        for (priv = dev->file_first; priv; priv = priv->next) {
                               priv->authenticated ? 'y' : 'n',
                               priv->minor,
                               priv->pid,
 -                             priv->uid,
 -                             priv->magic,
 -                             priv->ioctl_count);
 +                             priv->uid, priv->magic, priv->ioctl_count);
        }
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
   * Simply calls _clients_info() while holding the drm_device::struct_sem lock.
   */
  static int drm_clients_info(char *buf, char **start, off_t offset,
 -                           int request, int *eof, void *data)
 +                          int request, int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          ret;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int ret;
  
        down(&dev->struct_sem);
        ret = drm__clients_info(buf, start, offset, request, eof, data);
  #if DRM_DEBUG_CODE
  
  static int drm__vma_info(char *buf, char **start, off_t offset, int request,
 -                        int *eof, void *data)
 +                       int *eof, void *data)
  {
 -      drm_device_t          *dev = (drm_device_t *)data;
 -      int                   len  = 0;
 -      drm_vma_entry_t       *pt;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int len = 0;
 +      drm_vma_entry_t *pt;
        struct vm_area_struct *vma;
  #if defined(__i386__)
 -      unsigned int          pgprot;
 +      unsigned int pgprot;
  #endif
  
        if (offset > DRM_PROC_LIMIT) {
        }
  
        *start = &buf[offset];
 -      *eof   = 0;
 +      *eof = 0;
  
        DRM_PROC_PRINT("vma use count: %d, high_memory = %p, 0x%08lx\n",
                       atomic_read(&dev->vma_count),
                       high_memory, virt_to_phys(high_memory));
        for (pt = dev->vmalist; pt; pt = pt->next) {
 -              if (!(vma = pt->vma)) continue;
 +              if (!(vma = pt->vma))
 +                      continue;
                DRM_PROC_PRINT("\n%5d 0x%08lx-0x%08lx %c%c%c%c%c%c 0x%08lx",
                               pt->pid,
                               vma->vm_start,
                               vma->vm_end,
 -                             vma->vm_flags & VM_READ     ? 'r' : '-',
 -                             vma->vm_flags & VM_WRITE    ? 'w' : '-',
 -                             vma->vm_flags & VM_EXEC     ? 'x' : '-',
 +                             vma->vm_flags & VM_READ ? 'r' : '-',
 +                             vma->vm_flags & VM_WRITE ? 'w' : '-',
 +                             vma->vm_flags & VM_EXEC ? 'x' : '-',
                               vma->vm_flags & VM_MAYSHARE ? 's' : 'p',
 -                             vma->vm_flags & VM_LOCKED   ? 'l' : '-',
 -                             vma->vm_flags & VM_IO       ? 'i' : '-',
 +                             vma->vm_flags & VM_LOCKED ? 'l' : '-',
 +                             vma->vm_flags & VM_IO ? 'i' : '-',
                               VM_OFFSET(vma));
  
  #if defined(__i386__)
                pgprot = pgprot_val(vma->vm_page_prot);
                DRM_PROC_PRINT(" %c%c%c%c%c%c%c%c%c",
 -                             pgprot & _PAGE_PRESENT  ? 'p' : '-',
 -                             pgprot & _PAGE_RW       ? 'w' : 'r',
 -                             pgprot & _PAGE_USER     ? 'u' : 's',
 -                             pgprot & _PAGE_PWT      ? 't' : 'b',
 -                             pgprot & _PAGE_PCD      ? 'u' : 'c',
 +                             pgprot & _PAGE_PRESENT ? 'p' : '-',
 +                             pgprot & _PAGE_RW ? 'w' : 'r',
 +                             pgprot & _PAGE_USER ? 'u' : 's',
 +                             pgprot & _PAGE_PWT ? 't' : 'b',
 +                             pgprot & _PAGE_PCD ? 'u' : 'c',
                               pgprot & _PAGE_ACCESSED ? 'a' : '-',
 -                             pgprot & _PAGE_DIRTY    ? 'd' : '-',
 -                             pgprot & _PAGE_PSE      ? 'm' : 'k',
 -                             pgprot & _PAGE_GLOBAL   ? 'g' : 'l' );
 +                             pgprot & _PAGE_DIRTY ? 'd' : '-',
 +                             pgprot & _PAGE_PSE ? 'm' : 'k',
 +                             pgprot & _PAGE_GLOBAL ? 'g' : 'l');
  #endif
                DRM_PROC_PRINT("\n");
        }
  
 -      if (len > request + offset) return request;
 +      if (len > request + offset)
 +              return request;
        *eof = 1;
        return len - offset;
  }
  
  static int drm_vma_info(char *buf, char **start, off_t offset, int request,
 -                       int *eof, void *data)
 +                      int *eof, void *data)
  {
 -      drm_device_t *dev = (drm_device_t *)data;
 -      int          ret;
 +      drm_device_t *dev = (drm_device_t *) data;
 +      int ret;
  
        down(&dev->struct_sem);
        ret = drm__vma_info(buf, start, offset, request, eof, data);
        return ret;
  }
  #endif
 -
 -
index 7cb7234d6288b5283443641370a9d6a042597b26,70458cb061c614e9f830cbd2d958d390a43c791a..60b6f8e8bf693ca441b7da046068a5d517522661
  #include "drm_core.h"
  
  unsigned int drm_cards_limit = 16;    /* Enough for one machine */
 -unsigned int drm_debug = 0;           /* 1 to enable debug output */
 +unsigned int drm_debug = 0;   /* 1 to enable debug output */
  EXPORT_SYMBOL(drm_debug);
  
 -MODULE_AUTHOR( CORE_AUTHOR );
 -MODULE_DESCRIPTION( CORE_DESC );
 +MODULE_AUTHOR(CORE_AUTHOR);
 +MODULE_DESCRIPTION(CORE_DESC);
  MODULE_LICENSE("GPL and additional rights");
  MODULE_PARM_DESC(cards_limit, "Maximum number of graphics cards");
  MODULE_PARM_DESC(debug, "Enable debug output");
  
  module_param_named(cards_limit, drm_cards_limit, int, 0444);
- module_param_named(debug, drm_debug, int, 0666);
+ module_param_named(debug, drm_debug, int, 0600);
  
  drm_head_t **drm_heads;
  struct drm_sysfs_class *drm_class;
  struct proc_dir_entry *drm_proc_root;
  
 -static int drm_fill_in_dev(drm_device_t *dev, struct pci_dev *pdev, const struct pci_device_id *ent, struct drm_driver *driver)
 +static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
 +                         const struct pci_device_id *ent,
 +                         struct drm_driver *driver)
  {
        int retcode;
  
        spin_lock_init(&dev->count_lock);
 -      init_timer( &dev->timer );
 -      sema_init( &dev->struct_sem, 1 );
 -      sema_init( &dev->ctxlist_sem, 1 );
 +      init_timer(&dev->timer);
 +      sema_init(&dev->struct_sem, 1);
 +      sema_init(&dev->ctxlist_sem, 1);
  
 -      dev->pdev   = pdev;
 +      dev->pdev = pdev;
  
  #ifdef __alpha__
 -      dev->hose   = pdev->sysdata;
 +      dev->hose = pdev->sysdata;
        dev->pci_domain = dev->hose->bus->number;
  #else
        dev->pci_domain = 0;
  
        /* the DRM has 6 basic counters */
        dev->counters = 6;
 -      dev->types[0]  = _DRM_STAT_LOCK;
 -      dev->types[1]  = _DRM_STAT_OPENS;
 -      dev->types[2]  = _DRM_STAT_CLOSES;
 -      dev->types[3]  = _DRM_STAT_IOCTLS;
 -      dev->types[4]  = _DRM_STAT_LOCKS;
 -      dev->types[5]  = _DRM_STAT_UNLOCKS;
 +      dev->types[0] = _DRM_STAT_LOCK;
 +      dev->types[1] = _DRM_STAT_OPENS;
 +      dev->types[2] = _DRM_STAT_CLOSES;
 +      dev->types[3] = _DRM_STAT_IOCTLS;
 +      dev->types[4] = _DRM_STAT_LOCKS;
 +      dev->types[5] = _DRM_STAT_UNLOCKS;
  
        dev->driver = driver;
 -      
 +
        if (dev->driver->preinit)
                if ((retcode = dev->driver->preinit(dev, ent->driver_data)))
                        goto error_out_unreg;
        if (drm_core_has_AGP(dev)) {
                if (drm_device_is_agp(dev))
                        dev->agp = drm_agp_init(dev);
 -              if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP) && (dev->agp == NULL)) {
 -                      DRM_ERROR( "Cannot initialize the agpgart module.\n" );
 +              if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP)
 +                  && (dev->agp == NULL)) {
 +                      DRM_ERROR("Cannot initialize the agpgart module.\n");
                        retcode = -EINVAL;
                        goto error_out_unreg;
                }
                if (drm_core_has_MTRR(dev)) {
                        if (dev->agp)
 -                              dev->agp->agp_mtrr = mtrr_add( dev->agp->agp_info.aper_base,
 -                                                             dev->agp->agp_info.aper_size*1024*1024,
 -                                                             MTRR_TYPE_WRCOMB,
 -                                                             1 );
 +                              dev->agp->agp_mtrr =
 +                                  mtrr_add(dev->agp->agp_info.aper_base,
 +                                           dev->agp->agp_info.aper_size *
 +                                           1024 * 1024, MTRR_TYPE_WRCOMB, 1);
                }
        }
  
 -      retcode = drm_ctxbitmap_init( dev );
 -      if( retcode ) {
 -              DRM_ERROR( "Cannot allocate memory for context bitmap.\n" );
 +      retcode = drm_ctxbitmap_init(dev);
 +      if (retcode) {
 +              DRM_ERROR("Cannot allocate memory for context bitmap.\n");
                goto error_out_unreg;
        }
  
        return 0;
 -      
 -error_out_unreg:
 +
 +      error_out_unreg:
        drm_takedown(dev);
        return retcode;
  }
@@@ -143,7 -140,7 +143,7 @@@ int drm_stub_open(struct inode *inode, 
        int minor = iminor(inode);
        int err = -ENODEV;
        struct file_operations *old_fops;
 -      
 +
        DRM_DEBUG("\n");
  
        if (!((minor >= 0) && (minor < drm_cards_limit)))
  
        if (!drm_heads[minor])
                return -ENODEV;
 -      
 +
        if (!(dev = drm_heads[minor]->dev))
                return -ENODEV;
  
   * create the proc init entry via proc_init(). This routines assigns
   * minor numbers to secondary heads of multi-headed cards
   */
 -static int drm_get_head(drm_device_t *dev, drm_head_t *head)
 +static int drm_get_head(drm_device_t * dev, drm_head_t * head)
  {
        drm_head_t **heads = drm_heads;
        int ret;
  
        for (minor = 0; minor < drm_cards_limit; minor++, heads++) {
                if (!*heads) {
 -                      
 +
                        *head = (drm_head_t) {
 -                              .dev = dev,
 -                              .device = MKDEV(DRM_MAJOR, minor),
 -                              .minor = minor,
 -                      };
 -                      
 -                      if ((ret = drm_proc_init(dev, minor, drm_proc_root, &head->dev_root))) {
 -                              printk (KERN_ERR "DRM: Failed to initialize /proc/dri.\n");
 +                      .dev = dev,.device =
 +                                  MKDEV(DRM_MAJOR, minor),.minor = minor,};
 +
 +                      if ((ret =
 +                           drm_proc_init(dev, minor, drm_proc_root,
 +                                         &head->dev_root))) {
 +                              printk(KERN_ERR
 +                                     "DRM: Failed to initialize /proc/dri.\n");
                                goto err_g1;
                        }
  
 -                      
                        head->dev_class = drm_sysfs_device_add(drm_class,
                                                               MKDEV(DRM_MAJOR,
                                                                     minor),
                                                               &dev->pdev->dev,
                                                               "card%d", minor);
                        if (IS_ERR(head->dev_class)) {
 -                              printk(KERN_ERR "DRM: Error sysfs_device_add.\n");
 +                              printk(KERN_ERR
 +                                     "DRM: Error sysfs_device_add.\n");
                                ret = PTR_ERR(head->dev_class);
                                goto err_g2;
                        }
        }
        DRM_ERROR("out of minors\n");
        return -ENOMEM;
 -err_g2:
 +      err_g2:
        drm_proc_cleanup(minor, drm_proc_root, head->dev_root);
 -err_g1:
 -      *head = (drm_head_t) {.dev = NULL};
 +      err_g1:
 +      *head = (drm_head_t) {
 +      .dev = NULL};
        return ret;
  }
 -              
 +
  /**
   * Register.
   *
   * Try and register, if we fail to register, backout previous work.
   */
  int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
 -            struct drm_driver *driver)
 +              struct drm_driver *driver)
  {
        drm_device_t *dev;
        int ret;
  
        return 0;
  
 -err_g1:
 +      err_g1:
        drm_free(dev, sizeof(*dev), DRM_MEM_STUB);
        return ret;
  }
 +
  EXPORT_SYMBOL(drm_get_dev);
  
  /**
@@@ -311,19 -305,19 +311,19 @@@ int drm_put_dev(drm_device_t * dev
   * last minor released.
   *
   */
 -int drm_put_head(drm_head_t *head)
 +int drm_put_head(drm_head_t * head)
  {
        int minor = head->minor;
 -      
 +
        DRM_DEBUG("release secondary minor %d\n", minor);
 -      
 +
        drm_proc_cleanup(minor, drm_proc_root, head->dev_root);
        drm_sysfs_device_remove(MKDEV(DRM_MAJOR, head->minor));
 -      
 -      *head = (drm_head_t){.dev = NULL};
 +
 +      *head = (drm_head_t) {
 +      .dev = NULL};
  
        drm_heads[minor] = NULL;
 -      
 +
        return 0;
  }
 -
index cfbe35d5d862460ee4a2b1647d4ddbaaddf0d5ad,c8e1b6c83636d2e93b563009680b35c3a8713a3d..70dc7f64b7b9146c138a42bf97d3648854bb3c5c
@@@ -28,7 -28,7 +28,7 @@@
  /**
   * \file mga_dma.c
   * DMA support for MGA G200 / G400.
 - * 
 + *
   * \author Rickard E. (Rik) Faith <faith@valinux.com>
   * \author Jeff Hartmann <jhartmann@valinux.com>
   * \author Keith Whitwell <keith@tungstengraphics.com>
  #define MGA_DEFAULT_USEC_TIMEOUT      10000
  #define MGA_FREELIST_DEBUG            0
  
 -static int mga_do_cleanup_dma( drm_device_t *dev );
 +static int mga_do_cleanup_dma(drm_device_t * dev);
  
  /* ================================================================
   * Engine control
   */
  
 -int mga_do_wait_for_idle( drm_mga_private_t *dev_priv )
 +int mga_do_wait_for_idle(drm_mga_private_t * dev_priv)
  {
        u32 status = 0;
        int i;
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
 -      for ( i = 0 ; i < dev_priv->usec_timeout ; i++ ) {
 -              status = MGA_READ( MGA_STATUS ) & MGA_ENGINE_IDLE_MASK;
 -              if ( status == MGA_ENDPRDMASTS ) {
 -                      MGA_WRITE8( MGA_CRTC_INDEX, 0 );
 +      for (i = 0; i < dev_priv->usec_timeout; i++) {
 +              status = MGA_READ(MGA_STATUS) & MGA_ENGINE_IDLE_MASK;
 +              if (status == MGA_ENDPRDMASTS) {
 +                      MGA_WRITE8(MGA_CRTC_INDEX, 0);
                        return 0;
                }
 -              DRM_UDELAY( 1 );
 +              DRM_UDELAY(1);
        }
  
  #if MGA_DMA_DEBUG
 -      DRM_ERROR( "failed!\n" );
 -      DRM_INFO( "   status=0x%08x\n", status );
 +      DRM_ERROR("failed!\n");
 +      DRM_INFO("   status=0x%08x\n", status);
  #endif
        return DRM_ERR(EBUSY);
  }
  
 -static int mga_do_dma_reset( drm_mga_private_t *dev_priv )
 +static int mga_do_dma_reset(drm_mga_private_t * dev_priv)
  {
        drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv;
        drm_mga_primary_buffer_t *primary = &dev_priv->prim;
  
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        /* The primary DMA stream should look like new right about now.
         */
   * Primary DMA stream
   */
  
 -void mga_do_dma_flush( drm_mga_private_t *dev_priv )
 +void mga_do_dma_flush(drm_mga_private_t * dev_priv)
  {
        drm_mga_primary_buffer_t *primary = &dev_priv->prim;
        u32 head, tail;
        u32 status = 0;
        int i;
 -      DMA_LOCALS;
 -      DRM_DEBUG( "\n" );
 -
 -        /* We need to wait so that we can do an safe flush */
 -      for ( i = 0 ; i < dev_priv->usec_timeout ; i++ ) {
 -              status = MGA_READ( MGA_STATUS ) & MGA_ENGINE_IDLE_MASK;
 -              if ( status == MGA_ENDPRDMASTS ) break;
 -              DRM_UDELAY( 1 );
 +      DMA_LOCALS;
 +      DRM_DEBUG("\n");
 +
 +      /* We need to wait so that we can do an safe flush */
 +      for (i = 0; i < dev_priv->usec_timeout; i++) {
 +              status = MGA_READ(MGA_STATUS) & MGA_ENGINE_IDLE_MASK;
 +              if (status == MGA_ENDPRDMASTS)
 +                      break;
 +              DRM_UDELAY(1);
        }
  
 -      if ( primary->tail == primary->last_flush ) {
 -              DRM_DEBUG( "   bailing out...\n" );
 +      if (primary->tail == primary->last_flush) {
 +              DRM_DEBUG("   bailing out...\n");
                return;
        }
  
         * actually (partially?) reads the first of these commands.
         * See page 4-16 in the G400 manual, middle of the page or so.
         */
 -      BEGIN_DMA( 1 );
 +      BEGIN_DMA(1);
  
 -      DMA_BLOCK( MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000 );
 +      DMA_BLOCK(MGA_DMAPAD, 0x00000000,
 +                MGA_DMAPAD, 0x00000000,
 +                MGA_DMAPAD, 0x00000000, MGA_DMAPAD, 0x00000000);
  
        ADVANCE_DMA();
  
        primary->last_flush = primary->tail;
  
 -      head = MGA_READ( MGA_PRIMADDRESS );
 +      head = MGA_READ(MGA_PRIMADDRESS);
  
 -      if ( head <= tail ) {
 +      if (head <= tail) {
                primary->space = primary->size - primary->tail;
        } else {
                primary->space = head - tail;
        }
  
 -      DRM_DEBUG( "   head = 0x%06lx\n", head - dev_priv->primary->offset );
 -      DRM_DEBUG( "   tail = 0x%06lx\n", tail - dev_priv->primary->offset );
 -      DRM_DEBUG( "  space = 0x%06x\n", primary->space );
 +      DRM_DEBUG("   head = 0x%06lx\n", head - dev_priv->primary->offset);
 +      DRM_DEBUG("   tail = 0x%06lx\n", tail - dev_priv->primary->offset);
 +      DRM_DEBUG("  space = 0x%06x\n", primary->space);
  
        mga_flush_write_combine();
        MGA_WRITE(MGA_PRIMEND, tail | dev_priv->dma_access);
  
 -      DRM_DEBUG( "done.\n" );
 +      DRM_DEBUG("done.\n");
  }
  
 -void mga_do_dma_wrap_start( drm_mga_private_t *dev_priv )
 +void mga_do_dma_wrap_start(drm_mga_private_t * dev_priv)
  {
        drm_mga_primary_buffer_t *primary = &dev_priv->prim;
        u32 head, tail;
        DMA_LOCALS;
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        BEGIN_DMA_WRAP();
  
 -      DMA_BLOCK( MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000,
 -                 MGA_DMAPAD,  0x00000000 );
 +      DMA_BLOCK(MGA_DMAPAD, 0x00000000,
 +                MGA_DMAPAD, 0x00000000,
 +                MGA_DMAPAD, 0x00000000, MGA_DMAPAD, 0x00000000);
  
        ADVANCE_DMA();
  
        primary->last_flush = 0;
        primary->last_wrap++;
  
 -      head = MGA_READ( MGA_PRIMADDRESS );
 +      head = MGA_READ(MGA_PRIMADDRESS);
  
 -      if ( head == dev_priv->primary->offset ) {
 +      if (head == dev_priv->primary->offset) {
                primary->space = primary->size;
        } else {
                primary->space = head - dev_priv->primary->offset;
        }
  
 -      DRM_DEBUG( "   head = 0x%06lx\n",
 -                head - dev_priv->primary->offset );
 -      DRM_DEBUG( "   tail = 0x%06x\n", primary->tail );
 -      DRM_DEBUG( "   wrap = %d\n", primary->last_wrap );
 -      DRM_DEBUG( "  space = 0x%06x\n", primary->space );
 +      DRM_DEBUG("   head = 0x%06lx\n", head - dev_priv->primary->offset);
 +      DRM_DEBUG("   tail = 0x%06x\n", primary->tail);
 +      DRM_DEBUG("   wrap = %d\n", primary->last_wrap);
 +      DRM_DEBUG("  space = 0x%06x\n", primary->space);
  
        mga_flush_write_combine();
        MGA_WRITE(MGA_PRIMEND, tail | dev_priv->dma_access);
  
 -      set_bit( 0, &primary->wrapped );
 -      DRM_DEBUG( "done.\n" );
 +      set_bit(0, &primary->wrapped);
 +      DRM_DEBUG("done.\n");
  }
  
 -void mga_do_dma_wrap_end( drm_mga_private_t *dev_priv )
 +void mga_do_dma_wrap_end(drm_mga_private_t * dev_priv)
  {
        drm_mga_primary_buffer_t *primary = &dev_priv->prim;
        drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv;
        u32 head = dev_priv->primary->offset;
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        sarea_priv->last_wrap++;
 -      DRM_DEBUG( "   wrap = %d\n", sarea_priv->last_wrap );
 +      DRM_DEBUG("   wrap = %d\n", sarea_priv->last_wrap);
  
        mga_flush_write_combine();
 -      MGA_WRITE( MGA_PRIMADDRESS, head | MGA_DMA_GENERAL );
 +      MGA_WRITE(MGA_PRIMADDRESS, head | MGA_DMA_GENERAL);
  
 -      clear_bit( 0, &primary->wrapped );
 -      DRM_DEBUG( "done.\n" );
 +      clear_bit(0, &primary->wrapped);
 +      DRM_DEBUG("done.\n");
  }
  
 -
  /* ================================================================
   * Freelist management
   */
  #define MGA_BUFFER_FREE               0
  
  #if MGA_FREELIST_DEBUG
 -static void mga_freelist_print( drm_device_t *dev )
 +static void mga_freelist_print(drm_device_t * dev)
  {
        drm_mga_private_t *dev_priv = dev->dev_private;
        drm_mga_freelist_t *entry;
  
 -      DRM_INFO( "\n" );
 -      DRM_INFO( "current dispatch: last=0x%x done=0x%x\n",
 -                dev_priv->sarea_priv->last_dispatch,
 -                (unsigned int)(MGA_READ( MGA_PRIMADDRESS ) -
 -                               dev_priv->primary->offset) );
 -      DRM_INFO( "current freelist:\n" );
 -
 -      for ( entry = dev_priv->head->next ; entry ; entry = entry->next ) {
 -              DRM_INFO( "   %p   idx=%2d  age=0x%x 0x%06lx\n",
 -                        entry, entry->buf->idx, entry->age.head,
 -                        entry->age.head - dev_priv->primary->offset );
 +      DRM_INFO("\n");
 +      DRM_INFO("current dispatch: last=0x%x done=0x%x\n",
 +               dev_priv->sarea_priv->last_dispatch,
 +               (unsigned int)(MGA_READ(MGA_PRIMADDRESS) -
 +                              dev_priv->primary->offset));
 +      DRM_INFO("current freelist:\n");
 +
 +      for (entry = dev_priv->head->next; entry; entry = entry->next) {
 +              DRM_INFO("   %p   idx=%2d  age=0x%x 0x%06lx\n",
 +                       entry, entry->buf->idx, entry->age.head,
 +                       entry->age.head - dev_priv->primary->offset);
        }
 -      DRM_INFO( "\n" );
 +      DRM_INFO("\n");
  }
  #endif
  
 -static int mga_freelist_init( drm_device_t *dev, drm_mga_private_t *dev_priv )
 +static int mga_freelist_init(drm_device_t * dev, drm_mga_private_t * dev_priv)
  {
        drm_device_dma_t *dma = dev->dma;
        drm_buf_t *buf;
        drm_mga_buf_priv_t *buf_priv;
        drm_mga_freelist_t *entry;
        int i;
 -      DRM_DEBUG( "count=%d\n", dma->buf_count );
 +      DRM_DEBUG("count=%d\n", dma->buf_count);
  
 -      dev_priv->head = drm_alloc( sizeof(drm_mga_freelist_t),
 -                                   DRM_MEM_DRIVER );
 -      if ( dev_priv->head == NULL )
 +      dev_priv->head = drm_alloc(sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER);
 +      if (dev_priv->head == NULL)
                return DRM_ERR(ENOMEM);
  
 -      memset( dev_priv->head, 0, sizeof(drm_mga_freelist_t) );
 -      SET_AGE( &dev_priv->head->age, MGA_BUFFER_USED, 0 );
 +      memset(dev_priv->head, 0, sizeof(drm_mga_freelist_t));
 +      SET_AGE(&dev_priv->head->age, MGA_BUFFER_USED, 0);
  
 -      for ( i = 0 ; i < dma->buf_count ; i++ ) {
 +      for (i = 0; i < dma->buf_count; i++) {
                buf = dma->buflist[i];
 -              buf_priv = buf->dev_private;
 +              buf_priv = buf->dev_private;
  
 -              entry = drm_alloc( sizeof(drm_mga_freelist_t),
 -                                  DRM_MEM_DRIVER );
 -              if ( entry == NULL )
 +              entry = drm_alloc(sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER);
 +              if (entry == NULL)
                        return DRM_ERR(ENOMEM);
  
 -              memset( entry, 0, sizeof(drm_mga_freelist_t) );
 +              memset(entry, 0, sizeof(drm_mga_freelist_t));
  
                entry->next = dev_priv->head->next;
                entry->prev = dev_priv->head;
 -              SET_AGE( &entry->age, MGA_BUFFER_FREE, 0 );
 +              SET_AGE(&entry->age, MGA_BUFFER_FREE, 0);
                entry->buf = buf;
  
 -              if ( dev_priv->head->next != NULL )
 +              if (dev_priv->head->next != NULL)
                        dev_priv->head->next->prev = entry;
 -              if ( entry->next == NULL )
 +              if (entry->next == NULL)
                        dev_priv->tail = entry;
  
                buf_priv->list_entry = entry;
        return 0;
  }
  
 -static void mga_freelist_cleanup( drm_device_t *dev )
 +static void mga_freelist_cleanup(drm_device_t * dev)
  {
        drm_mga_private_t *dev_priv = dev->dev_private;
        drm_mga_freelist_t *entry;
        drm_mga_freelist_t *next;
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
        entry = dev_priv->head;
 -      while ( entry ) {
 +      while (entry) {
                next = entry->next;
 -              drm_free( entry, sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER );
 +              drm_free(entry, sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER);
                entry = next;
        }
  
  #if 0
  /* FIXME: Still needed?
   */
 -static void mga_freelist_reset( drm_device_t *dev )
 +static void mga_freelist_reset(drm_device_t * dev)
  {
        drm_device_dma_t *dma = dev->dma;
        drm_buf_t *buf;
        drm_mga_buf_priv_t *buf_priv;
        int i;
  
 -      for ( i = 0 ; i < dma->buf_count ; i++ ) {
 +      for (i = 0; i < dma->buf_count; i++) {
                buf = dma->buflist[i];
 -              buf_priv = buf->dev_private;
 -              SET_AGE( &buf_priv->list_entry->age,
 -                       MGA_BUFFER_FREE, 0 );
 +              buf_priv = buf->dev_private;
 +              SET_AGE(&buf_priv->list_entry->age, MGA_BUFFER_FREE, 0);
        }
  }
  #endif
  
 -static drm_buf_t *mga_freelist_get( drm_device_t *dev )
 +static drm_buf_t *mga_freelist_get(drm_device_t * dev)
  {
        drm_mga_private_t *dev_priv = dev->dev_private;
        drm_mga_freelist_t *next;
        drm_mga_freelist_t *prev;
        drm_mga_freelist_t *tail = dev_priv->tail;
        u32 head, wrap;
 -      DRM_DEBUG( "\n" );
 +      DRM_DEBUG("\n");
  
 -      head = MGA_READ( MGA_PRIMADDRESS );
 +      head = MGA_READ(MGA_PRIMADDRESS);
        wrap = dev_priv->sarea_priv->last_wrap;
  
 -      DRM_DEBUG( "   tail=0x%06lx %d\n",
 -                 tail->age.head ?
 -                 tail->age.head - dev_priv->primary->offset : 0,
 -                 tail->age.wrap );
 -      DRM_DEBUG( "   head=0x%06lx %d\n",
 -                 head - dev_priv->primary->offset, wrap );
 +      DRM_DEBUG("   tail=0x%06lx %d\n",
 +                tail->age.head ?
 +                tail->age.head - dev_priv->primary->offset : 0,
 +                tail->age.wrap);
 +      DRM_DEBUG("   head=0x%06lx %d\n",
 +                head - dev_priv->primary->offset, wrap);
  
 -      if ( TEST_AGE( &tail->age, head, wrap ) ) {
 +      if (TEST_AGE(&tail->age, head, wrap)) {
                prev = dev_priv->tail->prev;
                next = dev_priv->tail;
                prev->next = NULL;
                next->prev = next->next = NULL;
                dev_priv->tail = prev;
 -              SET_AGE( &next->age, MGA_BUFFER_USED, 0 );
 +              SET_AGE(&next->age, MGA_BUFFER_USED, 0);
                return next->buf;
        }
  
 -      DRM_DEBUG( "returning NULL!\n" );
 +      DRM_DEBUG("returning NULL!\n");
        return NULL;
  }
  
 -int mga_freelist_put( drm_device_t *dev, drm_buf_t *buf )
 +int mga_freelist_put(drm_device_t * dev, drm_buf_t * buf)
  {
        drm_mga_private_t *dev_priv = dev->dev_private;
        drm_mga_buf_priv_t *buf_priv = buf->dev_private;
        drm_mga_freelist_t *head, *entry, *prev;
  
 -      DRM_DEBUG( "age=0x%06lx wrap=%d\n",
 -                 buf_priv->list_entry->age.head -
 -                 dev_priv->primary->offset,
 -                 buf_priv->list_entry->age.wrap );
 +      DRM_DEBUG("age=0x%06lx wrap=%d\n",
 +                buf_priv->list_entry->age.head -
 +                dev_priv->primary->offset, buf_priv->list_entry->age.wrap);
  
        entry = buf_priv->list_entry;
        head = dev_priv->head;
  
 -      if ( buf_priv->list_entry->age.head == MGA_BUFFER_USED ) {
 -              SET_AGE( &entry->age, MGA_BUFFER_FREE, 0 );
 +      if (buf_priv->list_entry->age.head == MGA_BUFFER_USED) {
 +              SET_AGE(&entry->age, MGA_BUFFER_FREE, 0);
                prev = dev_priv->tail;
                prev->next = entry;
                entry->prev = prev;
        return 0;
  }
  
 -
  /* ================================================================
   * DMA initialization, cleanup
   */
  
 -
 -int mga_driver_preinit(drm_device_t *dev, unsigned long flags)
 +int mga_driver_preinit(drm_device_t * dev, unsigned long flags)
  {
 -      drm_mga_private_t * dev_priv;
 +      drm_mga_private_t *dev_priv;
  
        dev_priv = drm_alloc(sizeof(drm_mga_private_t), DRM_MEM_DRIVER);
        if (!dev_priv)
  #if __OS_HAS_AGP
  /**
   * Bootstrap the driver for AGP DMA.
 - * 
 + *
   * \todo
   * Investigate whether there is any benifit to storing the WARP microcode in
   * AGP memory.  If not, the microcode may as well always be put in PCI
  static int mga_do_agp_dma_bootstrap(drm_device_t * dev,
                                    drm_mga_dma_bootstrap_t * dma_bs)
  {
 -      drm_mga_private_t * const dev_priv = (drm_mga_private_t *) dev->dev_private;
 +      drm_mga_private_t *const dev_priv =
 +          (drm_mga_private_t *) dev->dev_private;
-       const unsigned int warp_size = mga_warp_microcode_size(dev_priv);
+       unsigned int warp_size = mga_warp_microcode_size(dev_priv);
        int err;
 -      unsigned  offset;
 +      unsigned offset;
        const unsigned secondary_size = dma_bs->secondary_bin_count
 -              * dma_bs->secondary_bin_size;
 +          * dma_bs->secondary_bin_size;
        const unsigned agp_size = (dma_bs->agp_size << 20);
        drm_buf_desc_t req;
        drm_agp_mode_t mode;
        drm_agp_info_t info;
  
 -      
        /* Acquire AGP. */
        err = drm_agp_acquire(dev);
        if (err) {
                return err;
        }
  
 -
        /* In addition to the usual AGP mode configuration, the G200 AGP cards
         * need to have the AGP mode "manually" set.
         */
        if (dev_priv->chipset == MGA_CARD_TYPE_G200) {
                if (mode.mode & 0x02) {
                        MGA_WRITE(MGA_AGP_PLL, MGA_AGP2XPLL_ENABLE);
 -              }
 -              else {
 +              } else {
                        MGA_WRITE(MGA_AGP_PLL, MGA_AGP2XPLL_DISABLE);
                }
        }
  
 -
        /* Allocate and bind AGP memory. */
        dev_priv->agp_pages = agp_size / PAGE_SIZE;
 -      dev_priv->agp_mem = drm_alloc_agp( dev, dev_priv->agp_pages, 0 );
 +      dev_priv->agp_mem = drm_alloc_agp(dev, dev_priv->agp_pages, 0);
        if (dev_priv->agp_mem == NULL) {
                dev_priv->agp_pages = 0;
                DRM_ERROR("Unable to allocate %uMB AGP memory\n",
                          dma_bs->agp_size);
                return DRM_ERR(ENOMEM);
        }
 -              
 -      err = drm_bind_agp( dev_priv->agp_mem, 0 );
 +
 +      err = drm_bind_agp(dev_priv->agp_mem, 0);
        if (err) {
                DRM_ERROR("Unable to bind AGP memory\n");
                return err;
        }
  
+       /* Make drm_addbufs happy by not trying to create a mapping for less
+        * than a page.
+        */
+       if (warp_size < PAGE_SIZE)
+               warp_size = PAGE_SIZE;
        offset = 0;
 -      err = drm_addmap( dev, offset, warp_size,
 -                        _DRM_AGP, _DRM_READ_ONLY, & dev_priv->warp );
 +      err = drm_addmap(dev, offset, warp_size,
 +                       _DRM_AGP, _DRM_READ_ONLY, &dev_priv->warp);
        if (err) {
                DRM_ERROR("Unable to map WARP microcode\n");
                return err;
        }
  
        offset += warp_size;
 -      err = drm_addmap( dev, offset, dma_bs->primary_size,
 -                        _DRM_AGP, _DRM_READ_ONLY, & dev_priv->primary );
 +      err = drm_addmap(dev, offset, dma_bs->primary_size,
 +                       _DRM_AGP, _DRM_READ_ONLY, &dev_priv->primary);
        if (err) {
                DRM_ERROR("Unable to map primary DMA region\n");
                return err;
        }
  
        offset += dma_bs->primary_size;
 -      err = drm_addmap( dev, offset, secondary_size,
 -                        _DRM_AGP, 0, & dev->agp_buffer_map );
 +      err = drm_addmap(dev, offset, secondary_size,
 +                       _DRM_AGP, 0, &dev->agp_buffer_map);
        if (err) {
                DRM_ERROR("Unable to map secondary DMA region\n");
                return err;
        }
  
 -      (void) memset( &req, 0, sizeof(req) );
 +      (void)memset(&req, 0, sizeof(req));
        req.count = dma_bs->secondary_bin_count;
        req.size = dma_bs->secondary_bin_size;
        req.flags = _DRM_AGP_BUFFER;
        req.agp_start = offset;
  
 -      err = drm_addbufs_agp( dev, & req );
 +      err = drm_addbufs_agp(dev, &req);
        if (err) {
                DRM_ERROR("Unable to add secondary DMA buffers\n");
                return err;
        }
  
        offset += secondary_size;
 -      err = drm_addmap( dev, offset, agp_size - offset,
 -                        _DRM_AGP, 0, & dev_priv->agp_textures );
 +      err = drm_addmap(dev, offset, agp_size - offset,
 +                       _DRM_AGP, 0, &dev_priv->agp_textures);
        if (err) {
                DRM_ERROR("Unable to map AGP texture region\n");
                return err;
@@@ -559,7 -577,7 +565,7 @@@ static int mga_do_agp_dma_bootstrap(drm
  
  /**
   * Bootstrap the driver for PCI DMA.
 - * 
 + *
   * \todo
   * The algorithm for decreasing the size of the primary DMA buffer could be
   * better.  The size should be rounded up to the nearest page size, then
   * \todo
   * Determine whether the maximum address passed to drm_pci_alloc is correct.
   * The same goes for drm_addbufs_pci.
 - * 
 + *
   * \sa mga_do_dma_bootstrap, mga_do_agp_dma_bootstrap
   */
  static int mga_do_pci_dma_bootstrap(drm_device_t * dev,
                                    drm_mga_dma_bootstrap_t * dma_bs)
  {
 -      drm_mga_private_t * const dev_priv = (drm_mga_private_t *) dev->dev_private;
 +      drm_mga_private_t *const dev_priv =
 +          (drm_mga_private_t *) dev->dev_private;
-       const unsigned int warp_size = mga_warp_microcode_size(dev_priv);
+       unsigned int warp_size = mga_warp_microcode_size(dev_priv);
        unsigned int primary_size;
        unsigned int bin_count;
        int err;
        drm_buf_desc_t req;
  
 -      
        if (dev->dma == NULL) {
                DRM_ERROR("dev->dma is NULL\n");
                return DRM_ERR(EFAULT);
        }
  
+       /* Make drm_addbufs happy by not trying to create a mapping for less
+        * than a page.
+        */
+       if (warp_size < PAGE_SIZE)
+               warp_size = PAGE_SIZE;
        /* The proper alignment is 0x100 for this mapping */
        err = drm_addmap(dev, 0, warp_size, _DRM_CONSISTENT,
                         _DRM_READ_ONLY, &dev_priv->warp);
         * alignment of the primary or secondary DMA buffers.
         */
  
 -      for ( primary_size = dma_bs->primary_size
 -            ; primary_size != 0
 -            ; primary_size >>= 1 ) {
 +      for (primary_size = dma_bs->primary_size; primary_size != 0;
 +           primary_size >>= 1) {
                /* The proper alignment for this mapping is 0x04 */
                err = drm_addmap(dev, 0, primary_size, _DRM_CONSISTENT,
                                 _DRM_READ_ONLY, &dev_priv->primary);
  
        if (dev_priv->primary->size != dma_bs->primary_size) {
                DRM_INFO("Primary DMA buffer size reduced from %u to %u.\n",
 -                       dma_bs->primary_size, 
 -                       (unsigned) dev_priv->primary->size);
 +                       dma_bs->primary_size,
 +                       (unsigned)dev_priv->primary->size);
                dma_bs->primary_size = dev_priv->primary->size;
        }
  
 -      for ( bin_count = dma_bs->secondary_bin_count
 -            ; bin_count > 0 
 -            ; bin_count-- ) {
 -              (void) memset( &req, 0, sizeof(req) );
 +      for (bin_count = dma_bs->secondary_bin_count; bin_count > 0;
 +           bin_count--) {
 +              (void)memset(&req, 0, sizeof(req));
                req.count = bin_count;
                req.size = dma_bs->secondary_bin_size;
  
 -              err = drm_addbufs_pci( dev, & req );
 +              err = drm_addbufs_pci(dev, &req);
                if (!err) {
                        break;
                }
        }
 -      
 +
        if (bin_count == 0) {
                DRM_ERROR("Unable to add secondary DMA buffers\n");
                return err;
        return 0;
  }
  
 -
  static int mga_do_dma_bootstrap(drm_device_t * dev,
                                drm_mga_dma_bootstrap_t * dma_bs)
  {
        const int is_agp = (dma_bs->agp_mode != 0) && drm_device_is_agp(dev);
        int err;
 -      drm_mga_private_t * const dev_priv =
 -              (drm_mga_private_t *) dev->dev_private;
 -
 +      drm_mga_private_t *const dev_priv =
 +          (drm_mga_private_t *) dev->dev_private;
  
        dev_priv->used_new_dma_init = 1;
  
        /* The first steps are the same for both PCI and AGP based DMA.  Map
         * the cards MMIO registers and map a status page.
         */
 -      err = drm_addmap( dev, dev_priv->mmio_base, dev_priv->mmio_size,
 -                        _DRM_REGISTERS, _DRM_READ_ONLY, & dev_priv->mmio );
 +      err = drm_addmap(dev, dev_priv->mmio_base, dev_priv->mmio_size,
 +                       _DRM_REGISTERS, _DRM_READ_ONLY, &dev_priv->mmio);
        if (err) {
                DRM_ERROR("Unable to map MMIO region\n");
                return err;
        }
  
 -
 -      err = drm_addmap( dev, 0, SAREA_MAX, _DRM_SHM,
 -                        _DRM_READ_ONLY | _DRM_LOCKED | _DRM_KERNEL,
 -                        & dev_priv->status );
 +      err = drm_addmap(dev, 0, SAREA_MAX, _DRM_SHM,
 +                       _DRM_READ_ONLY | _DRM_LOCKED | _DRM_KERNEL,
 +                       &dev_priv->status);
        if (err) {
                DRM_ERROR("Unable to map status region\n");
                return err;
        }
  
 -
        /* The DMA initialization procedure is slightly different for PCI and
         * AGP cards.  AGP cards just allocate a large block of AGP memory and
         * carve off portions of it for internal uses.  The remaining memory
        if (is_agp) {
                err = mga_do_agp_dma_bootstrap(dev, dma_bs);
        }
 -      
 +
        /* If we attempted to initialize the card for AGP DMA but failed,
         * clean-up any mess that may have been created.
         */
                mga_do_cleanup_dma(dev);
        }
  
 -
        /* Not only do we want to try and initialized PCI cards for PCI DMA,
         * but we also try to initialized AGP cards that could not be
         * initialized for AGP DMA.  This covers the case where we have an AGP
                err = mga_do_pci_dma_bootstrap(dev, dma_bs);
        }
  
 -
        return err;
  }
  
@@@ -720,42 -752,45 +732,42 @@@ int mga_dma_bootstrap(DRM_IOCTL_ARGS
        drm_mga_dma_bootstrap_t bootstrap;
        int err;
  
 -
        DRM_COPY_FROM_USER_IOCTL(bootstrap,
                                 (drm_mga_dma_bootstrap_t __user *) data,
                                 sizeof(bootstrap));
  
 -      err = mga_do_dma_bootstrap(dev, & bootstrap);
 -      if (! err) {
 +      err = mga_do_dma_bootstrap(dev, &bootstrap);
 +      if (!err) {
                static const int modes[] = { 0, 1, 2, 2, 4, 4, 4, 4 };
 -              const drm_mga_private_t * const dev_priv = 
 -                      (drm_mga_private_t *) dev->dev_private;
 +              const drm_mga_private_t *const dev_priv =
 +                  (drm_mga_private_t *) dev->dev_private;
  
                if (dev_priv->agp_textures != NULL) {
 -                      bootstrap.texture_handle = dev_priv->agp_textures->offset;
 +                      bootstrap.texture_handle =
 +                          dev_priv->agp_textures->offset;
                        bootstrap.texture_size = dev_priv->agp_textures->size;
 -              }
 -              else {
 +              } else {
                        bootstrap.texture_handle = 0;
                        bootstrap.texture_size = 0;
                }
  
 -              bootstrap.agp_mode = modes[ bootstrap.agp_mode & 0x07 ];
 -              if (DRM_COPY_TO_USER( (void __user *) data, & bootstrap,
 +              bootstrap.agp_mode = modes[bootstrap.agp_mode & 0x07];
 +              if (DRM_COPY_TO_USER((void __user *)data, &bootstrap,
                                     sizeof(bootstrap))) {
                        err = DRM_ERR(EFAULT);
                }
 -      }
 -      else {
 +      } else {
                mga_do_cleanup_dma(dev);
        }
  
        return err;
  }
  
 -static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init )
 +static int mga_do_init_dma(drm_device_t * dev, drm_mga_init_t * init)
  {
        drm_mga_private_t *dev_priv;
        int ret;
 -      DRM_DEBUG( "\n" );
 -
 +      DRM_DEBUG("\n");
  
        dev_priv = dev->dev_private;
  
        } else {
                dev_priv->clear_cmd = MGA_DWGCTL_CLEAR | MGA_ATYPE_RSTR;
        }
 -      dev_priv->maccess       = init->maccess;
 +      dev_priv->maccess = init->maccess;
  
 -      dev_priv->fb_cpp        = init->fb_cpp;
 -      dev_priv->front_offset  = init->front_offset;
 -      dev_priv->front_pitch   = init->front_pitch;
 -      dev_priv->back_offset   = init->back_offset;
 -      dev_priv->back_pitch    = init->back_pitch;
 +      dev_priv->fb_cpp = init->fb_cpp;
 +      dev_priv->front_offset = init->front_offset;
 +      dev_priv->front_pitch = init->front_pitch;
 +      dev_priv->back_offset = init->back_offset;
 +      dev_priv->back_pitch = init->back_pitch;
  
 -      dev_priv->depth_cpp     = init->depth_cpp;
 -      dev_priv->depth_offset  = init->depth_offset;
 -      dev_priv->depth_pitch   = init->depth_pitch;
 +      dev_priv->depth_cpp = init->depth_cpp;
 +      dev_priv->depth_offset = init->depth_offset;
 +      dev_priv->depth_pitch = init->depth_pitch;
  
        /* FIXME: Need to support AGP textures...
         */
                return DRM_ERR(EINVAL);
        }
  
 -      if (! dev_priv->used_new_dma_init) {
 +      if (!dev_priv->used_new_dma_init) {
+               dev_priv->dma_access = MGA_PAGPXFER;
+               dev_priv->wagp_enable = MGA_WAGP_ENABLE;
                dev_priv->status = drm_core_findmap(dev, init->status_offset);
                if (!dev_priv->status) {
                        DRM_ERROR("failed to find status page!\n");
                        return DRM_ERR(EINVAL);
                }
                dev->agp_buffer_token = init->buffers_offset;
 -              dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset);
 +              dev->agp_buffer_map =
 +                  drm_core_findmap(dev, init->buffers_offset);
                if (!dev->agp_buffer_map) {
                        DRM_ERROR("failed to find dma buffer region!\n");
                        return DRM_ERR(EINVAL);
        }
  
        dev_priv->sarea_priv =
 -              (drm_mga_sarea_t *)((u8 *)dev_priv->sarea->handle +
 -                                  init->sarea_priv_offset);
 +          (drm_mga_sarea_t *) ((u8 *) dev_priv->sarea->handle +
 +                               init->sarea_priv_offset);
  
        if (!dev_priv->warp->handle ||
            !dev_priv->primary->handle ||
                return ret;
        }
  
 -      dev_priv->prim.status = (u32 *)dev_priv->status->handle;
 +      dev_priv->prim.status = (u32 *) dev_priv->status->handle;
  
 -      mga_do_wait_for_idle( dev_priv );
 +      mga_do_wait_for_idle(dev_priv);
  
        /* Init the primary DMA registers.
         */
 -      MGA_WRITE( MGA_PRIMADDRESS,
 -                 dev_priv->primary->offset | MGA_DMA_GENERAL );
 +      MGA_WRITE(MGA_PRIMADDRESS, dev_priv->primary->offset | MGA_DMA_GENERAL);
  #if 0
 -      MGA_WRITE( MGA_PRIMPTR,
 -                 virt_to_bus((void *)dev_priv->prim.status) |
 -                 MGA_PRIMPTREN0 |     /* Soft trap, SECEND, SETUPEND */
 -                 MGA_PRIMPTREN1 );    /* DWGSYNC */
 +      MGA_WRITE(MGA_PRIMPTR, virt_to_bus((void *)dev_priv->prim.status) | MGA_PRIMPTREN0 |    /* Soft trap, SECEND, SETUPEND */
 +                MGA_PRIMPTREN1);      /* DWGSYNC */
  #endif
  
 -      dev_priv->prim.start = (u8 *)dev_priv->primary->handle;
 -      dev_priv->prim.end = ((u8 *)dev_priv->primary->handle
 +      dev_priv->prim.start = (u8 *) dev_priv->primary->handle;
 +      dev_priv->prim.end = ((u8 *) dev_priv->primary->handle
                              + dev_priv->primary->size);
        dev_priv->prim.size = dev_priv->primary->size;
  
        return 0;
  }
  
 -static int mga_do_cleanup_dma( drm_device_t *dev )
 +static int mga_do_cleanup_dma(drm_device_t * dev)
  {
        int err = 0;
        DRM_DEBUG("\n");
         * may not have been called from userspace and after dev_private
         * is freed, it's too late.
         */
 -      if ( dev->irq_enabled ) drm_irq_uninstall(dev);
 +      if (dev->irq_enabled)
 +              drm_irq_uninstall(dev);
  
 -      if ( dev->dev_private ) {
 +      if (dev->dev_private) {
                drm_mga_private_t *dev_priv = dev->dev_private;
  
 -              if ((dev_priv->warp != NULL) 
 +              if ((dev_priv->warp != NULL)
-                   && (dev_priv->mmio->type != _DRM_CONSISTENT))
+                   && (dev_priv->warp->type != _DRM_CONSISTENT))
                        drm_core_ioremapfree(dev_priv->warp, dev);
  
 -              if ((dev_priv->primary != NULL) 
 +              if ((dev_priv->primary != NULL)
                    && (dev_priv->primary->type != _DRM_CONSISTENT))
                        drm_core_ioremapfree(dev_priv->primary, dev);
  
                                dev_priv->agp_textures = NULL;
                                drm_unbind_agp(dev_priv->agp_mem);
  
 -                              drm_free_agp(dev_priv->agp_mem, dev_priv->agp_pages);
 +                              drm_free_agp(dev_priv->agp_mem,
 +                                           dev_priv->agp_pages);
                                dev_priv->agp_pages = 0;
                                dev_priv->agp_mem = NULL;
                        }
  
                memset(&dev_priv->prim, 0, sizeof(dev_priv->prim));
                dev_priv->warp_pipe = 0;
 -              memset(dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys));
 +              memset(dev_priv->warp_pipe_phys, 0,
 +                     sizeof(dev_priv->warp_pipe_phys));
  
                if (dev_priv->head != NULL) {
                        mga_freelist_cleanup(dev);
        return err;
  }
  
 -int mga_dma_init( DRM_IOCTL_ARGS )
 +int mga_dma_init(DRM_IOCTL_ARGS)
  {
        DRM_DEVICE;
        drm_mga_init_t init;
        int err;
  
 -      LOCK_TEST_WITH_RETURN( dev, filp );
 +      LOCK_TEST_WITH_RETURN(dev, filp);
  
        DRM_COPY_FROM_USER_IOCTL(init, (drm_mga_init_t __user *) data,
                                 sizeof(init));
  
 -      switch ( init.func ) {
 +      switch (init.func) {
        case MGA_INIT_DMA:
                err = mga_do_init_dma(dev, &init);
                if (err) {
 -                      (void) mga_do_cleanup_dma(dev);
 +                      (void)mga_do_cleanup_dma(dev);
                }
                return err;
        case MGA_CLEANUP_DMA:
 -              return mga_do_cleanup_dma( dev );
 +              return mga_do_cleanup_dma(dev);
        }
  
        return DRM_ERR(EINVAL);
  }
  
 -
  /* ================================================================
   * Primary DMA stream management
   */
  
 -int mga_dma_flush( DRM_IOCTL_ARGS )
 +int mga_dma_flush(DRM_IOCTL_ARGS)
  {
        DRM_DEVICE;
 -      drm_mga_private_t *dev_priv = (drm_mga_private_t *)dev->dev_private;
 +      drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
        drm_lock_t lock;
  
 -      LOCK_TEST_WITH_RETURN( dev, filp );
 +      LOCK_TEST_WITH_RETURN(dev, filp);
  
 -      DRM_COPY_FROM_USER_IOCTL( lock, (drm_lock_t __user *)data, sizeof(lock) );
 +      DRM_COPY_FROM_USER_IOCTL(lock, (drm_lock_t __user *) data,
 +                               sizeof(lock));
  
 -      DRM_DEBUG( "%s%s%s\n",
 -                 (lock.flags & _DRM_LOCK_FLUSH) ?     "flush, " : "",
 -                 (lock.flags & _DRM_LOCK_FLUSH_ALL) ? "flush all, " : "",
 -                 (lock.flags & _DRM_LOCK_QUIESCENT) ? "idle, " : "" );
 +      DRM_DEBUG("%s%s%s\n",
 +                (lock.flags & _DRM_LOCK_FLUSH) ? "flush, " : "",
 +                (lock.flags & _DRM_LOCK_FLUSH_ALL) ? "flush all, " : "",
 +                (lock.flags & _DRM_LOCK_QUIESCENT) ? "idle, " : "");
  
 -      WRAP_WAIT_WITH_RETURN( dev_priv );
 +      WRAP_WAIT_WITH_RETURN(dev_priv);
  
 -      if ( lock.flags & (_DRM_LOCK_FLUSH | _DRM_LOCK_FLUSH_ALL) ) {
 -              mga_do_dma_flush( dev_priv );
 +      if (lock.flags & (_DRM_LOCK_FLUSH | _DRM_LOCK_FLUSH_ALL)) {
 +              mga_do_dma_flush(dev_priv);
        }
  
 -      if ( lock.flags & _DRM_LOCK_QUIESCENT ) {
 +      if (lock.flags & _DRM_LOCK_QUIESCENT) {
  #if MGA_DMA_DEBUG
 -              int ret = mga_do_wait_for_idle( dev_priv );
 -              if ( ret < 0 )
 -                      DRM_INFO( "%s: -EBUSY\n", __FUNCTION__ );
 +              int ret = mga_do_wait_for_idle(dev_priv);
 +              if (ret < 0)
 +                      DRM_INFO("%s: -EBUSY\n", __FUNCTION__);
                return ret;
  #else
 -              return mga_do_wait_for_idle( dev_priv );
 +              return mga_do_wait_for_idle(dev_priv);
  #endif
        } else {
                return 0;
        }
  }
  
 -int mga_dma_reset( DRM_IOCTL_ARGS )
 +int mga_dma_reset(DRM_IOCTL_ARGS)
  {
        DRM_DEVICE;
 -      drm_mga_private_t *dev_priv = (drm_mga_private_t *)dev->dev_private;
 +      drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
  
 -      LOCK_TEST_WITH_RETURN( dev, filp );
 +      LOCK_TEST_WITH_RETURN(dev, filp);
  
 -      return mga_do_dma_reset( dev_priv );
 +      return mga_do_dma_reset(dev_priv);
  }
  
 -
  /* ================================================================
   * DMA buffer management
   */
  
 -static int mga_dma_get_buffers( DRMFILE filp,
 -                              drm_device_t *dev, drm_dma_t *d )
 +static int mga_dma_get_buffers(DRMFILE filp, drm_device_t * dev, drm_dma_t * d)
  {
        drm_buf_t *buf;
        int i;
  
 -      for ( i = d->granted_count ; i < d->request_count ; i++ ) {
 -              buf = mga_freelist_get( dev );
 -              if ( !buf ) return DRM_ERR(EAGAIN);
 +      for (i = d->granted_count; i < d->request_count; i++) {
 +              buf = mga_freelist_get(dev);
 +              if (!buf)
 +                      return DRM_ERR(EAGAIN);
  
                buf->filp = filp;
  
 -              if ( DRM_COPY_TO_USER( &d->request_indices[i],
 -                                 &buf->idx, sizeof(buf->idx) ) )
 +              if (DRM_COPY_TO_USER(&d->request_indices[i],
 +                                   &buf->idx, sizeof(buf->idx)))
                        return DRM_ERR(EFAULT);
 -              if ( DRM_COPY_TO_USER( &d->request_sizes[i],
 -                                 &buf->total, sizeof(buf->total) ) )
 +              if (DRM_COPY_TO_USER(&d->request_sizes[i],
 +                                   &buf->total, sizeof(buf->total)))
                        return DRM_ERR(EFAULT);
  
                d->granted_count++;
        return 0;
  }
  
 -int mga_dma_buffers( DRM_IOCTL_ARGS )
 +int mga_dma_buffers(DRM_IOCTL_ARGS)
  {
        DRM_DEVICE;
        drm_device_dma_t *dma = dev->dma;
 -      drm_mga_private_t *dev_priv = (drm_mga_private_t *)dev->dev_private;
 +      drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
        drm_dma_t __user *argp = (void __user *)data;
        drm_dma_t d;
        int ret = 0;
  
 -      LOCK_TEST_WITH_RETURN( dev, filp );
 +      LOCK_TEST_WITH_RETURN(dev, filp);
  
 -      DRM_COPY_FROM_USER_IOCTL( d, argp, sizeof(d) );
 +      DRM_COPY_FROM_USER_IOCTL(d, argp, sizeof(d));
  
        /* Please don't send us buffers.
         */
 -      if ( d.send_count != 0 ) {
 -              DRM_ERROR( "Process %d trying to send %d buffers via drmDMA\n",
 -                         DRM_CURRENTPID, d.send_count );
 +      if (d.send_count != 0) {
 +              DRM_ERROR("Process %d trying to send %d buffers via drmDMA\n",
 +                        DRM_CURRENTPID, d.send_count);
                return DRM_ERR(EINVAL);
        }
  
        /* We'll send you buffers.
         */
 -      if ( d.request_count < 0 || d.request_count > dma->buf_count ) {
 -              DRM_ERROR( "Process %d trying to get %d buffers (of %d max)\n",
 -                         DRM_CURRENTPID, d.request_count, dma->buf_count );
 +      if (d.request_count < 0 || d.request_count > dma->buf_count) {
 +              DRM_ERROR("Process %d trying to get %d buffers (of %d max)\n",
 +                        DRM_CURRENTPID, d.request_count, dma->buf_count);
                return DRM_ERR(EINVAL);
        }
  
 -      WRAP_TEST_WITH_RETURN( dev_priv );
 +      WRAP_TEST_WITH_RETURN(dev_priv);
  
        d.granted_count = 0;
  
 -      if ( d.request_count ) {
 -              ret = mga_dma_get_buffers( filp, dev, &d );
 +      if (d.request_count) {
 +              ret = mga_dma_get_buffers(filp, dev, &d);
        }
  
 -      DRM_COPY_TO_USER_IOCTL( argp, d, sizeof(d) );
 +      DRM_COPY_TO_USER_IOCTL(argp, d, sizeof(d));
  
        return ret;
  }
@@@ -1115,11 -1154,11 +1131,11 @@@ int mga_driver_postcleanup(drm_device_
   */
  void mga_driver_pretakedown(drm_device_t * dev)
  {
 -      mga_do_cleanup_dma( dev );
 +      mga_do_cleanup_dma(dev);
  }
  
 -int mga_driver_dma_quiescent(drm_device_t *dev)
 +int mga_driver_dma_quiescent(drm_device_t * dev)
  {
        drm_mga_private_t *dev_priv = dev->dev_private;
 -      return mga_do_wait_for_idle( dev_priv );
 +      return mga_do_wait_for_idle(dev_priv);
  }