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

Commit 9a944cae authored by ckosuru's avatar ckosuru
Browse files

Merge remote-tracking branch 'quic/dev/msm-4.14-display' into msm-4.14



* quic/dev/msm-4.14-display:
  disp: msm: dp: skip creating dir when debugfs is disabled
  msm: sde: update check flags to handle CONFIG_DEBUG_FS
  msm: sde: fix compilation when CONFIG_DEBUG_FS is disabled
  disp: msm: modify handling of debugfs initialization
  disp: msm: dsi: modify handling of debugfs initialization

Change-Id: Ibc5d9470aedb98646ae522e46507463c47786213
Signed-off-by: default avatarckosuru <kosuru@codeaurora.org>
parents d6f3aa44 e2df9ea4
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -47,8 +47,6 @@ msm_drm-y := \
	sde/sde_connector.o \
	sde/sde_color_processing.o \
	sde/sde_vbif.o \
	sde_dbg.o \
	sde_dbg_evtlog.o \
	sde_io_util.o \
	sde/sde_hw_reg_dma_v1_color_proc.o \
	sde/sde_hw_color_proc_v4.o \
@@ -57,6 +55,9 @@ msm_drm-y := \
	sde_hdcp_1x.o \
	sde_hdcp_2x.o

msm_drm-$(CONFIG_DEBUG_FS) += sde_dbg.o \
	sde_dbg_evtlog.o \

msm_drm-$(CONFIG_DRM_MSM_HDMI) += hdmi/hdmi.o \
	hdmi/hdmi_audio.o \
	hdmi/hdmi_bridge.o \
+7 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-2020, 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
@@ -1850,6 +1850,12 @@ static int dp_debug_init(struct dp_debug *dp_debug)
		struct dp_debug_private, dp_debug);
	struct dentry *dir, *file;

	if (!IS_ENABLED(CONFIG_DEBUG_FS)) {
		pr_err("Not creating debug root dir\n");
		debug->root = NULL;
		return 0;
	}

	dir = debugfs_create_dir(DEBUG_NAME, NULL);
	if (IS_ERR_OR_NULL(dir)) {
		if (!dir)
+18 −1
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ static const struct of_device_id msm_dsi_of_match[] = {
	{}
};

#ifdef CONFIG_DEBUG_FS
static ssize_t debugfs_state_info_read(struct file *file,
				       char __user *buff,
				       size_t count,
@@ -201,6 +202,11 @@ static int dsi_ctrl_debugfs_init(struct dsi_ctrl *dsi_ctrl,
	struct dentry *dir, *state_file, *reg_dump;
	char dbg_name[DSI_DEBUG_NAME_LEN];

	if (!dsi_ctrl || !parent) {
		pr_err("Invalid params\n");
		return -EINVAL;
	}

	dir = debugfs_create_dir(dsi_ctrl->name, parent);
	if (IS_ERR_OR_NULL(dir)) {
		rc = PTR_ERR(dir);
@@ -252,6 +258,17 @@ static int dsi_ctrl_debugfs_deinit(struct dsi_ctrl *dsi_ctrl)
	debugfs_remove(dsi_ctrl->debugfs_root);
	return 0;
}
#else
static int dsi_ctrl_debugfs_init(struct dsi_ctrl *dsi_ctrl,
					struct dentry *parent)
{
	return 0;
}
static int dsi_ctrl_debugfs_deinit(struct dsi_ctrl *dsi_ctrl)
{
	return 0;
}
#endif /* CONFIG_DEBUG_FS */

static inline struct msm_gem_address_space*
dsi_ctrl_get_aspace(struct dsi_ctrl *dsi_ctrl,
@@ -2006,7 +2023,7 @@ int dsi_ctrl_drv_init(struct dsi_ctrl *dsi_ctrl, struct dentry *parent)
{
	int rc = 0;

	if (!dsi_ctrl || !parent) {
	if (!dsi_ctrl) {
		pr_err("Invalid params\n");
		return -EINVAL;
	}
+30 −17
Original line number Diff line number Diff line
@@ -469,23 +469,6 @@ static void dsi_display_register_te_irq(struct dsi_display *display)
		display->panel->esd_config.esd_enabled = false;
}

static bool dsi_display_is_te_based_esd(struct dsi_display *display)
{
	u32 status_mode = 0;

	if (!display->panel) {
		pr_err("Invalid panel data\n");
		return false;
	}

	status_mode = display->panel->esd_config.status_mode;

	if (status_mode == ESD_MODE_PANEL_TE &&
			gpio_is_valid(display->disp_te_gpio))
		return true;
	return false;
}

/* Allocate memory for cmd dma tx buffer */
static int dsi_host_alloc_cmd_tx_buffer(struct dsi_display *display)
{
@@ -1107,6 +1090,25 @@ int dsi_display_set_power(struct drm_connector *connector,
	return rc;
}

#ifdef CONFIG_DEBUG_FS
static bool dsi_display_is_te_based_esd(struct dsi_display *display)
{
	u32 status_mode = 0;

	if (!display->panel) {
		pr_err("Invalid panel data\n");
		return false;
	}

	status_mode = display->panel->esd_config.status_mode;

	if (status_mode == ESD_MODE_PANEL_TE &&
				gpio_is_valid(display->disp_te_gpio))
		return true;

	return false;
}

static ssize_t debugfs_dump_info_read(struct file *file,
				      char __user *user_buf,
				      size_t user_len,
@@ -1655,6 +1657,17 @@ static int dsi_display_debugfs_deinit(struct dsi_display *display)
	return 0;
}

#else
static int dsi_display_debugfs_init(struct dsi_display *display)
{
	return 0;
}
static int dsi_display_debugfs_deinit(struct dsi_display *display)
{
	return 0;
}
#endif /* CONFIG_DEBUG_FS */

static void adjust_timing_by_ctrl_count(const struct dsi_display *display,
					struct dsi_display_mode *mode)
{
+2 −11
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
 * Copyright (C) 2013 Red Hat
 * Author: Rob Clark <robdclark@gmail.com>
 *
@@ -743,16 +743,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
	if (ret)
		goto fail;

	priv->debug_root = debugfs_create_dir("debug",
					ddev->primary->debugfs_root);
	if (IS_ERR_OR_NULL(priv->debug_root)) {
		pr_err("debugfs_root create_dir fail, error %ld\n",
		       PTR_ERR(priv->debug_root));
		priv->debug_root = NULL;
		goto fail;
	}

	ret = sde_dbg_debugfs_register(priv->debug_root);
	ret = sde_dbg_debugfs_register(dev);
	if (ret) {
		dev_err(dev, "failed to reg sde dbg debugfs: %d\n", ret);
		goto fail;
Loading