Bladeren bron

Merge "disp: msm: dsi: add parsing for RSC solver disable property"

qctecmdr 4 jaren geleden
bovenliggende
commit
3f9b08b09e
4 gewijzigde bestanden met toevoegingen van 7 en 0 verwijderingen
  1. 2 0
      msm/dsi/dsi_defs.h
  2. 1 0
      msm/dsi/dsi_drm.c
  3. 2 0
      msm/dsi/dsi_panel.c
  4. 2 0
      msm/msm_drv.h

+ 2 - 0
msm/dsi/dsi_defs.h

@@ -626,6 +626,7 @@ struct dyn_clk_list {
  * @roi_caps:		  Panel ROI capabilities
  * @widebus_support       48 bit wide data bus is supported by hw
  * @allowed_mode_switch: BIT mask to mark allowed mode switches
+ * @disable_rsc_solver: Dynamically disable RSC solver for the timing mode.
  */
 struct dsi_display_mode_priv_info {
 	struct dsi_panel_cmd_set cmd_sets[DSI_CMD_SET_MAX];
@@ -651,6 +652,7 @@ struct dsi_display_mode_priv_info {
 	struct msm_roi_caps roi_caps;
 	bool widebus_support;
 	u32 allowed_mode_switch;
+	bool disable_rsc_solver;
 };
 
 /**

+ 1 - 0
msm/dsi/dsi_drm.c

@@ -580,6 +580,7 @@ int dsi_conn_get_mode_info(struct drm_connector *connector,
 	mode_info->panel_mode_caps = dsi_mode->panel_mode_caps;
 	mode_info->mdp_transfer_time_us =
 		dsi_mode->priv_info->mdp_transfer_time_us;
+	mode_info->disable_rsc_solver = dsi_mode->priv_info->disable_rsc_solver;
 
 	memcpy(&mode_info->topology, &dsi_mode->priv_info->topology,
 			sizeof(struct msm_display_topology));

+ 2 - 0
msm/dsi/dsi_panel.c

@@ -798,6 +798,8 @@ static int dsi_panel_parse_timing(struct dsi_mode_info *mode,
 	else
 		display_mode->priv_info->mdp_transfer_time_us = 0;
 
+	priv_info->disable_rsc_solver = utils->read_bool(utils->data, "qcom,disable-rsc-solver");
+
 	rc = utils->read_u32(utils->data,
 				"qcom,mdss-dsi-panel-framerate",
 				&mode->refresh_rate);

+ 2 - 0
msm/msm_drv.h

@@ -730,6 +730,7 @@ struct msm_display_topology {
  * @allowed_mode_switches: bit mask to indicate supported mode switch.
  * @bit_clk_rates: list of supported bit clock rates
  * @bit_clk_count: number of supported bit clock rates
+ * @disable_rsc_solver: Dynamically disable RSC solver for the timing mode due to lower bitclk rate.
  */
 struct msm_mode_info {
 	uint32_t frame_rate;
@@ -748,6 +749,7 @@ struct msm_mode_info {
 	u32 allowed_mode_switches;
 	u32 *bit_clk_rates;
 	u32 bit_clk_count;
+	bool disable_rsc_solver;
 };
 
 /**