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

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

Merge "drm/msm: add kconfig for enabling event log"

parents 2ed94ee2 04639dcc
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -169,6 +169,7 @@ Optional properties:
				e.g. qcom,sde-sspp-vig-blocks
				-- qcom,sde-vig-csc-off: offset of CSC hardware
				-- qcom,sde-vig-qseed-off: offset of QSEED hardware
				-- qcom,sde-vig-qseed-size: A u32 address range for qseed scaler.
				-- qcom,sde-vig-pcc: offset and version of PCC hardware
				-- qcom,sde-vig-hsic: offset and version of global PA adjustment
				-- qcom,sde-vig-memcolor: offset and version of PA memcolor hardware
@@ -178,6 +179,7 @@ Optional properties:
				indicates that the SSPP RGB contains that feature hardware.
				e.g. qcom,sde-sspp-vig-blocks
				-- qcom,sde-rgb-scaler-off: offset of RGB scaler hardware
				-- qcom,sde-rgb-scaler-size: A u32 address range for scaler.
				-- qcom,sde-rgb-pcc: offset and version of PCC hardware
- qcom,sde-dspp-blocks:		A node that lists the blocks inside the DSPP hardware. The
				block entries will contain the offset and version of each
@@ -417,6 +419,7 @@ Example:
    qcom,sde-sspp-vig-blocks {
        qcom,sde-vig-csc-off = <0x320>;
        qcom,sde-vig-qseed-off = <0x200>;
        qcom,sde-vig-qseed-size = <0x74>;
        /* Offset from vig top, version of HSIC */
        qcom,sde-vig-hsic = <0x200 0x00010000>;
        qcom,sde-vig-memcolor = <0x200 0x00010000>;
@@ -425,6 +428,7 @@ Example:

    qcom,sde-sspp-rgb-blocks {
        qcom,sde-rgb-scaler-off = <0x200>;
        qcom,sde-rgb-scaler-size = <0x74>;
        qcom,sde-rgb-pcc = <0x380 0x00010000>;
    };

+27 −4
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
	sde_kms: qcom,sde_kms@c900000 {
		compatible = "qcom,sde-kms";
		reg = <0x0c900000 0x90000>,
		      <0x0c9b0000 0x1040>;
		      <0x0c9b0000 0x2008>;
		reg-names = "mdp_phys", "vbif_phys";

		/* clock and supply entries */
@@ -52,23 +52,44 @@

		/* hw blocks */
		qcom,sde-off = <0x1000>;
		qcom,sde-len = <0x458>;

		qcom,sde-ctl-off = <0x2000 0x2200 0x2400
				     0x2600 0x2800>;
		qcom,sde-ctl-size = <0x94>;

		qcom,sde-mixer-off = <0x45000 0x46000 0x47000
				      0x48000 0x49000 0x4a000>;
		qcom,sde-mixer-size = <0x31c>;

		qcom,sde-dspp-off = <0x55000 0x57000>;
		qcom,sde-dspp-size = <0x17e0>;

		qcom,sde-wb-off = <0x66000>;
		qcom,sde-wb-size = <0x2dc>;

		qcom,sde-wb-id = <2>;
		qcom,sde-wb-xin-id = <6>;
		qcom,sde-wb-clk-ctrl = <0x2bc 0x10>;
		qcom,sde-intf-off = <0x6b000 0x6b800
					0x6c000 0x6c800>;
		qcom,sde-intf-size = <0x280>;

		qcom,sde-intf-type = "dp", "dsi", "dsi", "hdmi";

		qcom,sde-pp-off = <0x71000 0x71800
					  0x72000 0x72800>;
		qcom,sde-te2-off = <0x2000 0x2000 0x0 0x0>;
				0x72000 0x72800 0x73000>;
		qcom,sde-pp-slave = <0x0 0x0 0x0 0x0 0x1>;

		qcom,sde-pp-size = <0xd4>;

		qcom,sde-te2-off = <0x2000 0x2000 0x0 0x0 0x0>;
		qcom,sde-cdm-off = <0x7a200>;
		qcom,sde-dsc-off = <0x10000 0x10000 0x0 0x0>;
		qcom,sde-cdm-size = <0x224>;

		qcom,sde-dsc-off = <0x81000 0x81400>;
		qcom,sde-dsc-size = <0x140>;

		qcom,sde-intf-max-prefetch-lines = <0x15 0x15 0x15 0x15>;

		qcom,sde-sspp-type =  "vig", "vig", "vig", "vig",
@@ -78,6 +99,7 @@
		qcom,sde-sspp-off = <0x5000 0x7000 0x9000 0xb000
						0x25000 0x27000 0x29000 0x2b000
						0x35000 0x37000>;
		qcom,sde-sspp-src-size = <0x1ac>;

		qcom,sde-sspp-xin-id = <0 4 8 12 1 5 9 13 2 10>;

@@ -113,6 +135,7 @@
		qcom,sde-sspp-vig-blocks {
			qcom,sde-vig-csc-off = <0x1a00>;
			qcom,sde-vig-qseed-off = <0xa00>;
			qcom,sde-vig-qseed-size = <0xa0>;
		};

		qcom,platform-supply-entries {
+10 −0
Original line number Diff line number Diff line
@@ -98,3 +98,13 @@ config DRM_SDE_HDMI
	default y
	help
	  Choose this option if HDMI connector support is needed in SDE driver.

config DRM_SDE_EVTLOG_DEBUG
	bool "Enable event logging in MSM DRM"
	depends on DRM_MSM
	help
          The SDE DRM debugging provides support to enable display debugging
          features to: dump SDE registers during driver errors, panic
          driver during fatal errors and enable some display-driver logging
          into an internal buffer (this avoids logging overhead).
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ msm_drm-y := \
	sde/sde_color_processing.o \
	sde/sde_vbif.o \
	sde/sde_splash.o \
	sde_dbg.o \
	sde_dbg_evtlog.o \
	sde_io_util.o \
	dba_bridge.o \
+13 −3
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ static int msm_unload(struct drm_device *dev)
				priv->vram.paddr, &attrs);
	}

	sde_evtlog_destroy();
	sde_dbg_destroy();

	sde_power_client_destroy(&priv->phandle, priv->pclient);
	sde_power_resource_deinit(pdev, &priv->phandle);
@@ -423,11 +423,17 @@ static int msm_component_bind_all(struct device *dev,
}
#endif

static int msm_power_enable_wrapper(void *handle, void *client, bool enable)
{
	return sde_power_resource_enable(handle, client, enable);
}

static int msm_load(struct drm_device *dev, unsigned long flags)
{
	struct platform_device *pdev = dev->platformdev;
	struct msm_drm_private *priv;
	struct msm_kms *kms;
	struct sde_dbg_power_ctrl dbg_power_ctrl = { NULL };
	int ret, i;

	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
@@ -477,9 +483,13 @@ static int msm_load(struct drm_device *dev, unsigned long flags)
	if (ret)
		goto fail;

	ret = sde_evtlog_init(dev->primary->debugfs_root);
	dbg_power_ctrl.handle = &priv->phandle;
	dbg_power_ctrl.client = priv->pclient;
	dbg_power_ctrl.enable_fn = msm_power_enable_wrapper;
	ret = sde_dbg_init(dev->primary->debugfs_root, &pdev->dev,
			&dbg_power_ctrl);
	if (ret) {
		dev_err(dev->dev, "failed to init evtlog: %d\n", ret);
		dev_err(dev->dev, "failed to init sde dbg: %d\n", ret);
		goto fail;
	}

Loading