Lines Matching +full:can +full:- +full:primary

1 // SPDX-License-Identifier: MIT
19 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_plane_set_ckey()
20 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in intel_plane_set_ckey()
21 struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in intel_plane_set_ckey()
27 * sprite and not on the primary. in intel_plane_set_ckey()
29 if (plane->id == PLANE_PRIMARY && in intel_plane_set_ckey()
30 set->flags & I915_SET_COLORKEY_SOURCE) in intel_plane_set_ckey()
31 key->flags = 0; in intel_plane_set_ckey()
35 * the primary and not on the sprite. in intel_plane_set_ckey()
37 if (DISPLAY_VER(dev_priv) >= 9 && plane->id != PLANE_PRIMARY && in intel_plane_set_ckey()
38 set->flags & I915_SET_COLORKEY_DESTINATION) in intel_plane_set_ckey()
39 key->flags = 0; in intel_plane_set_ckey()
54 set->flags &= ~I915_SET_COLORKEY_NONE; in intel_sprite_set_colorkey_ioctl()
56 if (set->flags & ~(I915_SET_COLORKEY_DESTINATION | I915_SET_COLORKEY_SOURCE)) in intel_sprite_set_colorkey_ioctl()
57 return -EINVAL; in intel_sprite_set_colorkey_ioctl()
60 …if ((set->flags & (I915_SET_COLORKEY_DESTINATION | I915_SET_COLORKEY_SOURCE)) == (I915_SET_COLORKE… in intel_sprite_set_colorkey_ioctl()
61 return -EINVAL; in intel_sprite_set_colorkey_ioctl()
64 set->flags & I915_SET_COLORKEY_DESTINATION) in intel_sprite_set_colorkey_ioctl()
65 return -EINVAL; in intel_sprite_set_colorkey_ioctl()
67 plane = drm_plane_find(dev, file_priv, set->plane_id); in intel_sprite_set_colorkey_ioctl()
68 if (!plane || plane->type != DRM_PLANE_TYPE_OVERLAY) in intel_sprite_set_colorkey_ioctl()
69 return -ENOENT; in intel_sprite_set_colorkey_ioctl()
72 * SKL+ only plane 2 can do destination keying against plane 1. in intel_sprite_set_colorkey_ioctl()
73 * Also multiple planes can't do destination keying on the same in intel_sprite_set_colorkey_ioctl()
77 to_intel_plane(plane)->id >= PLANE_SPRITE1 && in intel_sprite_set_colorkey_ioctl()
78 set->flags & I915_SET_COLORKEY_DESTINATION) in intel_sprite_set_colorkey_ioctl()
79 return -EINVAL; in intel_sprite_set_colorkey_ioctl()
83 state = drm_atomic_state_alloc(plane->dev); in intel_sprite_set_colorkey_ioctl()
85 ret = -ENOMEM; in intel_sprite_set_colorkey_ioctl()
88 state->acquire_ctx = &ctx; in intel_sprite_set_colorkey_ioctl()
89 to_intel_atomic_state(state)->internal = true; in intel_sprite_set_colorkey_ioctl()
99 * the dst colorkey on the primary plane. in intel_sprite_set_colorkey_ioctl()
104 to_intel_plane(plane)->pipe); in intel_sprite_set_colorkey_ioctl()
107 crtc->base.primary); in intel_sprite_set_colorkey_ioctl()
116 if (ret != -EDEADLK) in intel_sprite_set_colorkey_ioctl()