]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amd/display: Don't program BLNDGAM_MEM_PWR_FORCE when CM low-power is disabled...
authorMatthew Schwartz <matthew.schwartz@linux.dev>
Mon, 20 Oct 2025 23:09:34 +0000 (16:09 -0700)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 28 Oct 2025 15:01:44 +0000 (11:01 -0400)
commit382bd6a792836875da555fe9a2b51222b813fed1
tree91894316a128082dbedc832e87b44ff539395e1e
parent5d7b36d1bffce8340b37cbba95ef743ed3adaefd
drm/amd/display: Don't program BLNDGAM_MEM_PWR_FORCE when CM low-power is disabled on DCN30

Before commit 33056a97ae5e ("drm/amd/display: Remove double checks for
`debug.enable_mem_low_power.bits.cm`"), dpp3_program_blnd_lut(NULL)
checked the low-power debug flag before calling
dpp3_power_on_blnd_lut(false).

After commit 33056a97ae5e ("drm/amd/display: Remove double checks for
`debug.enable_mem_low_power.bits.cm`"), dpp3_program_blnd_lut(NULL)
unconditionally calls dpp3_power_on_blnd_lut(false). The BLNDGAM power
helper writes BLNDGAM_MEM_PWR_FORCE when CM low-power is disabled, causing
immediate SRAM power toggles instead of deferring at vupdate. This can
disrupt atomic color/LUT sequencing during transitions between
direct scanout and composition within gamescope's DRM backend on
Steam Deck OLED.

To fix this, leave the BLNDGAM power state unchanged when low-power is
disabled, matching dpp3_power_on_hdr3dlut and dpp3_power_on_shaper.

Fixes: 33056a97ae5e ("drm/amd/display: Remove double checks for `debug.enable_mem_low_power.bits.cm`")
Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 13ff4f63fcddfc84ec8632f1443936b00aa26725)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c