Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e9bb47b authored by Hai Lan's avatar Hai Lan Committed by Jesse Barnes
Browse files

drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0



When setting overlay position with x<0, it will divide 0 and make drm
driver crash.

Signed-off-by: default avatarHai Lan <hai.lan@intel.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent 5ca0c34a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -4680,8 +4680,17 @@ sandybridge_compute_sprite_srwm(struct drm_device *dev, int plane,

	crtc = intel_get_crtc_for_plane(dev, plane);
	clock = crtc->mode.clock;
	if (!clock) {
		*sprite_wm = 0;
		return false;
	}

	line_time_us = (sprite_width * 1000) / clock;
	if (!line_time_us) {
		*sprite_wm = 0;
		return false;
	}

	line_count = (latency_ns / line_time_us + 1000) / 1000;
	line_size = sprite_width * pixel_size;