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ä <ville.syrj...@linux.intel.com>
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);

Reply via email to