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

Commit a2ad5615 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 348e9b39 on remote branch

Change-Id: I133fa401d25e3ccb50d3e5e8b325ca893de8045d
parents eb09e0b9 348e9b39
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];
+6 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@

#include "dp_ctrl.h"
#include "dp_debug.h"
#include "sde_dbg.h"

#define DP_MST_DEBUG(fmt, ...) DP_DEBUG(fmt, ##__VA_ARGS__)

@@ -93,13 +94,11 @@ enum notification_status {

static void dp_ctrl_idle_patterns_sent(struct dp_ctrl_private *ctrl)
{
	DP_DEBUG("idle_patterns_sent\n");
	complete(&ctrl->idle_comp);
}

static void dp_ctrl_video_ready(struct dp_ctrl_private *ctrl)
{
	DP_DEBUG("dp_video_ready\n");
	complete(&ctrl->video_comp);
}

@@ -185,6 +184,8 @@ static void dp_ctrl_wait4video_ready(struct dp_ctrl_private *ctrl)
{
	if (!wait_for_completion_timeout(&ctrl->video_comp, HZ / 2))
		DP_WARN("SEND_VIDEO time out\n");
	else
		DP_DEBUG("SEND_VIDEO triggered\n");
}

static int dp_ctrl_update_sink_vx_px(struct dp_ctrl_private *ctrl)
@@ -1410,12 +1411,14 @@ static void dp_ctrl_isr(struct dp_ctrl *dp_ctrl)
{
	struct dp_ctrl_private *ctrl;

	SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_ENTRY);
	if (!dp_ctrl)
		return;

	ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl);

	ctrl->catalog->get_interrupt(ctrl->catalog);
	SDE_EVT32_EXTERNAL(ctrl->catalog->isr);

	if (ctrl->catalog->isr & DP_CTRL_INTR_READY_FOR_VIDEO)
		dp_ctrl_video_ready(ctrl);
@@ -1428,6 +1431,7 @@ static void dp_ctrl_isr(struct dp_ctrl *dp_ctrl)

	if (ctrl->catalog->isr5 & DP_CTRL_INTR_MST_DP1_VCPF_SENT)
		dp_ctrl_idle_patterns_sent(ctrl);
	SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_EXIT);
}

void dp_ctrl_set_sim_mode(struct dp_ctrl *dp_ctrl, bool en)
+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;
Loading