All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/nouveau: Drop mutex_lock_nested for atomic
@ 2020-08-02 18:18 ` Daniel Vetter
  0 siblings, 0 replies; 16+ messages in thread
From: Daniel Vetter @ 2020-08-02 18:18 UTC (permalink / raw)
  To: DRI Development
  Cc: Maarten Lankhorst, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Ben Skeggs, Daniel Vetter

Purely conjecture, but I think the original locking inversion with the
legacy page flip code between flipping and ttm's bo move function
shoudn't exist anymore with atomic: With atomic the bo pinning and
actual modeset commit is completely separated in the code patsh.

This annotation was originally added in

commit 060810d7abaabcab282e062c595871d661561400
Author: Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Date:   Mon Jul 8 14:15:51 2013 +1000

    drm/nouveau: fix locking issues in page flipping paths

due to

commit b580c9e2b7ba5030a795aa2fb73b796523d65a78
Author: Maarten Lankhorst <m.b.lankhorst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date:   Thu Jun 27 13:48:18 2013 +0200

    drm/nouveau: make flipping lockdep safe

Signed-off-by: Daniel Vetter <daniel.vetter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Maarten Lankhorst <m.b.lankhorst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
---
I might be totally wrong, so this definitely needs testing :-)

Cheers, Daniel
---
 drivers/gpu/drm/nouveau/nouveau_bo.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 7806278dce57..a7b2a9bb0ffe 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -776,7 +776,11 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr,
 			return ret;
 	}
 
-	mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
+	if (drm_drv_uses_atomic_modeset(drm->dev))
+		mutex_lock(&cli->mutex);
+	else
+		mutex_lock_nested(&cli->mutex, SINGLE_DEPTH_NESTING);
+
 	ret = nouveau_fence_sync(nouveau_bo(bo), chan, true, intr);
 	if (ret == 0) {
 		ret = drm->ttm.move(chan, bo, &bo->mem, new_reg);
-- 
2.27.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-10-23 12:38 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-02 18:18 [PATCH] drm/nouveau: Drop mutex_lock_nested for atomic Daniel Vetter
2020-08-02 18:18 ` Daniel Vetter
     [not found] ` <20200802181849.1586281-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2020-08-03 11:22   ` Maarten Lankhorst
2020-08-03 11:22     ` Maarten Lankhorst
     [not found]     ` <579702ca-4b4e-0b05-1b93-25b99554d464-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2020-09-17 13:15       ` Daniel Vetter
2020-09-17 13:15         ` Daniel Vetter
     [not found]         ` <CAKMK7uHbdcLMJONxR5OZXBLtm0WVxT117mBD72RDW5MRQ=ky4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-09-29 14:52           ` Daniel Vetter
2020-09-29 14:52             ` Daniel Vetter
     [not found]             ` <CAKMK7uE89ZyvVronwpS=+ovJj_njVo3C5+GjjZp2S-Dk_7p2jg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-09-30  0:45               ` Ben Skeggs
2020-09-30  0:45                 ` [Nouveau] " Ben Skeggs
     [not found]                 ` <CACAvsv7nmpJPVnfGkRW=UECvNyjNRO0x=0VMPr0VuFBNtpk+2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-09-30  9:37                   ` Daniel Vetter
2020-09-30  9:37                     ` [Nouveau] " Daniel Vetter
     [not found]                     ` <20200930093735.GT438822-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2020-09-30 22:46                       ` Ben Skeggs
2020-09-30 22:46                         ` [Nouveau] " Ben Skeggs
     [not found]                         ` <CACAvsv6ziC2K58-H35hWY5b35pW2YyLJGWi_X=utkh=meybRow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-23 12:38                           ` Daniel Vetter
2020-10-23 12:38                             ` [Nouveau] " Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.