diff --git a/sys/dev/drm/i915/intel_dsi_vbt.c b/sys/dev/drm/i915/intel_dsi_vbt.c --- a/sys/dev/drm/i915/intel_dsi_vbt.c +++ b/sys/dev/drm/i915/intel_dsi_vbt.c @@ -563,7 +563,7 @@ */ if (intel_dsi->video_mode_format == VIDEO_MODE_BURST) { if (mipi_config->target_burst_mode_freq) { - computed_ddr = (pclk * bpp) / intel_dsi->lane_count; + computed_ddr = (u32)(((u64)pclk * bpp) / intel_dsi->lane_count); if (mipi_config->target_burst_mode_freq < computed_ddr) { @@ -575,7 +575,7 @@ mipi_config->target_burst_mode_freq * 100, computed_ddr); - pclk = DIV_ROUND_UP(pclk * burst_mode_ratio, 100); + pclk = (u32)(((u64)pclk * burst_mode_ratio + 99) / 100); } else { DRM_ERROR("Burst mode target is not set\n"); return false;