[RFC] drm/i915: Restrict legacy color key ioctl to pre-gen12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since gen12 platform support isn't finalized yet, let's kill off the
legacy color key ioctl for this platform; there's no userspace today
that can run on this platform that utilizes this legacy ioctl, so we can
safely kill it now before it becomes ABI.

Color key functionality never got integrated into the property / atomic
interface, and the only known open source consumer was the Intel DDX
which was never updated to run on platforms beyond gen9.  If color
keying is desired going forward, it should really be exposed as a
property so that it can be applied atomically with other display updates
(and should probably be standardized in a way all drivers can choose to
support rather than being i915-specific).

Arguably we might be able to prohibit this on gen10 and gen11 as well
since no open source userspace exists for those platforms that utilizes
these ioctls.  However there's always the very slight chance that
unknown closed source software is actively utilizing the color key ioctl
on those platforms, so we should maintain the support there to avoid
breaking ABI.

Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Daniel Vetter <daniel@xxxxxxxx>
Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx>
---
 drivers/gpu/drm/i915/display/intel_sprite.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
index fca77ec1e0dd..6e8a4686a406 100644
--- a/drivers/gpu/drm/i915/display/intel_sprite.c
+++ b/drivers/gpu/drm/i915/display/intel_sprite.c
@@ -2290,6 +2290,14 @@ int intel_sprite_set_colorkey_ioctl(struct drm_device *dev, void *data,
 	struct drm_modeset_acquire_ctx ctx;
 	int ret = 0;
 
+	/*
+	 * Userspace that uses this legacy interface only exists up through
+	 * gen9.  Discontinue support for the interface starting with gen12 so
+	 * that it doesn't become ABI on newer platforms.
+	 */
+	if (INTEL_GEN(dev_priv) >= 12)
+		return -EINVAL;
+
 	/* ignore the pointless "none" flag */
 	set->flags &= ~I915_SET_COLORKEY_NONE;
 
-- 
2.23.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux