From: Dave Airlie Date: Wed, 6 Oct 2010 01:10:48 +0000 (+1000) Subject: Merge remote branch 'korg/drm-fixes' into drm-vmware-next X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=fb7ba2114bcd8bb51640c20bc68f89164b29b9ed;p=linux-beck.git Merge remote branch 'korg/drm-fixes' into drm-vmware-next 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 --- fb7ba2114bcd8bb51640c20bc68f89164b29b9ed diff --cc drivers/gpu/drm/drm_gem.c index 3ea0692ce59a,5663d2719063..ea1c4b019ebf --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@@ -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); diff --cc drivers/gpu/drm/i915/intel_fb.c index 7dc50acd65d7,56ad9df2ccb5..b937ccfa7bec --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c @@@ -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) diff --cc drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index e645f44e4302,a96ed6d9d010..5c845b6ec492 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@@ -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, */ diff --cc include/drm/drmP.h index bb5c41893c00,4c9461a4f9e6..274eaaa15c36 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@@ -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) */