Commit 559dc44f authored by Samson Tam's avatar Samson Tam Committed by Alex Deucher
Browse files

drm/amd/display: disable adaptive scaler and sharpener when integer scaling is enabled



[Why & How]
When integer scaling is enabled, set taps to 1 and disable adaptive
 scaler and sharpener.

Reviewed-by: default avatarJun Lei <jun.lei@amd.com>
Signed-off-by: default avatarSamson Tam <Samson.Tam@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9dad21f9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ static void populate_spltaps_from_taps(struct spl_taps *spl_scaling_quality,
	spl_scaling_quality->h_taps = scaling_quality->h_taps;
	spl_scaling_quality->v_taps_c = scaling_quality->v_taps_c;
	spl_scaling_quality->v_taps = scaling_quality->v_taps;
	spl_scaling_quality->integer_scaling = scaling_quality->integer_scaling;
}
static void populate_taps_from_spltaps(struct scaling_taps *scaling_quality,
		const struct spl_taps *spl_scaling_quality)
+12 −0
Original line number Diff line number Diff line
@@ -885,6 +885,18 @@ static bool spl_get_optimal_number_of_taps(
		spl_scratch->scl_data.viewport.width > max_downscale_src_width)
		return false;

	/* Disable adaptive scaler and sharpener when integer scaling is enabled */
	if (spl_in->scaling_quality.integer_scaling) {
		spl_scratch->scl_data.taps.h_taps = 1;
		spl_scratch->scl_data.taps.v_taps = 1;
		spl_scratch->scl_data.taps.v_taps_c = 1;
		spl_scratch->scl_data.taps.h_taps_c = 1;
		*enable_easf_v = false;
		*enable_easf_h = false;
		*enable_isharp = false;
		return true;
	}

	/* Check if we are using EASF or not */
	skip_easf = enable_easf(spl_in, spl_scratch);