DF-3742 / fix.diff
--- a/sys/dev/drm/radeon/radeon_atombios.c +++ b/sys/dev/drm/radeon/radeon_atombios.c @@ -1146,8 +1146,15 @@ bool radeon_atom_get_clock_info(struct drm_device *dev) p1pll->reference_freq = le16_to_cpu(firmware_info->info.usReferenceClock); p1pll->reference_div = 0; + if (p1pll->reference_freq == 0) + p1pll->reference_freq = 10000; /* 100 MHz */ if ((frev < 2) && (crev < 2)) @@ -1193,6 +1200,8 @@ bool radeon_atom_get_clock_info(struct drm_device *dev) spll->reference_freq = le16_to_cpu(firmware_info->info.usReferenceClock); spll->reference_div = 0; + if (spll->reference_freq == 0) + spll->reference_freq = 10000; spll->pll_out_min = @@ -1220,6 +1229,8 @@ bool radeon_atom_get_clock_info(struct drm_device *dev) mpll->reference_freq = le16_to_cpu(firmware_info->info.usReferenceClock); mpll->reference_div = 0; + if (mpll->reference_freq == 0) + mpll->reference_freq = 10000; mpll->pll_out_min = |