drm/amd/display: Add check for headless for idle optimization
authorRoman Li <Roman.Li@amd.com>
Mon, 30 Sep 2024 22:18:35 +0000 (18:18 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Oct 2024 15:23:05 +0000 (11:23 -0400)
[Why]
Currently idle worker thread that checks for HPD while system is in IPS2
only supports headless and static screen use-cases.
In other display-off scenarios hotplug may not work.

[How]
For display-off only allow idle optimization when no display is connected.

Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
Signed-off-by: Roman Li <Roman.Li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 894442d..8fdef03 100644 (file)
@@ -9589,7 +9589,7 @@ static void amdgpu_dm_commit_streams(struct drm_atomic_state *state,
        WARN_ON(!dc_commit_streams(dm->dc, &params));
 
        /* Allow idle optimization when vblank count is 0 for display off */
-       if (dm->active_vblank_irq_count == 0)
+       if ((dm->active_vblank_irq_count == 0) && amdgpu_dm_is_headless(dm->adev))
                dc_allow_idle_optimizations(dm->dc, true);
        mutex_unlock(&dm->dc_lock);