From: Dave Airlie Date: Mon, 1 Mar 2010 05:40:12 +0000 (+1000) Subject: Merge remote branch 'korg/drm-core-next' into drm-next-stage X-Git-Tag: v3.0~5042^2~103 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79fa9eb7396238233c327668185d28bb47fb0796;p=platform%2Fkernel%2Flinux-amlogic.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 --- 79fa9eb7396238233c327668185d28bb47fb0796 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);