FOR CI ONLY. PLEASE DON'T REVIEW. The upstream guidance at this time is to start phasing out pread/pwrite ioctl's, the rationale being (a) the functionality can be done entirely in userspace with a combination of mmap + memcpy, and (b) no existing user mode clients actually use the pread/pwrite interface. The plan is to phase out these ioctls for _new_ Gen12+ platforms. However, since this patch is actually for CI and the real changes which need to be validated are in IGT, in this patch we are disabling pread/pwrite for existing Gen11 and Gen12 platforms. This will be changed once IGT changes are validated and finalized. Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index b2e3b5cfccb4..fde3bfa8c509 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -362,6 +362,18 @@ i915_gem_gtt_pread(struct drm_i915_gem_object *obj, return ret; } +static bool gem_has_pread_pwrite(struct drm_device *dev) +{ + /* + * FIXME: Finally we only want to enable this for _new_ Gen12+ + * platforms but for now for CI purposes declare pread/pwrite are + * unavailable for all Gen11 and Gen12 platforms so that the IGT + * changes which handle absence of pread/pwrite ioctl's can be + * validated. + */ + return INTEL_GEN(to_i915(dev)) < 11; +} + /** * Reads data from the object referenced by handle. * @dev: drm device pointer @@ -378,6 +390,9 @@ i915_gem_pread_ioctl(struct drm_device *dev, void *data, struct drm_i915_gem_object *obj; int ret; + if (!gem_has_pread_pwrite(dev)) + return -EOPNOTSUPP; + if (args->size == 0) return 0; @@ -679,6 +694,9 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, struct drm_i915_gem_object *obj; int ret; + if (!gem_has_pread_pwrite(dev)) + return -EOPNOTSUPP; + if (args->size == 0) return 0; -- 2.29.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx