Commit 4c978caf authored by Kalyan Thota's avatar Kalyan Thota Committed by Rob Clark
Browse files

drm/msm/dpu: Fix scale params in plane validation



Plane validation uses an API drm_calc_scale which will
return src/dst value as a scale ratio.

when viewing the range on a scale the values should fall in as

Upscale ratio < Unity scale < Downscale ratio for src/dst formula

Fix the min and max scale ratios to suit the API accordingly.

Signed-off-by: default avatarKalyan Thota <kalyan_t@codeaurora.org>
Tested-by: default avatarKristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: default avatarKristian H. Kristensen <hoegsberg@google.com>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent ccc862b9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -866,9 +866,9 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
		crtc_state = drm_atomic_get_new_crtc_state(state->state,
							   state->crtc);

	min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxdwnscale);
	min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxupscale);
	ret = drm_atomic_helper_check_plane_state(state, crtc_state, min_scale,
					  pdpu->pipe_sblk->maxupscale << 16,
					  pdpu->pipe_sblk->maxdwnscale << 16,
					  true, true);
	if (ret) {
		DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret);