On Mon, Dec 01, 2025 at 10:39:53AM -0800, Matthew Brost wrote:
The timestamp WA does not work on a VF because it requires reading MMIO
registers, which are inaccessible on a VF. This timestamp WA confuses
LRC sampling on a VF during TDR, as the LRC timestamp would always read
as 1 for any active context. Disable the timestamp WA on VFs to avoid
this confusion.
Signed-off-by: Matthew Brost <[email protected]>
Thanks for fixing this.
Reviewed-by: Umesh Nerlige Ramappa <[email protected]>
I think this needs a Fixes tag.
Fixes: 617d824c5323 ("drm/xe: Add WA BB to capture active context utilization")
This patch may not easily backport since functions are renamed later in
a refactor. May need to be manually sent to stable or needs Maintainer's
inputs.
Regards,
Umesh
---
drivers/gpu/drm/xe/xe_lrc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index a05060f75e7e..166353455f8f 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -1063,6 +1063,9 @@ static ssize_t setup_utilization_wa(struct xe_lrc *lrc,
{
u32 *cmd = batch;
+ if (IS_SRIOV_VF(gt_to_xe(lrc->gt)))
+ return 0;
+
if (xe_gt_WARN_ON(lrc->gt, max_len < 12))
return -ENOSPC;
--
2.34.1