[Intel-gfx] [PATCH 14/14] drm/i915: Fix cursor visibility checks also for the right/bottom screen edges

Daniel Vetter daniel at ffwll.ch
Mon Sep 16 23:52:17 CEST 2013


On Wed, Sep 04, 2013 at 06:25:31PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> 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: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Merged the entire series to dinq, thanks for patches&review. I've also
made a small note that we should have an igt testcase for these cursor
corner-cases somewhere ...

Cheers, Daniel
> ---
>  drivers/gpu/drm/i915/intel_display.c | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 20f373b..44e0a84 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -7000,19 +7000,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)
> -			base = 0;
> -	} else
> +	if (x >= intel_crtc->config.pipe_src_w)
> +		base = 0;
> +
> +	if (y >= intel_crtc->config.pipe_src_h)
>  		base = 0;
>  
>  	if (x < 0) {
> -- 
> 1.8.1.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list