✓ CI.checkpatch: success for drm/xe: Set LRC addresses before guc load
Patchwork
patchwork at emeril.freedesktop.org
Thu Apr 10 05:06:14 UTC 2025
== Series Details ==
Series: drm/xe: Set LRC addresses before guc load
URL : https://patchwork.freedesktop.org/series/147505/
State : success
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
13a92ce9fd458ebd6064f23cec8c39c53d02ed26
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 6edd990249f84a6b14aaa7f18d35f5282b000a8c
Author: Lucas De Marchi <lucas.demarchi at intel.com>
Date: Wed Apr 9 21:59:34 2025 -0700
drm/xe: Set LRC addresses before guc load
The metadata saved in the ADS is read by GuC when it's initialized.
Saving the addresses to the LRCs when they are populated is too late as
GuC will keep using the old ones.
This was causing GuC to use the RCS LRC for any engine class. It's not a
big problem on a Linux-only scenario since the they are used by GuC only
on media engines when the watchdog is triggered. However, in a
virtualization scenario with Windows as the VF, it causes the wrong LRCs
to be loaded as the watchdog is used for all engines.
Fix it by letting guc_golden_lrc_init() initialize the metadata, like
other *_init() functions, and later guc_golden_lrc_populate() to copy
the LRCs to the right places. The former is called before the second GuC
load, while the latter is called after LRCs have been recorded.
Cc: Chee Yin Wong <chee.yin.wong at intel.com>
Cc: John Harrison <john.c.harrison at intel.com>
Cc: Matt Roper <matthew.d.roper at intel.com>
Cc: Matthew Brost <matthew.brost at intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
+ /mt/dim checkpatch c54633598106dbdb97f3aa589587b8176009b6d8 drm-intel
6edd990249f8 drm/xe: Set LRC addresses before guc load
More information about the Intel-xe
mailing list