From patchwork Tue Aug 23 13:57:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Glisse X-Patchwork-Id: 1088722 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p7NDsAMJ013212 for ; Tue, 23 Aug 2011 13:54:31 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A714F9F4D4 for ; Tue, 23 Aug 2011 06:54:10 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-vw0-f49.google.com (mail-vw0-f49.google.com [209.85.212.49]) by gabe.freedesktop.org (Postfix) with ESMTP id 703C79E7E9 for ; Tue, 23 Aug 2011 06:54:02 -0700 (PDT) Received: by vws8 with SMTP id 8so125546vws.36 for ; Tue, 23 Aug 2011 06:54:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; bh=r7L+Eq93vgQXwWBzo8RNYP9Ue6HWXlYTsQwwKvBP6YQ=; b=un7/tgPC9aHi/nZ8DQo7i1TCzRDy1YzyVBWyNtft+wVv+4F2wJD+JACGcJ+HFPps3R /rjFQUdirwqv+V3klI4nlN1takhURzmXWFBhithYuNgBYHtWJuhEh3EbIlPOMGTy+t7n g84JEPc8j+Nm/Ol9HH6qgHdXED/FGTWo7O3Xw= Received: by 10.52.21.103 with SMTP id u7mr1965361vde.448.1314107641732; Tue, 23 Aug 2011 06:54:01 -0700 (PDT) Received: from dhcp-10-16-61-82.boston.devel.redhat.com (nat-pool-rdu.redhat.com [66.187.233.202]) by mx.google.com with ESMTPS id df8sm98446vdc.25.2011.08.23.06.53.59 (version=SSLv3 cipher=OTHER); Tue, 23 Aug 2011 06:54:00 -0700 (PDT) From: j.glisse@gmail.com To: dri-devel@lists.freedesktop.org Subject: [PATCH] drm/ttm: ensure ttm for new node is bound before calling move_notify() Date: Tue, 23 Aug 2011 09:57:14 -0400 Message-Id: <1314107834-2818-1-git-send-email-j.glisse@gmail.com> X-Mailer: git-send-email 1.7.4.4 Cc: Ben Skeggs X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Tue, 23 Aug 2011 13:54:31 +0000 (UTC) From: Ben Skeggs This was true for new TTM_PL_SYSTEM and new TTM_PL_TT cases, but wasn't the case on TTM_PL_SYSTEM<->TTM_PL_TT moves, which causes trouble on some paths as nouveau's move_notify() hook requires that the dma addresses be valid at this point. Signed-off-by: Ben Skeggs Reviewed-by: Jerome Glisse --- drivers/gpu/drm/ttm/ttm_bo.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 56619f6..ac332de 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -390,10 +390,12 @@ static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo, * Create and bind a ttm if required. */ - if (!(new_man->flags & TTM_MEMTYPE_FLAG_FIXED) && (bo->ttm == NULL)) { - ret = ttm_bo_add_ttm(bo, false); - if (ret) - goto out_err; + if (!(new_man->flags & TTM_MEMTYPE_FLAG_FIXED)) { + if (bo->ttm == NULL) { + ret = ttm_bo_add_ttm(bo, false); + if (ret) + goto out_err; + } ret = ttm_tt_set_placement_caching(bo->ttm, mem->placement); if (ret)