Merge remote branch 'korg/drm-fixes' into drm-vmware-next
Dave Airlie [Wed, 6 Oct 2010 01:10:48 +0000 (11:10 +1000)]
necessary for some of the vmware fixes to be pushed in.

Conflicts:
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/i915/intel_fb.c
include/drm/drmP.h

1  2 
MAINTAINERS
drivers/gpu/drm/drm_gem.c
drivers/gpu/drm/drm_info.c
drivers/gpu/drm/drm_vm.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_fb.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
include/drm/drmP.h

diff --cc MAINTAINERS
Simple merge
@@@ -142,9 -148,12 +142,9 @@@ int drm_gem_object_init(struct drm_devi
                return -ENOMEM;
  
        kref_init(&obj->refcount);
-       kref_init(&obj->handlecount);
+       atomic_set(&obj->handle_count, 0);
        obj->size = size;
  
 -      atomic_inc(&dev->object_count);
 -      atomic_add(obj->size, &dev->object_memory);
 -
        return 0;
  }
  EXPORT_SYMBOL(drm_gem_object_init);
Simple merge
Simple merge
Simple merge
@@@ -224,8 -237,12 +224,10 @@@ static void intel_fbdev_destroy(struct 
        drm_fb_helper_fini(&ifbdev->helper);
  
        drm_framebuffer_cleanup(&ifb->base);
-       if (ifb->obj)
+       if (ifb->obj) {
 -              drm_gem_object_handle_unreference(ifb->obj);
 -              drm_gem_object_unreference(ifb->obj);
++              drm_gem_object_handle_unreference_unlocked(ifb->obj);
 +              drm_gem_object_unreference_unlocked(ifb->obj);
+       }
 -
 -      return 0;
  }
  
  int intel_fbdev_init(struct drm_device *dev)
@@@ -722,7 -796,10 +796,8 @@@ static struct drm_driver driver = 
        .irq_postinstall = vmw_irq_postinstall,
        .irq_uninstall = vmw_irq_uninstall,
        .irq_handler = vmw_irq_handler,
+       .get_vblank_counter = vmw_get_vblank_counter,
        .reclaim_buffers_locked = NULL,
 -      .get_map_ofs = drm_core_get_map_ofs,
 -      .get_reg_ofs = drm_core_get_reg_ofs,
        .ioctls = vmw_ioctls,
        .num_ioctls = DRM_ARRAY_SIZE(vmw_ioctls),
        .dma_quiescent = NULL,  /*vmw_dma_quiescent, */
@@@ -1151,6 -1174,9 +1151,7 @@@ extern int drm_release(struct inode *in
  extern int drm_mmap(struct file *filp, struct vm_area_struct *vma);
  extern int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
  extern void drm_vm_open_locked(struct vm_area_struct *vma);
+ extern void drm_vm_close_locked(struct vm_area_struct *vma);
 -extern resource_size_t drm_core_get_map_ofs(struct drm_local_map * map);
 -extern resource_size_t drm_core_get_reg_ofs(struct drm_device *dev);
  extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
  
                                /* Memory management support (drm_memory.h) */