Module Name: src
Committed By: maya
Date: Tue Jul 25 23:31:27 UTC 2017
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: intel_sdvo.c
Log Message:
Pull in upstream commit:
Author: Ville Syrjälä <[email protected]>
Date: Mon Jun 9 16:20:46 2014 +0300
drm/i915: Avoid div-by-zero when pixel_multiplier is zero
On certain platforms pixel_multiplier is read out in
.get_pipe_config(), but it also gets used to calculate the
pixel clock in intel_sdvo_get_config(). If the pipe is disabled
but some SDVO outputs are active, we may end up dividing by zero
in intel_sdvo_get_config().
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=76520
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c:1.7 src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c:1.8
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c:1.7 Tue Oct 27 13:16:33 2015
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c Tue Jul 25 23:31:27 2017
@@ -1391,7 +1391,10 @@ static void intel_sdvo_get_config(struct
>> SDVO_PORT_MULTIPLY_SHIFT) + 1;
}
- dotclock = pipe_config->port_clock / pipe_config->pixel_multiplier;
+ dotclock = pipe_config->port_clock;
+
+ if (pipe_config->pixel_multiplier)
+ dotclock /= pipe_config->pixel_multiplier;
if (HAS_PCH_SPLIT(dev))
ironlake_check_encoder_dotclock(pipe_config, dotclock);