On Tue, Feb 24, 2015 at 01:37:54PM -0800, Rodrigo Vivi wrote: > This return 0 without setting atomic bits on fb == crtc->cursor->fb > where causing frontbuffer false positives. > > According to Daniel: > > The original regression seems to have been introduced in the original > check/commit split: > > commit 757f9a3e5b8a812af0c213099a5b31cb423f4d3c > Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > Date: Wed Sep 24 14:20:24 2014 -0300 > > drm/i915: move check of intel_crtc_cursor_set_obj() out > > Which already cause other trouble, resulting in the check getting moved in > > commit e391ea882b1a04fb3f559287ac694652a3cd9da9 > Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > Date: Wed Sep 24 14:20:25 2014 -0300 > > drm/i915: Fix not checking cursor and object sizes > > The frontbuffer tracking itself only was broken when we shifted it into > the check/commit logic with: > > commit 32b7eeec4d1e861230b09d437e95d76c86ff4a68 > Author: Matt Roper <matthew.d.roper@xxxxxxxxx> > Date: Wed Dec 24 07:59:06 2014 -0800 > > drm/i915: Refactor work that can sleep out of commit (v7) > > v2: When putting more debug prints I notice the solution was simpler > than I thought. AMS design is solid, just this return was wrong. > Sorry for the noise. > > v3: Remove the entire chunck that would probably > be removed by gcc anyway. (by Daniel) > > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Not sure I understand Daniel's remark about gcc optimization, but the change still looks good to me. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 8ccf033..900dcaa 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12197,9 +12197,6 @@ intel_check_cursor_plane(struct drm_plane *plane, > return -ENOMEM; > } > > - if (fb == crtc->cursor->fb) > - return 0; > - > if (fb->modifier[0] != DRM_FORMAT_MOD_NONE) { > DRM_DEBUG_KMS("cursor cannot be tiled\n"); > ret = -EINVAL; > -- > 2.1.0 > -- Matt Roper Graphics Software Engineer IoTG Platform Enabling & Development Intel Corporation (916) 356-2795 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx