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

Daniel Vetter
2013-09-16T21:52:02Z

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