summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi_panel.c8
-rw-r--r--drivers/video/fbdev/msm/mdss_panel.h2
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;