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

Commit b9ef599c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: add support for dynamic OT for mdss on 8952"

parents a1dc57e5 953457aa
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -3861,6 +3861,11 @@ static int __to_user_mdp_overlay(struct mdp_overlay32 __user *ov32,
			   sizeof(struct mdp_scale_data));
	if (ret)
		return -EFAULT;

	ret = put_user(ov->frame_rate, &ov32->frame_rate);
	if (ret)
		return -EFAULT;

	return 0;
}

@@ -3917,6 +3922,10 @@ static int __from_user_mdp_overlay(struct mdp_overlay *ov,
			 sizeof(struct mdp_scale_data)))
		return -EFAULT;

	if (get_user(data, &ov32->frame_rate) ||
	    put_user(data, &ov->frame_rate))
		return -EFAULT;

	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -479,6 +479,7 @@ struct mdp_overlay32 {
	struct mdp_overlay_pp_params32 overlay_pp_cfg;
	struct mdp_scale_data scale;
	uint8_t color_space;
	uint32_t frame_rate;
};

struct mdp_overlay_list32 {
+7 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@
#define AXI_HALT_TIMEOUT_US	0x4000
#define AUTOSUSPEND_TIMEOUT_MS	200
#define DEFAULT_MDP_PIPE_WIDTH	2048
#define RES_1080p		(1080*1920)
#define RES_1080p		(1088*1920)
#define RES_UHD			(3840*2160)

struct mdss_data_type *mdss_res;
@@ -1099,6 +1099,12 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
		mdata->min_prefill_lines = 12;
		mdata->props = mdss_get_props();
		break;
	case MDSS_MDP_HW_REV_112:
		mdata->max_target_zorder = 4; /* excluding base layer */
		mdata->max_cursor_size = 64;
		mdata->min_prefill_lines = 12;
		set_bit(MDSS_QOS_OTLIM, mdata->mdss_qos_map);
		break;
	default:
		mdata->max_target_zorder = 4; /* excluding base layer */
		mdata->max_cursor_size = 64;
+2 −0
Original line number Diff line number Diff line
@@ -564,6 +564,8 @@ struct mdss_mdp_pipe {
	struct mdp_scale_data scale;
	u8 chroma_sample_h;
	u8 chroma_sample_v;

	u32 frame_rate;
};

struct mdss_mdp_writeback_arg {
+5 −0
Original line number Diff line number Diff line
@@ -572,12 +572,17 @@ static u32 mdss_mdp_get_rotator_fps(struct mdss_mdp_pipe *pipe)
	struct mdss_data_type *mdata = mdss_mdp_get_mdata();
	u32 fps = DEFAULT_FRAME_RATE;

	if (pipe->frame_rate)
		fps = pipe->frame_rate;

	if (mdata->traffic_shaper_en)
		fps = DEFAULT_ROTATOR_FRAME_RATE;

	if (pipe->src.w >= 3840 || pipe->src.h >= 3840)
		fps = ROTATOR_LOW_FRAME_RATE;

	pr_debug("rotator fps:%d\n", fps);

	return fps;
}

Loading