]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_p...
authorIvan Lipski <ivlipski@amd.com>
Fri, 7 Jun 2024 16:33:59 +0000 (12:33 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2024 13:34:37 +0000 (15:34 +0200)
commit 778e3979c5dc9cbdb5d1b92afed427de6bc483b4 upstream.

[WHY]
This patch is a dupplicate implementation of 14bcf29b, which we
are reverting due to a regression with kms_plane_cursor IGT tests.

This reverts commit 38e6f715b02b572f74677eb2f29d3b4bc6f1ddff.

Reviewed-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Tested-by: George Zhang <George.zhang@amd.com>
Signed-off-by: Ivan Lipski <ivlipski@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c

index 918c880739a2a5d99b5aa88e0f69dbdf81977711..8a4c40b4c27e4f293be7bc1f789b9e124847370e 100644 (file)
@@ -1231,22 +1231,14 @@ void amdgpu_dm_plane_handle_cursor_update(struct drm_plane *plane,
 {
        struct amdgpu_device *adev = drm_to_adev(plane->dev);
        struct amdgpu_framebuffer *afb = to_amdgpu_framebuffer(plane->state->fb);
-       struct drm_crtc *crtc;
-       struct dm_crtc_state *crtc_state;
-       struct amdgpu_crtc *amdgpu_crtc;
-       u64 address;
+       struct drm_crtc *crtc = afb ? plane->state->crtc : old_plane_state->crtc;
+       struct dm_crtc_state *crtc_state = crtc ? to_dm_crtc_state(crtc->state) : NULL;
+       struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
+       uint64_t address = afb ? afb->address : 0;
        struct dc_cursor_position position = {0};
        struct dc_cursor_attributes attributes;
        int ret;
 
-       if (!afb)
-               return;
-
-       crtc = plane->state->crtc ? plane->state->crtc : old_plane_state->crtc;
-       crtc_state = crtc ? to_dm_crtc_state(crtc->state) : NULL;
-       amdgpu_crtc = to_amdgpu_crtc(crtc);
-       address = afb->address;
-
        if (!plane->state->fb && !old_plane_state->fb)
                return;