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

Commit d6e4db15 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

drm/i915: Fix cursor visibility checks also for the right/bottom screen edges



First of all we should not be looking at fb->{width,height} as those do
not tell us what the actual pipe size is. Second of all we need to use
>= for the comparison.

So fix the comparison, and make use of the new pipe_src_{w,h} to
determine the real pipe source dimensions.

Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent efc9064e
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -6921,19 +6921,16 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc,
	int pipe = intel_crtc->pipe;
	int x = intel_crtc->cursor_x;
	int y = intel_crtc->cursor_y;
	u32 base, pos;
	u32 base = 0, pos = 0;
	bool visible;

	pos = 0;

	if (on && crtc->enabled && crtc->fb) {
	if (on)
		base = intel_crtc->cursor_addr;
		if (x > (int) crtc->fb->width)
			base = 0;

		if (y > (int) crtc->fb->height)
	if (x >= intel_crtc->config.pipe_src_w)
		base = 0;
	} else

	if (y >= intel_crtc->config.pipe_src_h)
		base = 0;

	if (x < 0) {