All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] amdgpu DC fixes for stable
@ 2019-09-20 14:03 Alex Deucher
  2019-09-20 14:03 ` [PATCH 1/3] drm/amd/display: Allow cursor async updates for framebuffer swaps Alex Deucher
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Alex Deucher @ 2019-09-20 14:03 UTC (permalink / raw)
  To: stable; +Cc: nicholas.kazlauskas, Alex Deucher

This set of patches is cherry-picked from 5.4 to stable to fix:
https://bugzilla.kernel.org/show_bug.cgi?id=204181

Please apply!

Thanks,

Alex

Nicholas Kazlauskas (3):
  drm/amd/display: Allow cursor async updates for framebuffer swaps
  drm/amd/display: Skip determining update type for async updates
  drm/amd/display: Don't replace the dc_state for fast updates

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 56 ++++++++++++++-----
 1 file changed, 41 insertions(+), 15 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 1/3] drm/amd/display: Allow cursor async updates for framebuffer swaps
@ 2019-07-31 16:26 Nicholas Kazlauskas
  0 siblings, 0 replies; 8+ messages in thread
From: Nicholas Kazlauskas @ 2019-07-31 16:26 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Leo Li, David Francis, Nicholas Kazlauskas

[Why]
We previously allowed framebuffer swaps as async updates for cursor
planes but had to disable them due to a bug in DRM with async update
handling and incorrect ref counting. The check to block framebuffer
swaps has been added to DRM for a while now, so this check is redundant.

The real fix that allows this to properly in DRM has also finally been
merged and is getting backported into stable branches, so dropping
this now seems to be the right time to do so.

[How]
Drop the redundant check for old_fb != new_fb.

With the proper fix in DRM, this should also fix some cursor stuttering
issues with xf86-video-amdgpu since it double buffers the cursor.

IGT tests that swap framebuffers (-varying-size for example) should
also pass again.

Cc: Leo Li <sunpeng.li@amd.com>
Cc: David Francis <david.francis@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 040169180a63..2efb0eadf602 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4504,20 +4504,10 @@ static int dm_plane_atomic_check(struct drm_plane *plane,
 static int dm_plane_atomic_async_check(struct drm_plane *plane,
 				       struct drm_plane_state *new_plane_state)
 {
-	struct drm_plane_state *old_plane_state =
-		drm_atomic_get_old_plane_state(new_plane_state->state, plane);
-
 	/* Only support async updates on cursor planes. */
 	if (plane->type != DRM_PLANE_TYPE_CURSOR)
 		return -EINVAL;
 
-	/*
-	 * DRM calls prepare_fb and cleanup_fb on new_plane_state for
-	 * async commits so don't allow fb changes.
-	 */
-	if (old_plane_state->fb != new_plane_state->fb)
-		return -EINVAL;
-
 	return 0;
 }
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

end of thread, other threads:[~2019-09-22  8:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-20 14:03 [PATCH 0/3] amdgpu DC fixes for stable Alex Deucher
2019-09-20 14:03 ` [PATCH 1/3] drm/amd/display: Allow cursor async updates for framebuffer swaps Alex Deucher
2019-09-20 14:03 ` [PATCH 2/3] drm/amd/display: Skip determining update type for async updates Alex Deucher
2019-09-20 14:03 ` [PATCH 3/3] drm/amd/display: Don't replace the dc_state for fast updates Alex Deucher
2019-09-20 14:11 ` [PATCH 0/3] amdgpu DC fixes for stable Greg KH
2019-09-20 14:15   ` Deucher, Alexander
2019-09-22  8:14     ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2019-07-31 16:26 [PATCH 1/3] drm/amd/display: Allow cursor async updates for framebuffer swaps Nicholas Kazlauskas

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.