Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bce14857 authored by Dmytro Laktyushkin's avatar Dmytro Laktyushkin Committed by Alex Deucher
Browse files

drm/amd/display: set chroma taps to 1 when not scaling

parent 76121231
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -897,6 +897,15 @@ bool dcn_validate_bandwidth(
			v->override_vta_ps[input_idx] = pipe->plane_res.scl_data.taps.v_taps;
			v->override_vta_ps[input_idx] = pipe->plane_res.scl_data.taps.v_taps;
			v->override_hta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.h_taps_c;
			v->override_hta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.h_taps_c;
			v->override_vta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.v_taps_c;
			v->override_vta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.v_taps_c;
			/*
			 * Spreadsheet doesn't handle taps_c is one properly,
			 * need to force Chroma to always be scaled to pass
			 * bandwidth validation.
			 */
			if (v->override_hta_pschroma[input_idx] == 1)
				v->override_hta_pschroma[input_idx] = 2;
			if (v->override_vta_pschroma[input_idx] == 1)
				v->override_vta_pschroma[input_idx] = 2;
			v->source_scan[input_idx] = (pipe->plane_state->rotation % 2) ? dcn_bw_vert : dcn_bw_hor;
			v->source_scan[input_idx] = (pipe->plane_state->rotation % 2) ? dcn_bw_vert : dcn_bw_hor;
		}
		}
		if (v->is_line_buffer_bpp_fixed == dcn_bw_yes)
		if (v->is_line_buffer_bpp_fixed == dcn_bw_yes)
+4 −5
Original line number Original line Diff line number Diff line
@@ -159,11 +159,10 @@ bool dpp_get_optimal_number_of_taps(
			scl_data->taps.h_taps = 1;
			scl_data->taps.h_taps = 1;
		if (IDENTITY_RATIO(scl_data->ratios.vert))
		if (IDENTITY_RATIO(scl_data->ratios.vert))
			scl_data->taps.v_taps = 1;
			scl_data->taps.v_taps = 1;
		/*
		if (IDENTITY_RATIO(scl_data->ratios.horz_c))
		 * Spreadsheet doesn't handle taps_c is one properly,
			scl_data->taps.h_taps_c = 1;
		 * need to force Chroma to always be scaled to pass
		if (IDENTITY_RATIO(scl_data->ratios.vert_c))
		 * bandwidth validation.
			scl_data->taps.v_taps_c = 1;
		 */
	}
	}


	return true;
	return true;