On Sat, Mar 14, 2015 at 10:55:37PM -0700, Chandra Konduru wrote: > Plane scaling and colorkey are mutually exclusive. Ensure scaling > isn't active at the time of enabling colorkey. > > Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_sprite.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c > index c010528..0194390 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -319,6 +319,12 @@ skl_update_colorkey(struct drm_plane *drm_plane, > const int plane = intel_plane->plane; > u32 plane_ctl; > > + /* plane scaling and colorkey are mutually exclusive */ > + if (to_intel_plane_state(drm_plane->state)->scaler_id >= 0) { > + DRM_ERROR("colorkey not allowed with scaler\n"); > + return -EINVAL; > + } Yeah this is a bit trouble because of the interactions between colorkey state in hw and the atomic scaler state in the atomic state structures. Since colorkey isn't support with atomic atm anyway and we want to move towards atomic: Do we really have anyone who cares about legacy sprite ioctls on skl? If we'd just add a if (gen >= 9) return -ENODEV; to all the sprite ioctls then we won't have any problems. And we also don't need to add temporary code like the above. -Daniel > + > I915_WRITE(PLANE_KEYVAL(pipe, plane), key->min_value); > I915_WRITE(PLANE_KEYMAX(pipe, plane), key->max_value); > I915_WRITE(PLANE_KEYMSK(pipe, plane), key->channel_mask); > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx