summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2023-11-30 03:04:28 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2023-11-30 03:04:28 +0000
commita1bf9f222fe846b6d9b3ca5c50fe39f34175fae0 (patch)
tree4d32227cd12340c64cde6d96800a20c0dffb280a
parent058206f7d1ca327a9f61dad57b64fa61c818ae8e (diff)
drm/amd/display: Enable fast plane updates on DCN3.2 and above
From Tianci Yin 68d774eb10e261ac6d176da2379f97a62878ef22 in linux-6.1.y/6.1.64 435f5b369657cffee4b04db1f5805b48599f4dbe in mainline linux
-rw-r--r--sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 09815d3d365..2d678153013 100644
--- a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -9289,14 +9289,14 @@ static bool should_reset_plane(struct drm_atomic_state *state,
struct drm_plane *other;
struct drm_plane_state *old_other_state, *new_other_state;
struct drm_crtc_state *new_crtc_state;
+ struct amdgpu_device *adev = drm_to_adev(plane->dev);
int i;
/*
- * TODO: Remove this hack once the checks below are sufficient
- * enough to determine when we need to reset all the planes on
- * the stream.
+ * TODO: Remove this hack for all asics once it proves that the
+ * fast updates works fine on DCN3.2+.
*/
- if (state->allow_modeset)
+ if (adev->ip_versions[DCE_HWIP][0] < IP_VERSION(3, 2, 0) && state->allow_modeset)
return true;
/* Exit early if we know that we're adding or removing the plane. */