drm/amd/display: fix bandwidth validation failure on DCN 2.1
authorMelissa Wen <mwen@igalia.com>
Fri, 29 Dec 2023 16:25:00 +0000 (15:25 -0100)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 5 Jan 2024 21:10:44 +0000 (16:10 -0500)
IGT `amdgpu/amd_color/crtc-lut-accuracy` fails right at the beginning of
the test execution, during atomic check, because DC rejects the
bandwidth state for a fb sizing 64x64. The test was previously working
with the deprecated dc_commit_state(). Now using
dc_validate_with_context() approach, the atomic check needs to perform a
full state validation. Therefore, set fast_validation to false in the
dc_validate_global_state call for atomic check.

Cc: stable@vger.kernel.org
Fixes: b8272241ff9d ("drm/amd/display: Drop dc_commit_state in favor of dc_commit_streams")
Signed-off-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 10b2a896c498229ef42e4ce65afbb943b16f3c0e..f6575d7dee97150146c6112c2be4fea52ddbe20a 100644 (file)
@@ -10753,7 +10753,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
                        DRM_DEBUG_DRIVER("drm_dp_mst_atomic_check() failed\n");
                        goto fail;
                }
-               status = dc_validate_global_state(dc, dm_state->context, true);
+               status = dc_validate_global_state(dc, dm_state->context, false);
                if (status != DC_OK) {
                        DRM_DEBUG_DRIVER("DC global validation failure: %s (%d)",
                                       dc_status_to_str(status), status);