From: "Christian König" <ckoenig.leichtzumerken@gmail.com>
To: daniel.vetter@ffwll.ch, airlied@gmail.com
Cc: dri-devel@lists.freedesktop.org
Subject: [PATCH 1/5] drm/vmwgfx: unbind in vmw_ttm_unpopulate
Date: Wed, 28 Jul 2021 15:05:48 +0200 [thread overview]
Message-ID: <20210728130552.2074-1-christian.koenig@amd.com> (raw)
Doing this in vmw_ttm_destroy() is to late.
It turned out that this is not a good idea at all because it leaves pointers
to freed up system memory pages in the GART tables of the drivers.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
index b0973c27e774..904031d03dbe 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
@@ -526,14 +526,9 @@ static void vmw_ttm_destroy(struct ttm_device *bdev, struct ttm_tt *ttm)
struct vmw_ttm_tt *vmw_be =
container_of(ttm, struct vmw_ttm_tt, dma_ttm);
- vmw_ttm_unbind(bdev, ttm);
ttm_tt_destroy_common(bdev, ttm);
vmw_ttm_unmap_dma(vmw_be);
- if (vmw_be->dev_priv->map_mode == vmw_dma_alloc_coherent)
- ttm_tt_fini(&vmw_be->dma_ttm);
- else
- ttm_tt_fini(ttm);
-
+ ttm_tt_fini(ttm);
if (vmw_be->mob)
vmw_mob_destroy(vmw_be->mob);
@@ -578,6 +573,8 @@ static void vmw_ttm_unpopulate(struct ttm_device *bdev,
dma_ttm);
unsigned int i;
+ vmw_ttm_unbind(bdev, ttm);
+
if (vmw_tt->mob) {
vmw_mob_destroy(vmw_tt->mob);
vmw_tt->mob = NULL;
--
2.25.1
next reply other threads:[~2021-07-28 13:05 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-28 13:05 Christian König [this message]
2021-07-28 13:05 ` [PATCH 2/5] drm/amdgpu: unbind in amdgpu_ttm_tt_unpopulate Christian König
2021-07-28 13:05 ` [PATCH 3/5] drm/nouveau: unbind in nouveau_ttm_tt_unpopulate Christian König
2021-07-28 13:05 ` [PATCH 4/5] drm/radeon: unbind in radeon_ttm_tt_unpopulate() Christian König
2021-07-28 13:05 ` [PATCH 5/5] drm/ttm: remove ttm_tt_destroy_common v2 Christian König
2021-08-23 11:05 ` [PATCH 1/5] drm/vmwgfx: unbind in vmw_ttm_unpopulate Christian König
2021-08-23 11:15 ` Thomas Hellström
2021-08-26 8:49 ` Daniel Vetter
2021-08-26 10:11 ` Christian König
2021-08-26 12:50 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2021-07-22 12:41 Christian König
2021-07-23 8:47 ` Daniel Vetter
2021-07-23 9:13 ` Christian König
2021-07-23 9:21 ` Daniel Vetter
2021-07-23 9:40 ` Christian König
2021-07-26 0:03 ` Dave Airlie
2021-07-26 19:35 ` Christian König
2021-07-26 20:03 ` Dave Airlie
2021-07-27 9:28 ` Daniel Vetter
2021-07-28 11:18 ` Christian König
2021-07-22 8:55 Christian König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210728130552.2074-1-christian.koenig@amd.com \
--to=ckoenig.leichtzumerken@gmail.com \
--cc=airlied@gmail.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).