Loading drivers/gpu/drm/msm/dp/dp_ctrl.c +23 −17 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ static void dp_ctrl_push_idle(struct dp_ctrl *dp_ctrl, enum dp_stream_id strm) if (!wait_for_completion_timeout(&ctrl->idle_comp, idle_pattern_completion_timeout_ms)) pr_warn("PUSH_IDLE pattern timedout\n"); pr_warn("PUSH_IDLE time out\n"); pr_debug("mainlink off done\n"); } Loading Loading @@ -179,11 +179,11 @@ static int dp_ctrl_wait4video_ready(struct dp_ctrl_private *ctrl) ret = wait_for_completion_timeout(&ctrl->video_comp, HZ / 2); if (ret <= 0) { pr_err("Link Train timedout\n"); ret = -EINVAL; pr_err("SEND_VIDEO time out (%d)\n", ret); return -EINVAL; } return ret; return 0; } static int dp_ctrl_update_sink_vx_px(struct dp_ctrl_private *ctrl, Loading Loading @@ -838,21 +838,22 @@ static void dp_ctrl_reset(struct dp_ctrl *dp_ctrl) ctrl->catalog->reset(ctrl->catalog); } static void dp_ctrl_send_video(struct dp_ctrl_private *ctrl) { ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); } static int dp_ctrl_mst_stream_setup(struct dp_ctrl_private *ctrl, struct dp_panel *panel) { u32 x_int, y_frac_enum, lanes, bw_code; bool act_complete; if (!ctrl->mst_mode) { ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); if (!ctrl->mst_mode) return 0; } DP_MST_DEBUG("mst stream channel allocation\n"); panel->hw_cfg(panel); ctrl->catalog->channel_alloc(ctrl->catalog, panel->stream_id, panel->channel_start_slot, Loading @@ -875,8 +876,6 @@ static int dp_ctrl_mst_stream_setup(struct dp_ctrl_private *ctrl, DP_MST_DEBUG("mst lane_cnt:%d, bw:%d, x_int:%d, y_frac:%d\n", lanes, bw_code, x_int, y_frac_enum); ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); ctrl->catalog->trigger_act(ctrl->catalog); msleep(20); /* needs 1 frame time */ Loading @@ -897,8 +896,7 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) struct dp_ctrl_private *ctrl; if (!dp_ctrl || !panel) { rc = -EINVAL; goto end; return -EINVAL; } ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); Loading @@ -906,7 +904,7 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) rc = dp_ctrl_enable_stream_clocks(ctrl, panel); if (rc) { pr_err("failure on stream clock enable\n"); goto end; return rc; } if (ctrl->link->sink_request & DP_TEST_LINK_PHY_TEST_PATTERN) { Loading @@ -914,15 +912,23 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) return 0; } rc = panel->hw_cfg(panel); if (rc) return rc; dp_ctrl_send_video(ctrl); rc = dp_ctrl_mst_stream_setup(ctrl, panel); if (rc) goto end; return rc; rc = dp_ctrl_wait4video_ready(ctrl); if (rc) return rc; dp_ctrl_wait4video_ready(ctrl); link_ready = ctrl->catalog->mainlink_ready(ctrl->catalog); pr_debug("mainlink %s\n", link_ready ? "READY" : "NOT READY"); end: return rc; } Loading drivers/gpu/drm/msm/dp/dp_display.c +4 −3 Original line number Diff line number Diff line Loading @@ -1269,7 +1269,9 @@ static int dp_display_enable(struct dp_display *dp_display, void *panel) } rc = dp->ctrl->on(dp->ctrl, dp->mst.mst_active); if (!rc) if (rc) goto end; dp->power_on = true; stream_setup: Loading @@ -1285,7 +1287,6 @@ static void dp_display_stream_post_enable(struct dp_display_private *dp, { dp_panel->spd_config(dp_panel); dp_panel->setup_hdr(dp_panel, NULL); dp_panel->hw_cfg(dp_panel); dp_panel->audio->register_ext_disp(dp_panel->audio); } Loading Loading
drivers/gpu/drm/msm/dp/dp_ctrl.c +23 −17 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ static void dp_ctrl_push_idle(struct dp_ctrl *dp_ctrl, enum dp_stream_id strm) if (!wait_for_completion_timeout(&ctrl->idle_comp, idle_pattern_completion_timeout_ms)) pr_warn("PUSH_IDLE pattern timedout\n"); pr_warn("PUSH_IDLE time out\n"); pr_debug("mainlink off done\n"); } Loading Loading @@ -179,11 +179,11 @@ static int dp_ctrl_wait4video_ready(struct dp_ctrl_private *ctrl) ret = wait_for_completion_timeout(&ctrl->video_comp, HZ / 2); if (ret <= 0) { pr_err("Link Train timedout\n"); ret = -EINVAL; pr_err("SEND_VIDEO time out (%d)\n", ret); return -EINVAL; } return ret; return 0; } static int dp_ctrl_update_sink_vx_px(struct dp_ctrl_private *ctrl, Loading Loading @@ -838,21 +838,22 @@ static void dp_ctrl_reset(struct dp_ctrl *dp_ctrl) ctrl->catalog->reset(ctrl->catalog); } static void dp_ctrl_send_video(struct dp_ctrl_private *ctrl) { ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); } static int dp_ctrl_mst_stream_setup(struct dp_ctrl_private *ctrl, struct dp_panel *panel) { u32 x_int, y_frac_enum, lanes, bw_code; bool act_complete; if (!ctrl->mst_mode) { ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); if (!ctrl->mst_mode) return 0; } DP_MST_DEBUG("mst stream channel allocation\n"); panel->hw_cfg(panel); ctrl->catalog->channel_alloc(ctrl->catalog, panel->stream_id, panel->channel_start_slot, Loading @@ -875,8 +876,6 @@ static int dp_ctrl_mst_stream_setup(struct dp_ctrl_private *ctrl, DP_MST_DEBUG("mst lane_cnt:%d, bw:%d, x_int:%d, y_frac:%d\n", lanes, bw_code, x_int, y_frac_enum); ctrl->catalog->state_ctrl(ctrl->catalog, ST_SEND_VIDEO); ctrl->catalog->trigger_act(ctrl->catalog); msleep(20); /* needs 1 frame time */ Loading @@ -897,8 +896,7 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) struct dp_ctrl_private *ctrl; if (!dp_ctrl || !panel) { rc = -EINVAL; goto end; return -EINVAL; } ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl); Loading @@ -906,7 +904,7 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) rc = dp_ctrl_enable_stream_clocks(ctrl, panel); if (rc) { pr_err("failure on stream clock enable\n"); goto end; return rc; } if (ctrl->link->sink_request & DP_TEST_LINK_PHY_TEST_PATTERN) { Loading @@ -914,15 +912,23 @@ static int dp_ctrl_stream_on(struct dp_ctrl *dp_ctrl, struct dp_panel *panel) return 0; } rc = panel->hw_cfg(panel); if (rc) return rc; dp_ctrl_send_video(ctrl); rc = dp_ctrl_mst_stream_setup(ctrl, panel); if (rc) goto end; return rc; rc = dp_ctrl_wait4video_ready(ctrl); if (rc) return rc; dp_ctrl_wait4video_ready(ctrl); link_ready = ctrl->catalog->mainlink_ready(ctrl->catalog); pr_debug("mainlink %s\n", link_ready ? "READY" : "NOT READY"); end: return rc; } Loading
drivers/gpu/drm/msm/dp/dp_display.c +4 −3 Original line number Diff line number Diff line Loading @@ -1269,7 +1269,9 @@ static int dp_display_enable(struct dp_display *dp_display, void *panel) } rc = dp->ctrl->on(dp->ctrl, dp->mst.mst_active); if (!rc) if (rc) goto end; dp->power_on = true; stream_setup: Loading @@ -1285,7 +1287,6 @@ static void dp_display_stream_post_enable(struct dp_display_private *dp, { dp_panel->spd_config(dp_panel); dp_panel->setup_hdr(dp_panel, NULL); dp_panel->hw_cfg(dp_panel); dp_panel->audio->register_ext_disp(dp_panel->audio); } Loading