]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/pf: Disable display in admin only PF mode
authorSatyanarayana K V P <satyanarayana.k.v.p@intel.com>
Tue, 14 Jul 2026 05:33:00 +0000 (11:03 +0530)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 16 Jul 2026 14:53:38 +0000 (16:53 +0200)
Admin-only PF mode does not expose media or 3D execution capabilities
to userspace, so display pipelines cannot receive rendered content.

Fixes: d88c4bac8c2a ("drm/xe/pf: Restrict device query responses in admin-only PF mode")
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Link: https://patch.msgid.link/20260714053259.504308-2-satyanarayana.k.v.p@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 7ef55ae582eba2b0a7a7441bd3b9aefd38a26bb9)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_device.c
drivers/gpu/drm/xe/xe_pci.c

index f3eb83644a6f8b1a07c2b735b566bbe250ef2481..dcb48caa485dc981840baf59c313f5d9c98e3b29 100644 (file)
@@ -426,7 +426,6 @@ static const struct drm_ioctl_desc xe_ioctls_admin_only[] = {
 
 static const struct drm_driver admin_only_driver = {
        .driver_features =
-           XE_DISPLAY_DRIVER_FEATURES |
            DRIVER_GEM | DRIVER_RENDER | DRIVER_GEM_GPUVA,
        .open = xe_file_open,
        .postclose = xe_file_close,
@@ -438,7 +437,6 @@ static const struct drm_driver admin_only_driver = {
        .major = DRIVER_MAJOR,
        .minor = DRIVER_MINOR,
        .patchlevel = DRIVER_PATCHLEVEL,
-       XE_DISPLAY_DRIVER_OPS,
 };
 
 /**
index 2bd601eb088b93aad04a6ea5886223e11214dd21..9cd873708136c5ac6cedc1360e89af67c446a1b2 100644 (file)
@@ -788,7 +788,8 @@ static int xe_info_init_early(struct xe_device *xe,
 
        xe->info.probe_display = IS_ENABLED(CONFIG_DRM_XE_DISPLAY) &&
                                 xe_modparam.probe_display &&
-                                desc->has_display;
+                                desc->has_display &&
+                                !xe_device_is_admin_only(xe);
        xe->info.force_execlist = xe_modparam.force_execlist;
 
        xe_assert(xe, desc->max_gt_per_tile > 0);