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

Commit eeee2b62 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: clean up ctl during cont splash resolution change"

parents 337b7795 3c7a042b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
/* Copyright (c) 2014-2015 The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -278,6 +278,10 @@
		mdss_fb2: qcom,mdss_fb_hdmi {
			cell-index = <2>;
			compatible = "qcom,mdss-fb";
			qcom,cont-splash-memory {
				linux,contiguous-region =
				<&cont_splash_mem_hdmi>;
			};
		};

		mdss_fb3: qcom,mdss_fb_secondary {
+5 −0
Original line number Diff line number Diff line
@@ -204,6 +204,11 @@
			reg = <0 0x83401000 0 0x23FF000>;
			label = "cont_splash_mem";
		};

		cont_splash_mem_hdmi: cont_splash_mem_hdmi@b1c00000 {
			reg = <0 0xb1c00000 0 0x23ff000>;
			label = "cont_splash_mem_hdmi";
		};
	};
};

+1 −0
Original line number Diff line number Diff line
@@ -2364,6 +2364,7 @@ static enum handoff hdmi_8996_vco_handoff(struct clk *c)
		if (MDSS_PLL_REG_R(io->phy_base, HDMI_PHY_STATUS) & BIT(0)) {
			io->pll_on = true;
			c->rate = hdmi_8996_vco_get_rate(c);
			vco->rate = c->rate;
			ret = HANDOFF_ENABLED_CLK;
		} else {
			io->handoff_resources = false;
+12 −7
Original line number Diff line number Diff line
@@ -5248,6 +5248,13 @@ static int hdmi_tx_probe(struct platform_device *pdev)
		goto failed_no_mem;
	}

	hdmi_ctrl->mdss_util = mdss_get_util_intf();
	if (hdmi_ctrl->mdss_util == NULL) {
		pr_err("Failed to get mdss utility functions\n");
		rc = -ENODEV;
		goto failed_dt_data;
	}

	platform_set_drvdata(pdev, hdmi_ctrl);
	hdmi_ctrl->pdev = pdev;
	hdmi_ctrl->enc_lvl = HDCP_STATE_AUTH_ENC_NONE;
@@ -5265,13 +5272,9 @@ static int hdmi_tx_probe(struct platform_device *pdev)
		hdmi_ctrl->pdata.primary = true;
		hdmi_ctrl->vid_cfg.vic = vic;
		hdmi_ctrl->panel_data.panel_info.is_prim_panel = true;
	}

	hdmi_ctrl->mdss_util = mdss_get_util_intf();
	if (hdmi_ctrl->mdss_util == NULL) {
		pr_err("Failed to get mdss utility functions\n");
		rc = -ENODEV;
		goto failed_res_init;
		hdmi_ctrl->panel_data.panel_info.cont_splash_enabled =
			hdmi_ctrl->mdss_util->panel_intf_status(DISPLAY_1,
					MDSS_PANEL_INTF_HDMI) ? true : false;
	}

	hdmi_tx_hw.irq_info = mdss_intr_line();
@@ -5332,6 +5335,8 @@ static int hdmi_tx_probe(struct platform_device *pdev)
				hdmi_ctrl->pdata.power_data[i].vreg_config,
				hdmi_ctrl->pdata.power_data[i].num_vreg, 1);

			hdmi_tx_pinctrl_set_state(hdmi_ctrl, i, 1);

			msm_dss_enable_gpio(
				hdmi_ctrl->pdata.power_data[i].gpio_config,
				hdmi_ctrl->pdata.power_data[i].num_gpio, 1);
+2 −1
Original line number Diff line number Diff line
@@ -2435,6 +2435,7 @@ int mdss_mdp_ctl_splash_finish(struct mdss_mdp_ctl *ctl, bool handoff)
	switch (ctl->panel_data->panel_info.type) {
	case MIPI_VIDEO_PANEL:
	case EDP_PANEL:
	case DTV_PANEL:
		return mdss_mdp_video_reconfigure_splash_done(ctl, handoff);
	case MIPI_CMD_PANEL:
		return mdss_mdp_cmd_reconfigure_splash_done(ctl, handoff);
@@ -3788,7 +3789,7 @@ int mdss_mdp_ctl_stop(struct mdss_mdp_ctl *ctl, int power_state)

	pr_debug("ctl_num=%d, power_state=%d\n", ctl->num, ctl->power_state);

	if (!mdss_mdp_ctl_is_power_on(ctl)) {
	if (!ctl->mfd->panel_reconfig && !mdss_mdp_ctl_is_power_on(ctl)) {
		pr_debug("%s %d already off!\n", __func__, __LINE__);
		return 0;
	}
Loading