drm/i915: Prevent divide-by-zero in debugfs/i915_rps_boost_info
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 18 Feb 2017 11:27:08 +0000 (11:27 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 20 Feb 2017 11:03:30 +0000 (11:03 +0000)
Either by chance, or by misread, the current evaluation interval may be
zero. If that is the case, don't divide by it!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170218112708.24504-1-chris@chris-wilson.co.uk
Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
drivers/gpu/drm/i915/i915_debugfs.c

index 404394ef4b143016c8c164d02b6b051ab627097e..768461f7c7c67106d7194cfedb35c19e272c1dbb 100644 (file)
@@ -2356,10 +2356,10 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
                seq_printf(m, "\nRPS Autotuning (current \"%s\" window):\n",
                           rps_power_to_str(dev_priv->rps.power));
                seq_printf(m, "  Avg. up: %d%% [above threshold? %d%%]\n",
-                          100 * rpup / rpupei,
+                          rpup && rpupei ? 100 * rpup / rpupei : 0,
                           dev_priv->rps.up_threshold);
                seq_printf(m, "  Avg. down: %d%% [below threshold? %d%%]\n",
-                          100 * rpdown / rpdownei,
+                          rpdown && rpdownei ? 100 * rpdown / rpdownei : 0,
                           dev_priv->rps.down_threshold);
        } else {
                seq_puts(m, "\nRPS Autotuning inactive\n");