Loading drivers/video/fbdev/msm/mdss_fb.c +15 −2 Original line number Diff line number Diff line Loading @@ -1161,11 +1161,24 @@ static int mdss_fb_init_panel_modes(struct msm_fb_data_type *mfd, if (pdata->next) { spt = mdss_panel_get_timing_by_name(pdata->next, modedb[i].name); if (!IS_ERR_OR_NULL(spt)) /* for split config, recalculate xres and pixel clock */ if (!IS_ERR_OR_NULL(spt)) { unsigned long pclk, h_total, v_total; modedb[i].xres += spt->xres; else h_total = modedb[i].xres + modedb[i].left_margin + modedb[i].right_margin + modedb[i].hsync_len; v_total = modedb[i].yres + modedb[i].lower_margin + modedb[i].upper_margin + modedb[i].vsync_len; pclk = h_total * v_total * modedb[i].refresh; modedb[i].pixclock = KHZ2PICOS(pclk / 1000); } else { pr_debug("no matching split config for %s\n", modedb[i].name); } /* * if no panel timing found for current, need to Loading Loading
drivers/video/fbdev/msm/mdss_fb.c +15 −2 Original line number Diff line number Diff line Loading @@ -1161,11 +1161,24 @@ static int mdss_fb_init_panel_modes(struct msm_fb_data_type *mfd, if (pdata->next) { spt = mdss_panel_get_timing_by_name(pdata->next, modedb[i].name); if (!IS_ERR_OR_NULL(spt)) /* for split config, recalculate xres and pixel clock */ if (!IS_ERR_OR_NULL(spt)) { unsigned long pclk, h_total, v_total; modedb[i].xres += spt->xres; else h_total = modedb[i].xres + modedb[i].left_margin + modedb[i].right_margin + modedb[i].hsync_len; v_total = modedb[i].yres + modedb[i].lower_margin + modedb[i].upper_margin + modedb[i].vsync_len; pclk = h_total * v_total * modedb[i].refresh; modedb[i].pixclock = KHZ2PICOS(pclk / 1000); } else { pr_debug("no matching split config for %s\n", modedb[i].name); } /* * if no panel timing found for current, need to Loading