From: Dave Airlie Date: Thu, 25 Feb 2010 03:39:29 +0000 (+1000) Subject: Merge remote branch 'korg/drm-core-next' into drm-next-stage X-Git-Tag: v2.6.34-rc4~12^2~68^2~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=de19322d554fd0f449d17610823c38494c06db9e;p=platform%2Fkernel%2Flinux-3.10.git Merge remote branch 'korg/drm-core-next' into drm-next-stage * korg/drm-core-next: drm/ttm: handle OOM in ttm_tt_swapout drm/radeon/kms/atom: fix shr/shl ops drm/kms: fix spelling of "CLOCK" drm/kms: fix fb_changed = true else statement drivers/gpu/drm/drm_fb_helper.c: don't use private implementation of atoi() drm: switch all GEM/KMS ioctls to unlocked ioctl status. Use drm_gem_object_[handle_]unreference_unlocked where possible drm: introduce drm_gem_object_[handle_]unreference_unlocked --- de19322d554fd0f449d17610823c38494c06db9e diff --cc drivers/gpu/drm/radeon/radeon_cs.c index e9d0850,da59f5e..70ba02e --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@@ -189,16 -189,15 +189,13 @@@ static void radeon_cs_parser_fini(struc { unsigned i; - if (error && parser->ib) { - radeon_bo_list_unvalidate(&parser->validated, - parser->ib->fence); - } else { - radeon_bo_list_unreserve(&parser->validated); + if (!error && parser->ib) { + radeon_bo_list_fence(&parser->validated, parser->ib->fence); } + radeon_bo_list_unreserve(&parser->validated); for (i = 0; i < parser->nrelocs; i++) { - if (parser->relocs[i].gobj) { - mutex_lock(&parser->rdev->ddev->struct_mutex); - drm_gem_object_unreference(parser->relocs[i].gobj); - mutex_unlock(&parser->rdev->ddev->struct_mutex); - } + if (parser->relocs[i].gobj) + drm_gem_object_unreference_unlocked(parser->relocs[i].gobj); } kfree(parser->track); kfree(parser->relocs);