diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi_panel.c | 8 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_panel.h | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_panel.c b/drivers/video/fbdev/msm/mdss_dsi_panel.c index 3c1815acb828..de18145dc7f8 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_panel.c +++ b/drivers/video/fbdev/msm/mdss_dsi_panel.c @@ -2110,6 +2110,7 @@ static int mdss_dsi_panel_timing_from_dt(struct device_node *np, struct mdss_panel_data *panel_data) { u32 tmp; + u64 tmp64; int rc, i, len; const char *data; struct mdss_dsi_ctrl_pdata *ctrl_pdata; @@ -2168,8 +2169,11 @@ static int mdss_dsi_panel_timing_from_dt(struct device_node *np, rc = of_property_read_u32(np, "qcom,mdss-dsi-panel-framerate", &tmp); pt->timing.frame_rate = !rc ? tmp : DEFAULT_FRAME_RATE; - rc = of_property_read_u32(np, "qcom,mdss-dsi-panel-clockrate", &tmp); - pt->timing.clk_rate = !rc ? tmp : 0; + rc = of_property_read_u64(np, "qcom,mdss-dsi-panel-clockrate", &tmp64); + if (rc == -EOVERFLOW) + rc = of_property_read_u32(np, + "qcom,mdss-dsi-panel-clockrate", (u32 *)&tmp64); + pt->timing.clk_rate = !rc ? tmp64 : 0; data = of_get_property(np, "qcom,mdss-dsi-panel-timings", &len); if ((!data) || (len != 12)) { diff --git a/drivers/video/fbdev/msm/mdss_panel.h b/drivers/video/fbdev/msm/mdss_panel.h index b8aabf1f7880..3d5a38ba2123 100644 --- a/drivers/video/fbdev/msm/mdss_panel.h +++ b/drivers/video/fbdev/msm/mdss_panel.h @@ -655,7 +655,7 @@ struct mdss_panel_timing { u32 lm_widths[2]; - u32 clk_rate; + u64 clk_rate; char frame_rate; u8 dsc_enc_total; |
