[AMD Official Use Only - AMD Internal Distribution Only] Reviewed-by: Srinivasan Shanmugam <srinivasan.shanmu...@amd.com<mailto:srinivasan.shanmu...@amd.com>>
Get Outlook for Android<https://aka.ms/AAb9ysg> ________________________________ From: LIPSKI, IVAN <ivan.lip...@amd.com> Sent: Friday, June 7, 2024 10:03:59 PM To: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org> Cc: SHANMUGAM, SRINIVASAN <srinivasan.shanmu...@amd.com>; Li, Sun peng (Leo) <sunpeng...@amd.com>; Wentland, Harry <harry.wentl...@amd.com>; Siqueira, Rodrigo <rodrigo.sique...@amd.com>; Choi, Nicholas <nicholas.c...@amd.com>; Zhang, George <george.zh...@amd.com>; alex.deuc...@amd.com <alex.deuc...@amd.com>; LIPSKI, IVAN <ivan.lip...@amd.com> Subject: [PATCH 2/2] Revert "drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update" From: Ivan Lipski <ivlip...@amd.com> [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 0d84450ae0db367780c3dd2e208fe4e6fe5565b8. Signed-off-by: Ivan Lipski <ivlip...@amd.com> --- .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c index b339642b86c0..a64f20fcddaa 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c @@ -1246,22 +1246,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; -- 2.34.1