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

Reply via email to