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

Commit 13c448e2 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: dp: add support for continuous PPS command"

parents d9208128 6db41ed5
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1534,6 +1534,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel,
	struct dp_catalog_private *catalog;
	struct dp_io_data *io_data;
	u32 dp_flush, offset;
	struct dp_dsc_cfg_data *dsc;

	if (!panel) {
		DP_ERR("invalid input\n");
@@ -1547,6 +1548,7 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel,

	catalog = dp_catalog_get_priv(panel);
	io_data = catalog->io.dp_link;
	dsc = &panel->dsc;

	if (panel->stream_id == DP_STREAM_0)
		offset = 0;
@@ -1554,6 +1556,11 @@ static void dp_catalog_panel_dp_flush(struct dp_catalog_panel *panel,
		offset = MMSS_DP1_FLUSH - MMSS_DP_FLUSH;

	dp_flush = dp_read(MMSS_DP_FLUSH + offset);

	if ((flush_bit == DP_PPS_FLUSH) &&
		dsc->continuous_pps)
		dp_flush &= ~BIT(2);

	dp_flush |= BIT(flush_bit);
	dp_write(MMSS_DP_FLUSH + offset, dp_flush);
}
+1 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@ struct dp_catalog_audio {

struct dp_dsc_cfg_data {
	bool dsc_en;
	bool continuous_pps;
	char pps[128];
	u32 pps_len;
	u32 pps_word[32];
+1 −0
Original line number Diff line number Diff line
@@ -1883,6 +1883,7 @@ static int dp_init_sub_modules(struct dp_display_private *dp)
	}

	g_dp_display->is_mst_supported = dp->parser->has_mst;
	g_dp_display->dsc_cont_pps = dp->parser->dsc_continuous_pps;

	dp->catalog = dp_catalog_get(dev, dp->parser);
	if (IS_ERR(dp->catalog)) {
+1 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ struct dp_display {
	void *base_dp_panel;
	bool is_sst_connected;
	bool is_mst_supported;
	bool dsc_cont_pps;
	u32 max_pclk_khz;
	void *dp_mst_prv_info;
	u32 max_mixer_count;
+4 −0
Original line number Diff line number Diff line
@@ -366,6 +366,10 @@ int dp_connector_post_init(struct drm_connector *connector, void *display)
	dp_display->bridge->dp_panel = sde_conn->drv_panel;

	rc = dp_mst_init(dp_display);

	if (dp_display->dsc_cont_pps)
		sde_conn->ops.update_pps = NULL;

end:
	return rc;
}
Loading