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

Unverified Commit aa81b48c authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0' of...

Merge tag 'LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android12-5.4-lahaina

"LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: add msm framebuffer emulation
  makefile: add gki config support for display techpack for kona
  Revert "disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch"
  disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch
  disp: msm: sde: disable dsi ctrl regulator during deepsleep
  disp: msm: sde: update uidle ctl register only for master encoder
  disp: msm: avoid minidump region addition for mdss register dumps
  disp: msm: add skip panel power off dt property

Change-Id: I1ade9627b3ade718cb923b0ca23031fc9e639808
parents e97a85da 857afa5b
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -2,11 +2,13 @@

# auto-detect subdirs
ifeq ($(CONFIG_ARCH_KONA), y)
     ifeq ($(CONFIG_QGKI), y)
		include $(srctree)/techpack/display/config/konadisp.conf
endif

ifeq ($(CONFIG_ARCH_KONA), y)
LINUXINCLUDE    += -include $(srctree)/techpack/display/config/konadispconf.h
     else
		include $(srctree)/techpack/display/config/gki_konadisp.conf
LINUXINCLUDE    += -include $(srctree)/techpack/display/config/gki_konadispconf.h
     endif
endif

ifeq ($(CONFIG_ARCH_LAHAINA), y)
+17 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.

export CONFIG_DRM_MSM=y
export CONFIG_DRM_MSM_SDE=y
export CONFIG_SYNC_FILE=y
export CONFIG_DRM_MSM_DSI=y
export CONFIG_DRM_MSM_DP=y
export CONFIG_QCOM_MDSS_DP_PLL=y
export CONFIG_DSI_PARSER=y
export CONFIG_DRM_SDE_WB=y
export CONFIG_DRM_MSM_REGISTER_LOGGING=y
export CONFIG_QCOM_MDSS_PLL=y
export CONFIG_MSM_SDE_ROTATOR=y
export CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y
export CONFIG_DRM_SDE_RSC=y
export CONFIG_DISPLAY_BUILD=m
+21 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#define CONFIG_DRM_MSM 1
#define CONFIG_DRM_MSM_SDE 1
#define CONFIG_SYNC_FILE 1
#define CONFIG_DRM_MSM_DSI 1
#define CONFIG_DRM_MSM_DP 1
#define CONFIG_QCOM_MDSS_DP_PLL 1
#define CONFIG_DSI_PARSER 1
#define CONFIG_DRM_SDE_WB 1
#define CONFIG_DRM_MSM_REGISTER_LOGGING 1
#define CONFIG_DRM_SDE_EVTLOG_DEBUG 1
#define CONFIG_QCOM_MDSS_PLL 1
#define CONFIG_GKI_DISPLAY 1
#define CONFIG_MSM_SDE_ROTATOR 1
#define CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG 1
#define CONFIG_DRM_SDE_RSC 1
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ export CONFIG_QCOM_MDSS_PLL=y
export CONFIG_MSM_SDE_ROTATOR=y
export CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y
export CONFIG_DRM_SDE_RSC=y
export CONFIG_DISPLAY_BUILD=y
+60 −0
Original line number Diff line number Diff line
@@ -2455,6 +2455,63 @@ void dsi_display_enable_event(struct drm_connector *connector,
	}
}

int dsi_display_ctrl_vreg_on(struct dsi_display *display)
{
	int rc = 0;
	int i;
	struct dsi_display_ctrl *ctrl;
	struct dsi_ctrl *dsi_ctrl;

	display_for_each_ctrl(i, display) {
		ctrl = &display->ctrl[i];
		if (!ctrl->ctrl)
			continue;

		dsi_ctrl = ctrl->ctrl;
		if (dsi_ctrl->current_state.host_initialized) {
			rc = dsi_pwr_enable_regulator(
					&dsi_ctrl->pwr_info.host_pwr, true);
			if (rc) {
				DSI_ERR("[%s] Failed to enable vreg, rc=%d\n",
				       dsi_ctrl->name, rc);
				goto error;
			}
			DSI_DEBUG("[%s] Enable ctrl vreg\n", dsi_ctrl->name);
		}
	}
error:
	return rc;
}

int dsi_display_ctrl_vreg_off(struct dsi_display *display)
{
	int rc = 0;
	int i;
	struct dsi_display_ctrl *ctrl;
	struct dsi_ctrl *dsi_ctrl;

	display_for_each_ctrl(i, display) {
		ctrl = &display->ctrl[i];
		if (!ctrl->ctrl)
			continue;

		dsi_ctrl = ctrl->ctrl;
		if (dsi_ctrl->current_state.host_initialized) {
			rc = dsi_pwr_enable_regulator(
				&dsi_ctrl->pwr_info.host_pwr, false);
			if (rc) {
				DSI_ERR("[%s] Failed to disable vreg, rc=%d\n",
				       dsi_ctrl->name, rc);
				goto error;
			}
			DSI_DEBUG("[%s] Disable ctrl vreg\n", dsi_ctrl->name);
		}
	}
error:
	return rc;
}


static int dsi_display_ctrl_power_on(struct dsi_display *display)
{
	int rc = 0;
@@ -4204,6 +4261,9 @@ static int dsi_display_parse_dt(struct dsi_display *display)
	display->needs_clk_src_reset = of_property_read_bool(of_node,
				"qcom,needs-clk-src-reset");

	display->needs_ctrl_vreg_disable = of_property_read_bool(of_node,
				"qcom,needs-ctrl-vreg-disable");

	/* Parse all external bridges from port 0 */
	display_for_each_ctrl(i, display) {
		display->ext_bridge[i].node_of =
Loading