Received: by 2002:ac0:e34a:0:0:0:0:0 with SMTP id g10csp264541imn; Wed, 27 Jul 2022 05:45:40 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tkTARR6RYqgaUlXL7R987MfFHlLtRSZea0YCyo+B4v208KZnlWXj5p4olrjdawn9FUQHGV X-Received: by 2002:a17:906:9c82:b0:6df:c5f0:d456 with SMTP id fj2-20020a1709069c8200b006dfc5f0d456mr17911001ejc.287.1658925939833; Wed, 27 Jul 2022 05:45:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658925939; cv=none; d=google.com; s=arc-20160816; b=Q5/rSZ+j9QMErzGAMkdbS01W54nedprcS3WTnrxeCdIuqalkBbsRcAwsjnZ59hixOP b1mKfnw0ygvf36k9ITLDBUmdqQm28t84E9l+swQyv4RyVQDOG5v8JrAuHEwz2kBCuptU yOvQznuusaxgAT1gFj3/Wggn/D/G7JhGH4YKS9qn3UAR9x3e7NnF+80OAgYMZYb7Ebvx 3YrKuUmbUq+OzfjzcMMflf2ZR1k8KwJBFQrET8QldK8b/se+BOsgNZzvdQPNwQCNfiWf 7thb6pRu6uqr9mpl0l4v9MHiQ2ikD7uvmGmBdApiQwwzIMO8q5fKwT2iOWbDIKDwKpz8 dzeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:from :dkim-signature; bh=UrU5DLEjkTuKWHGRq6F63/U0yLhMDLX+WwLw/eT9V+8=; b=DtDnFpuBjU9ALUFdfZSLyXgUyiq5PeSbI6G/h0YQ/PLmBpVV3I3Ol3Ze+bsL3onZea FPtzEewFMYLK69u3IudMoPOHNJi+9KCknW3HB1AXtSRhHIRq1JkQLB9FoF9BMM1FQyZV L2HihG9TtKsn/FHL+iemo9TpfGOIDq9+jdbgHkzwlCaAH5p67T8qSpzPQEsjz5qppSSt +QPbARjcG3+28xdnFkjs9aFE/07eWbJKUTvhExUceCinD16RNjQICyG1EhE4oZwcfDwS V8+1jajgJDHdc5NWj+O//6gJWo1O8CQV/wM+H5/ujVLNKCSbLNYAzG9SfkG8hK3P3iQJ fV8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@kernel.org header.s=k20201202 header.b=VdF5FWJ8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id vh6-20020a170907d38600b0072f4b54937asi15093932ejc.182.2022.07.27.05.45.15; Wed, 27 Jul 2022 05:45:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@kernel.org header.s=k20201202 header.b=VdF5FWJ8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233061AbiG0MaO (ORCPT + 99 others); Wed, 27 Jul 2022 08:30:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232997AbiG0MaC (ORCPT ); Wed, 27 Jul 2022 08:30:02 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17BDE3DF3C for ; Wed, 27 Jul 2022 05:30:02 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AAB5C611D2 for ; Wed, 27 Jul 2022 12:30:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9734DC43143; Wed, 27 Jul 2022 12:30:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1658925000; bh=Bnw95kKCUQrDufKC0VVSFnBSR2tCZOWA2za105c45Go=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VdF5FWJ87oU8m4GpcVcn5AQmVa6fnLlbv/G8KNY1ksm9ejz0QGgPF02zIRHkwiyDM s8XuQX17mD4u7aCJv6VFFSum9WoSb6AmaBQ3th2rqNNOWXJuZAF58QvBlV/kh6j4Yb BuBu/YX9hNaoNz/wq0GC9/YwuPV+8zCmLQmsmPJTDprbMXz24x44zlUPLwR+GqPad1 bMHz64HE6H8HUkBmBFr/Mr6g59ClxjdudJ6ZV0SQMftFtjObfQcKVJ56kzhMPqZ/UD Uy+AEwnaGjueKifx4GVnbs21YmVxyuv6aFt18Fo9IgZz7zjlzgZh04+Jki3MMEo8/2 Bgdza87u2BqCg== Received: from mchehab by mail.kernel.org with local (Exim 4.95) (envelope-from ) id 1oGgAo-003xmT-Du; Wed, 27 Jul 2022 14:29:58 +0200 From: Mauro Carvalho Chehab Cc: Mauro Carvalho Chehab , Daniel Vetter , David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 6/6] drm/i915/gt: describe the new tlb parameter at i915_vma_resource Date: Wed, 27 Jul 2022 14:29:56 +0200 Message-Id: X-Mailer: git-send-email 2.36.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org TLB cache invalidation can happen on two different situations: 1. synchronously, at __vma_put_pages(); 2. asynchronously. On the first case, TLB cache invalidation happens inside __vma_put_pages(). So, no need to do it later on. However, on the second case, the pages will keep in memory until __i915_vma_evict() is called. So, we need to store the TLB data at struct i915_vma_resource, in order to do a TLB cache invalidation before allowing userspace to re-use the same memory. So, i915_vma_resource_unbind() has gained a new parameter in order to store the TLB data at the second case. Document it. Signed-off-by: Mauro Carvalho Chehab --- To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. See [PATCH v3 0/6] at: https://lore.kernel.org/all/cover.1658924372.git.mchehab@kernel.org/ drivers/gpu/drm/i915/i915_vma_resource.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_vma_resource.c b/drivers/gpu/drm/i915/i915_vma_resource.c index 5a67995ea5fe..4fe09ea0a825 100644 --- a/drivers/gpu/drm/i915/i915_vma_resource.c +++ b/drivers/gpu/drm/i915/i915_vma_resource.c @@ -216,6 +216,10 @@ i915_vma_resource_fence_notify(struct i915_sw_fence *fence, /** * i915_vma_resource_unbind - Unbind a vma resource * @vma_res: The vma resource to unbind. + * @tlb: pointer to vma->obj->mm.tlb associated with the resource + * to be stored at vma_res->tlb. When not-NULL, it will be used + * to do TLB cache invalidation before freeing a VMA resource. + * used only for async unbind. * * At this point this function does little more than publish a fence that * signals immediately unless signaling is held back. -- 2.36.1