Commit c33a9320 authored by Chris Park's avatar Chris Park Committed by Alex Deucher
Browse files

drm/amd/display: Ignore scalar validation failure if pipe is phantom



[Why]
There are some pipe scaler validation failure when the pipe is phantom
and causes crash in DML validation. Since, scalar parameters are not
as important in phantom pipe and we require this plane to do successful
MCLK switches, the failure condition can be ignored.

[How]
Ignore scalar validation failure if the pipe validation is marked as
phantom pipe.

Cc: stable@vger.kernel.org # 6.11+
Reviewed-by: default avatarDillon Varone <dillon.varone@amd.com>
Signed-off-by: default avatarChris Park <chris.park@amd.com>
Signed-off-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 8fef253c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1501,6 +1501,10 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx)
		res = spl_calculate_scaler_params(spl_in, spl_out);
		// Convert respective out params from SPL to scaler data
		translate_SPL_out_params_to_pipe_ctx(pipe_ctx, spl_out);

		/* Ignore scaler failure if pipe context plane is phantom plane */
		if (!res && plane_state->is_phantom)
			res = true;
	} else {
#endif
	/* depends on h_active */
@@ -1571,6 +1575,10 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx)
					&plane_state->scaling_quality);
	}

	/* Ignore scaler failure if pipe context plane is phantom plane */
	if (!res && plane_state->is_phantom)
		res = true;

	if (res && (pipe_ctx->plane_res.scl_data.taps.v_taps != temp.v_taps ||
		pipe_ctx->plane_res.scl_data.taps.h_taps != temp.h_taps ||
		pipe_ctx->plane_res.scl_data.taps.v_taps_c != temp.v_taps_c ||