Loading msm/dsi/dsi_display.c +15 −4 Original line number Diff line number Diff line Loading @@ -5967,6 +5967,10 @@ void dsi_display_adjust_mode_timing( { u64 new_htotal, new_vtotal, htotal, vtotal, old_htotal, div; /* Constant FPS is not supported on command mode */ if (dsi_mode->panel_mode == DSI_OP_CMD_MODE) return; if (!dyn_clk_caps->maintain_const_fps) return; /* Loading Loading @@ -6130,8 +6134,6 @@ int dsi_display_get_modes(struct dsi_display *display, dyn_clk_caps = &(display->panel->dyn_clk_caps); num_dfps_rates = !dfps_caps.dfps_support ? 1 : dfps_caps.dfps_list_len; timing_mode_count = display->panel->num_timing_nodes; for (mode_idx = 0; mode_idx < timing_mode_count; mode_idx++) { Loading @@ -6158,6 +6160,8 @@ int dsi_display_get_modes(struct dsi_display *display, /* Setup widebus support */ display_mode.priv_info->widebus_support = ctrl->ctrl->hw.widebus_support; num_dfps_rates = ((!dfps_caps.dfps_support || is_cmd_mode) ? 1 : dfps_caps.dfps_list_len); /* Calculate dsi frame transfer time */ if (is_cmd_mode) { Loading Loading @@ -6220,9 +6224,16 @@ int dsi_display_get_modes(struct dsi_display *display, } end = array_idx; /* * if dynamic clk switch is supported then update all the bit * clk rates. * if POMS is enabled and boot up mode is video mode, * skip bit clk rates update for command mode, * else if dynamic clk switch is supported then update all * the bit clk rates. */ if (is_cmd_mode && (display->panel->panel_mode == DSI_OP_VIDEO_MODE)) continue; _dsi_display_populate_bit_clks(display, start, end, &array_idx); } Loading msm/dsi/dsi_drm.c +2 −2 Original line number Diff line number Diff line Loading @@ -825,8 +825,8 @@ int dsi_connector_get_modes(struct drm_connector *connector, void *data, struct drm_display_mode drm_mode; struct dsi_display *display = data; struct edid edid; u8 width_mm = connector->display_info.width_mm; u8 height_mm = connector->display_info.height_mm; unsigned int width_mm = connector->display_info.width_mm; unsigned int height_mm = connector->display_info.height_mm; const u8 edid_buf[EDID_LENGTH] = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x6D, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x10, 0x01, 0x03, Loading msm/dsi/dsi_panel.c +16 −7 Original line number Diff line number Diff line Loading @@ -3425,7 +3425,6 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) int num_dfps_rates, num_bit_clks; int num_video_modes = 0, num_cmd_modes = 0; int count, rc = 0; void *utils_data = NULL; if (!panel) { DSI_ERR("invalid params\n"); Loading Loading @@ -3462,10 +3461,9 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) panel->num_timing_nodes = count; dsi_for_each_child_node(timings_np, child_np) { utils_data = child_np; if (utils->read_bool(utils->data, "qcom,mdss-dsi-video-mode")) if (utils->read_bool(child_np, "qcom,mdss-dsi-video-mode")) num_video_modes++; else if (utils->read_bool(utils->data, else if (utils->read_bool(child_np, "qcom,mdss-dsi-cmd-mode")) num_cmd_modes++; else if (panel->panel_mode == DSI_OP_VIDEO_MODE) Loading @@ -3480,9 +3478,20 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) num_bit_clks = !panel->dyn_clk_caps.dyn_clk_support ? 1 : panel->dyn_clk_caps.bit_clk_list_len; /* Inflate num_of_modes by fps and bit clks in dfps */ panel->num_display_modes = (num_cmd_modes * num_bit_clks) + (num_video_modes * num_bit_clks * num_dfps_rates); /* * Inflate num_of_modes by fps and bit clks in dfps. * Single command mode for video mode panels supporting * panel operating mode switch. */ num_video_modes = num_video_modes * num_bit_clks * num_dfps_rates; if ((panel->panel_mode == DSI_OP_VIDEO_MODE) && (panel->panel_mode_switch_enabled)) num_cmd_modes = 1; else num_cmd_modes = num_cmd_modes * num_bit_clks; panel->num_display_modes = num_video_modes + num_cmd_modes; error: return rc; Loading Loading
msm/dsi/dsi_display.c +15 −4 Original line number Diff line number Diff line Loading @@ -5967,6 +5967,10 @@ void dsi_display_adjust_mode_timing( { u64 new_htotal, new_vtotal, htotal, vtotal, old_htotal, div; /* Constant FPS is not supported on command mode */ if (dsi_mode->panel_mode == DSI_OP_CMD_MODE) return; if (!dyn_clk_caps->maintain_const_fps) return; /* Loading Loading @@ -6130,8 +6134,6 @@ int dsi_display_get_modes(struct dsi_display *display, dyn_clk_caps = &(display->panel->dyn_clk_caps); num_dfps_rates = !dfps_caps.dfps_support ? 1 : dfps_caps.dfps_list_len; timing_mode_count = display->panel->num_timing_nodes; for (mode_idx = 0; mode_idx < timing_mode_count; mode_idx++) { Loading @@ -6158,6 +6160,8 @@ int dsi_display_get_modes(struct dsi_display *display, /* Setup widebus support */ display_mode.priv_info->widebus_support = ctrl->ctrl->hw.widebus_support; num_dfps_rates = ((!dfps_caps.dfps_support || is_cmd_mode) ? 1 : dfps_caps.dfps_list_len); /* Calculate dsi frame transfer time */ if (is_cmd_mode) { Loading Loading @@ -6220,9 +6224,16 @@ int dsi_display_get_modes(struct dsi_display *display, } end = array_idx; /* * if dynamic clk switch is supported then update all the bit * clk rates. * if POMS is enabled and boot up mode is video mode, * skip bit clk rates update for command mode, * else if dynamic clk switch is supported then update all * the bit clk rates. */ if (is_cmd_mode && (display->panel->panel_mode == DSI_OP_VIDEO_MODE)) continue; _dsi_display_populate_bit_clks(display, start, end, &array_idx); } Loading
msm/dsi/dsi_drm.c +2 −2 Original line number Diff line number Diff line Loading @@ -825,8 +825,8 @@ int dsi_connector_get_modes(struct drm_connector *connector, void *data, struct drm_display_mode drm_mode; struct dsi_display *display = data; struct edid edid; u8 width_mm = connector->display_info.width_mm; u8 height_mm = connector->display_info.height_mm; unsigned int width_mm = connector->display_info.width_mm; unsigned int height_mm = connector->display_info.height_mm; const u8 edid_buf[EDID_LENGTH] = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x6D, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x10, 0x01, 0x03, Loading
msm/dsi/dsi_panel.c +16 −7 Original line number Diff line number Diff line Loading @@ -3425,7 +3425,6 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) int num_dfps_rates, num_bit_clks; int num_video_modes = 0, num_cmd_modes = 0; int count, rc = 0; void *utils_data = NULL; if (!panel) { DSI_ERR("invalid params\n"); Loading Loading @@ -3462,10 +3461,9 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) panel->num_timing_nodes = count; dsi_for_each_child_node(timings_np, child_np) { utils_data = child_np; if (utils->read_bool(utils->data, "qcom,mdss-dsi-video-mode")) if (utils->read_bool(child_np, "qcom,mdss-dsi-video-mode")) num_video_modes++; else if (utils->read_bool(utils->data, else if (utils->read_bool(child_np, "qcom,mdss-dsi-cmd-mode")) num_cmd_modes++; else if (panel->panel_mode == DSI_OP_VIDEO_MODE) Loading @@ -3480,9 +3478,20 @@ int dsi_panel_get_mode_count(struct dsi_panel *panel) num_bit_clks = !panel->dyn_clk_caps.dyn_clk_support ? 1 : panel->dyn_clk_caps.bit_clk_list_len; /* Inflate num_of_modes by fps and bit clks in dfps */ panel->num_display_modes = (num_cmd_modes * num_bit_clks) + (num_video_modes * num_bit_clks * num_dfps_rates); /* * Inflate num_of_modes by fps and bit clks in dfps. * Single command mode for video mode panels supporting * panel operating mode switch. */ num_video_modes = num_video_modes * num_bit_clks * num_dfps_rates; if ((panel->panel_mode == DSI_OP_VIDEO_MODE) && (panel->panel_mode_switch_enabled)) num_cmd_modes = 1; else num_cmd_modes = num_cmd_modes * num_bit_clks; panel->num_display_modes = num_video_modes + num_cmd_modes; error: return rc; Loading