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

Configure Feed

Select the types of activity you want to include in your feed.

drm/xe/vf: Ignore force-wake requests if VF

The control and ack force-wake registers are not accessible for
the VF drivers. To avoid changing existing code logic that tracks
woken domains, simply ignore all attempts to access control or ack
registers if we are running as a VF driver.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240611163537.1944-6-michal.wajdeczko@intel.com

+7
+7
drivers/gpu/drm/xe/xe_force_wake.c
··· 12 12 #include "xe_gt.h" 13 13 #include "xe_gt_printk.h" 14 14 #include "xe_mmio.h" 15 + #include "xe_sriov.h" 15 16 16 17 #define XE_FORCE_WAKE_ACK_TIMEOUT_MS 50 17 18 ··· 97 96 98 97 static void __domain_ctl(struct xe_gt *gt, struct xe_force_wake_domain *domain, bool wake) 99 98 { 99 + if (IS_SRIOV(gt_to_xe(gt))) 100 + return; 101 + 100 102 xe_mmio_write32(gt, domain->reg_ctl, domain->mask | (wake ? domain->val : 0)); 101 103 } 102 104 ··· 107 103 { 108 104 u32 value; 109 105 int ret; 106 + 107 + if (IS_SRIOV(gt_to_xe(gt))) 108 + return 0; 110 109 111 110 ret = xe_mmio_wait32(gt, domain->reg_ack, domain->val, wake ? domain->val : 0, 112 111 XE_FORCE_WAKE_ACK_TIMEOUT_MS * USEC_PER_MSEC,