Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/xe/guc: Prevent GuC register capture running on VF

GuC based register capture is not supported by VF, thus prevent it
running on VF.

Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241022010116.342240-2-zhanjun.dong@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

authored by

Zhanjun Dong and committed by
Rodrigo Vivi
dd1ba621 6ef3bb60

+7 -1
+7 -1
drivers/gpu/drm/xe/xe_guc_capture.c
··· 1590 1590 u16 guc_id = 0; 1591 1591 u32 lrca = 0; 1592 1592 1593 + if (IS_SRIOV_VF(xe)) 1594 + return; 1595 + 1593 1596 new = guc_capture_get_prealloc_node(guc); 1594 1597 if (!new) 1595 1598 return; ··· 1823 1820 return NULL; 1824 1821 1825 1822 xe = gt_to_xe(q->gt); 1826 - if (xe->wedged.mode >= 2 || !xe_device_uc_enabled(xe)) 1823 + if (xe->wedged.mode >= 2 || !xe_device_uc_enabled(xe) || IS_SRIOV_VF(xe)) 1827 1824 return NULL; 1828 1825 1829 1826 ss = &xe->devcoredump.snapshot; ··· 1878 1875 struct xe_hw_engine *hwe; 1879 1876 enum xe_hw_engine_id id; 1880 1877 u32 adj_logical_mask = q->logical_mask; 1878 + 1879 + if (IS_SRIOV_VF(xe)) 1880 + return; 1881 1881 1882 1882 for_each_hw_engine(hwe, q->gt, id) { 1883 1883 if (hwe->class != q->hwe->class ||