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 A0C55435536; Thu, 30 Jul 2026 15:12:16 +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=1785424337; cv=none; b=O6IhPPNSGx9JI3hFLpPverIg43OQdMm8I9ey5EehPF3Y+UPypZ8vBMbB6kgH4fLLac6aSlXxh3+pbiSBR32WuKrAYBImTsztRhHZBMBPEiWWkLlcxfyec1tkIWswSCxnud792v5lijt4Fb4cSMLCogxZPXbNCAonMRdW3UcYUks= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785424337; c=relaxed/simple; bh=49Ql+nlXRlpjngGzTsbXI4FsugRVUXaOrvGHUNRlzQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NsANR0OCqdF0SIEOg/KL1B+d8rMFdmpf2GQfcX2tz5w7Oa3mpBPxJBp5edgh5iWd0oNkVbFw8+VHMRWCUDOr/5CkC7qts7oVTb9PeuY6vl8kUwjwTUMjEjZSl4P1ekxPG8xI9nHvcZA5UCHL/u4o6zdSv6+B5dUqq2dpv03FQec= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=Z1FENMsr; 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="Z1FENMsr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACD7B1F000E9; Thu, 30 Jul 2026 15:12:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1785424336; bh=NEM6vBjmZ/3CGc8rsMxxI7L5ujC7jCcHsm2keae/td0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Z1FENMsr6joKEgRUhpaQeU/h2OTnjl1HUn4o0SzeHEG5qYKgtfXXRd8bA5Rca3ctb p93U5ndxks5ZqqEJriBM3dV9p5Uoq3Nild/acE5EX44u44VEEuwyy/MA4LNyIta6C2 8R1yVlI3tmjsRbCbFG6P6URABd0kI7xRjYCzULmI= 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 6.18 356/675] drm/amd/display: Handle struct drm_plane_state.ignore_damage_clips Date: Thu, 30 Jul 2026 16:11:26 +0200 Message-ID: <20260730141452.699769408@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260730141445.110192266@linuxfoundation.org> References: <20260730141445.110192266@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 6.18-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 @@ -6240,8 +6240,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; @@ -6257,8 +6257,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)))