diff options
author | Vinod Koul <vkoul@kernel.org> | 2020-10-12 10:26:50 +0530 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-10-12 10:26:50 +0530 |
commit | 320f3c96ef2b939c9baf2a7a9459ec924eab9d53 (patch) | |
tree | 103e6c977c7c5e016e956fd1c7f8c53459321ea4 | |
parent | 2a56715835b6bb67e26571dbb3d566b6694b39e5 (diff) |
debugpixel/dev4
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_host.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_manager.c | 29 | ||||
-rw-r--r-- | drivers/gpu/drm/panel/panel-lg-sw43408.c | 6 |
4 files changed, 44 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c index 4a9b6a0c411b..2f78331a9752 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c @@ -45,6 +45,7 @@ static void dpu_hw_dsc_config(struct dpu_hw_dsc *hw_dsc, u32 initial_lines = dsc->initial_lines; bool is_cmd_mode = !(mode & BIT(2)); + pr_err("VK: in %s\n", __func__); DPU_REG_WRITE(c, DSC_COMMON_MODE, mode); data = 0; @@ -139,6 +140,7 @@ static void dpu_hw_dsc_config_thresh(struct dpu_hw_dsc *hw_dsc, u16 *lp; int i; + pr_err("VK: in %s\n", __func__); lp = dsc->drm.rc_buf_thresh; off = DSC_RC_BUF_THRESH; for (i = 0; i < DSC_NUM_BUF_RANGES -1 ; i++) { @@ -172,6 +174,7 @@ static struct dpu_dsc_cfg *_dsc_offset(enum dpu_dsc dsc, { int i; + pr_err("VK: in %s\n", __func__); for (i = 0; i < m->dsc_count; i++) { if (dsc == m->dsc[i].id) { b->base_off = addr; @@ -189,6 +192,7 @@ static struct dpu_dsc_cfg *_dsc_offset(enum dpu_dsc dsc, static void _setup_dsc_ops(struct dpu_hw_dsc_ops *ops, unsigned long cap) { + pr_err("VK: in %s\n", __func__); ops->dsc_disable = dpu_hw_dsc_disable; ops->dsc_config = dpu_hw_dsc_config; ops->dsc_config_thresh = dpu_hw_dsc_config_thresh; @@ -205,6 +209,7 @@ struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr, struct dpu_hw_dsc *c; struct dpu_dsc_cfg *cfg; + pr_err("VK: in %s\n", __func__); c = kzalloc(sizeof(*c), GFP_KERNEL); if (!c) return ERR_PTR(-ENOMEM); @@ -226,6 +231,7 @@ struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr, void dpu_hw_dsc_destroy(struct dpu_hw_dsc *dsc) { + pr_err("VK: in %s\n", __func__); if (dsc) dpu_hw_blk_destroy(&dsc->base); kfree(dsc); diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index f0955ad329b2..9e9ad636ece7 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -958,6 +958,7 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_dual_dsi) u32 hdisplay = mode->hdisplay; u32 wc; + pr_err("VK: in %s\n", __func__); /* divide hdisplay by 3 but keep the back/front-porch and pulse-width the same .hdisplay = 2160, .hsync_start = (2160 + 28), @@ -965,11 +966,14 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_dual_dsi) .htotal = (2160 + 28 + 4 + 24), */ if (msm_host->dsc) { + pr_err("VK: in %s DSC set\n", __func__); h_total = 776; hs_end = 4; ha_start = 28; ha_end = 748; hdisplay = 720; + } else { + pr_err("VK: DSC NOT SET!!!!!!!!!\n"); } DBG(""); @@ -2643,6 +2647,7 @@ int msm_dsi_host_power_on(struct mipi_dsi_host *host, const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd; int ret = 0; + pr_err("VK: in %s\n", __func__); mutex_lock(&msm_host->dev_mutex); if (msm_host->power_on) { DBG("dsi host already on"); diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c index 4b363bd7ddff..064b923816a7 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c @@ -46,6 +46,7 @@ static int dsi_mgr_parse_dual_dsi(struct device_node *np, int id) { struct msm_dsi_manager *msm_dsim = &msm_dsim_glb; + pr_err("VK: in %s\n", __func__); /* We assume 2 dsi nodes have the same information of dual-dsi and * sync-mode, and only one node specifies master in case of dual mode. */ @@ -73,23 +74,31 @@ static int dsi_mgr_setup_components(int id) struct msm_dsi_pll *src_pll; int ret; + pr_err("VK: in %s\n", __func__); if (!IS_DUAL_DSI()) { + pr_err("VK: not dual dsi\n"); ret = msm_dsi_host_register(msm_dsi->host, true); - if (ret) + if (ret) { + pr_err("VK: host reg failed: %d\n", ret); return ret; + } msm_dsi_phy_set_usecase(msm_dsi->phy, MSM_DSI_PHY_STANDALONE); src_pll = msm_dsi_phy_get_pll(msm_dsi->phy); - if (IS_ERR(src_pll)) + if (IS_ERR(src_pll)) { + pr_err("VK: phy pll failed: %d\n", ret); return PTR_ERR(src_pll); + } ret = msm_dsi_host_set_src_pll(msm_dsi->host, src_pll); } else if (!other_dsi) { + pr_err("VK: other dsi\n"); ret = 0; } else { struct msm_dsi *master_link_dsi = IS_MASTER_DSI_LINK(id) ? msm_dsi : other_dsi; struct msm_dsi *slave_link_dsi = IS_MASTER_DSI_LINK(id) ? other_dsi : msm_dsi; + pr_err("VK: in else\n"); /* Register slave host first, so that slave DSI device * has a chance to probe, and do not block the master * DSI device's probe. @@ -104,6 +113,7 @@ static int dsi_mgr_setup_components(int id) if (ret) return ret; + pr_err("VK: msater|slave reg done\n"); /* PLL0 is to drive both 2 DSI link clocks in Dual DSI mode. */ msm_dsi_phy_set_usecase(clk_master_dsi->phy, MSM_DSI_PHY_MASTER); @@ -112,12 +122,14 @@ static int dsi_mgr_setup_components(int id) src_pll = msm_dsi_phy_get_pll(clk_master_dsi->phy); if (IS_ERR(src_pll)) return PTR_ERR(src_pll); + pr_err("VK: phy get clk done\n"); ret = msm_dsi_host_set_src_pll(msm_dsi->host, src_pll); if (ret) return ret; ret = msm_dsi_host_set_src_pll(other_dsi->host, src_pll); } + pr_err("VK: returning ret:%d\n", ret); return ret; } @@ -252,6 +264,7 @@ static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 id) struct msm_dsi *master_dsi, *slave_dsi; struct drm_panel *panel; + pr_err("VK: in %s\n", __func__); if (IS_DUAL_DSI() && !IS_MASTER_DSI_LINK(id)) { master_dsi = other_dsi; slave_dsi = msm_dsi; @@ -299,6 +312,7 @@ static enum drm_connector_status dsi_mgr_connector_detect( int id = dsi_mgr_connector_get_id(connector); struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); + pr_err("VK: in %s\n", __func__); return msm_dsi->panel ? connector_status_connected : connector_status_disconnected; } @@ -321,6 +335,7 @@ static int dsi_mgr_connector_get_modes(struct drm_connector *connector) struct drm_panel *panel = msm_dsi->panel; int num; + pr_err("VK: in %s\n", __func__); if (!panel) return 0; @@ -346,6 +361,7 @@ static enum drm_mode_status dsi_mgr_connector_mode_valid(struct drm_connector *c struct msm_kms *kms = priv->kms; long actual, requested; + pr_err("VK: in %s\n", __func__); DBG(""); requested = 1000 * mode->clock; actual = kms->funcs->round_pixclk(kms, requested, encoder); @@ -363,6 +379,7 @@ dsi_mgr_connector_best_encoder(struct drm_connector *connector) int id = dsi_mgr_connector_get_id(connector); struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); + pr_err("VK: in %s\n", __func__); DBG(""); return msm_dsi_get_encoder(msm_dsi); } @@ -379,6 +396,7 @@ static void dsi_mgr_bridge_pre_enable(struct drm_bridge *bridge) int ret; DBG("id=%d", id); + pr_err("VK: Are we doing pre enable!!\n"); if (!msm_dsi_device_connected(msm_dsi)) return; @@ -459,6 +477,7 @@ static void dsi_mgr_bridge_enable(struct drm_bridge *bridge) int ret; DBG("id=%d", id); + pr_err("VK: in %s\n", __func__); if (!msm_dsi_device_connected(msm_dsi)) return; @@ -570,6 +589,7 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, bool is_dual_dsi = IS_DUAL_DSI(); DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode)); + pr_err("VK: in %s\n", __func__); if (is_dual_dsi && !IS_MASTER_DSI_LINK(id)) return; @@ -610,6 +630,7 @@ struct drm_connector *msm_dsi_manager_connector_init(u8 id) struct dsi_connector *dsi_connector; int ret; + pr_err("VK: in %s\n", __func__); dsi_connector = kzalloc(sizeof(*dsi_connector), GFP_KERNEL); if (!dsi_connector) return ERR_PTR(-ENOMEM); @@ -675,6 +696,7 @@ struct drm_bridge *msm_dsi_manager_bridge_init(u8 id) struct drm_encoder *encoder; int ret; + pr_err("VK: in %s\n", __func__); dsi_bridge = devm_kzalloc(msm_dsi->dev->dev, sizeof(*dsi_bridge), GFP_KERNEL); if (!dsi_bridge) { @@ -693,6 +715,7 @@ struct drm_bridge *msm_dsi_manager_bridge_init(u8 id) if (ret) goto fail; + pr_err("VK: OK in %s\n", __func__); return bridge; fail: @@ -711,6 +734,7 @@ struct drm_connector *msm_dsi_manager_ext_bridge_init(u8 id) struct drm_connector *connector; struct list_head *connector_list; + pr_err("VK: in %s\n", __func__); int_bridge = msm_dsi->bridge; ext_bridge = msm_dsi->external_bridge = msm_dsi_host_get_bridge(msm_dsi->host); @@ -808,6 +832,7 @@ int msm_dsi_manager_register(struct msm_dsi *msm_dsi) int id = msm_dsi->id; int ret; + pr_err("VK: in %s\n", __func__); if (id >= DSI_MAX) { pr_err("%s: invalid id %d\n", __func__, id); return -EINVAL; diff --git a/drivers/gpu/drm/panel/panel-lg-sw43408.c b/drivers/gpu/drm/panel/panel-lg-sw43408.c index 8fccf66bbcab..d69d1bf4202e 100644 --- a/drivers/gpu/drm/panel/panel-lg-sw43408.c +++ b/drivers/gpu/drm/panel/panel-lg-sw43408.c @@ -403,6 +403,7 @@ static int lg_panel_enable(struct drm_panel *panel) struct drm_dsi_dsc_infoframe pps; int ret; + pr_err("VK: in %s\n", __func__); if (pinfo->enabled) return 0; pr_err("In sw43408 panel_enable\n"); @@ -414,6 +415,7 @@ pr_err("In sw43408 panel_enable\n"); } if (panel->dsc) { + pr_err("VK: dsc is enabled setting it\n"); /* this panel uses DSC so send the pps */ drm_dsc_dsi_pps_header_init(&pps.dsc_header); drm_dsc_compute_rc_parameters(panel->dsc); @@ -427,6 +429,8 @@ pr_err("In sw43408 panel_enable\n"); "failed to set pps: %d\n", ret); return ret; } + } else { + pr_err("VK: dsc is NOT enabled\n"); } pinfo->enabled = true; @@ -643,6 +647,7 @@ static int panel_add(struct panel_info *pinfo) { struct device *dev = &pinfo->link->dev; int i, ret; + pr_err("VK: \n"); pr_err("In sw43408 panel add\n"); pinfo->init_delay_us = 5000; @@ -693,6 +698,7 @@ static int panel_probe(struct mipi_dsi_device *dsi) const struct panel_desc *desc; int err; + pr_err("VK: in %s\n", __func__); pinfo = devm_kzalloc(&dsi->dev, sizeof(*pinfo), GFP_KERNEL); if (!pinfo) return -ENOMEM; |