From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8496D4314B5; Thu, 30 Jul 2026 14:39:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785422381; cv=none; b=IetZLQQ57bTUhQJG6aQUagcQbENG2hhQ/DdBR6DKhBAtq9AZh6kFKxN13pBe+2sNFrprguyZuyKcq2aDOZDfzO5RRFW1ISoWQEj0l7tpzo/Z4WPC7Z5ROty13P9MSZYWc4hcSkKsC/feQPFJLU/DktwHGXfZczwN3qZSZlRQiDg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785422381; c=relaxed/simple; bh=4+80H5UUr47oE29/Cy18a91u4k51l+4hKqejB+O8CVk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pPHr4yCVEhagxAAwCGGpIIuazI58YgbNnY3V6wNWwxp8PZu1Df/xVQ6qrg5DvQsroTPtwE2POUWuourXioT1H5ZIws/ca9OsWVeE6n0EFqcZj26XG9aVXBJhkHWdZfmbD9YcRVFNDLxc7mwjdH4cx1QXAPCt8qWKm6mI9O/gK9g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=Ch8sOCJz; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="Ch8sOCJz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7E151F000E9; Thu, 30 Jul 2026 14:39:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1785422380; bh=bxYQ0s0OjmKj/TNDdKE+M0GUstJ2S+HBtHeuCq7O+oU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Ch8sOCJzFi4/QqqkQxDnam3TOlIsvmCsSy7W3wVKkrn8mfIy95DUCITamOxcFmvZJ N7S71Tru6lVB+czrL2nI7SD53QVkHTyxqsUCwyhIRnbp1mSyZ1Q5ymfmc1wVkbzOaf XAFdLIQ9au6fFaRVZt/+4HSzHePw20sz3PpL04gg= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Thomas Zimmermann , Javier Martinez Canillas , Zack Rusin , dri-devel@lists.freedesktop.org, Harry Wentland , Alex Deucher Subject: [PATCH 7.1 419/744] drm/amd/display: Handle struct drm_plane_state.ignore_damage_clips Date: Thu, 30 Jul 2026 16:11:32 +0200 Message-ID: <20260730141453.202490126@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260730141444.267951807@linuxfoundation.org> References: <20260730141444.267951807@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 7.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Thomas Zimmermann commit ac11060c6d4959e2d4ceada037d2e1e1bfcf6645 upstream. The mode-setting pipeline can disabled damage clippings for a commit by setting ignore_damage_clips in struct drm_plane_state. The commit will then do a full display update. Test the flag in DCN code and do a full update in DCN code if it has been set. Commit 35ed38d58257 ("drm: Allow drivers to indicate the damage helpers to ignore damage clips") introduced ignore_damage_clips to selectively ignore damage clipping in certain framebuffer changes. This driver does not do that, but DRM's damage iterator will soon rely on the flag. Therefore supporting it here as well make sense for consistency. Signed-off-by: Thomas Zimmermann Fixes: 35ed38d58257 ("drm: Allow drivers to indicate the damage helpers to ignore damage clips") Cc: Javier Martinez Canillas Cc: Thomas Zimmermann Cc: Zack Rusin Cc: dri-devel@lists.freedesktop.org Reviewed-by: Javier Martinez Canillas Reviewed-by: Harry Wentland Signed-off-by: Alex Deucher (cherry picked from commit a24019f6480fad5c077b5956eed942c8960323d6) Cc: # v6.8+ Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -6440,8 +6440,8 @@ static void fill_dc_dirty_rects(struct d { struct dm_crtc_state *dm_crtc_state = to_dm_crtc_state(crtc_state); struct rect *dirty_rects = flip_addrs->dirty_rects; - u32 num_clips; - struct drm_mode_rect *clips; + u32 num_clips = 0; + struct drm_mode_rect *clips = NULL; bool bb_changed; bool fb_changed; u32 i = 0; @@ -6457,8 +6457,10 @@ static void fill_dc_dirty_rects(struct d if (new_plane_state->rotation != DRM_MODE_ROTATE_0) goto ffu; - num_clips = drm_plane_get_damage_clips_count(new_plane_state); - clips = drm_plane_get_damage_clips(new_plane_state); + if (!new_plane_state->ignore_damage_clips) { + num_clips = drm_plane_get_damage_clips_count(new_plane_state); + clips = drm_plane_get_damage_clips(new_plane_state); + } if (num_clips && (!amdgpu_damage_clips || (amdgpu_damage_clips < 0 && is_psr_su)))