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

Commit 2f410f88 authored by Vincent Abriou's avatar Vincent Abriou
Browse files

drm/sti: fix GDP size to support up to UHD resolution



On stih407-410 chip family the GDP layers are able to support up to UHD
resolution (3840 x 2160).

Signed-off-by: default avatarVincent Abriou <vincent.abriou@st.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Tested-by: default avatarLee Jones <lee.jones@linaro.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1490280292-30466-1-git-send-email-vincent.abriou@st.com
parent db8b1590
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -66,7 +66,9 @@ static struct gdp_format_to_str {
#define GAM_GDP_ALPHARANGE_255  BIT(5)
#define GAM_GDP_AGC_FULL_RANGE  0x00808080
#define GAM_GDP_PPT_IGNORE      (BIT(1) | BIT(0))
#define GAM_GDP_SIZE_MAX        0x7FF

#define GAM_GDP_SIZE_MAX_WIDTH  3840
#define GAM_GDP_SIZE_MAX_HEIGHT 2160

#define GDP_NODE_NB_BANK        2
#define GDP_NODE_PER_FIELD      2
@@ -632,8 +634,8 @@ static int sti_gdp_atomic_check(struct drm_plane *drm_plane,
	/* src_x are in 16.16 format */
	src_x = state->src_x >> 16;
	src_y = state->src_y >> 16;
	src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX);
	src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX);
	src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX_WIDTH);
	src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX_HEIGHT);

	format = sti_gdp_fourcc2format(fb->format->format);
	if (format == -1) {
@@ -741,8 +743,8 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
	/* src_x are in 16.16 format */
	src_x = state->src_x >> 16;
	src_y = state->src_y >> 16;
	src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX);
	src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX);
	src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX_WIDTH);
	src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX_HEIGHT);

	list = sti_gdp_get_free_nodes(gdp);
	top_field = list->top_field;