[PATCH] drm/xe: Set LRC addresses before guc load
Lucas De Marchi
lucas.demarchi at intel.com
Mon Apr 14 13:20:53 UTC 2025
On Thu, Apr 10, 2025 at 11:01:41AM -0500, Lucas De Marchi wrote:
>On Wed, Apr 09, 2025 at 10:36:10PM -0700, Matthew Brost wrote:
>>On Wed, Apr 09, 2025 at 09:59:34PM -0700, Lucas De Marchi wrote:
>>>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>
>>
>>Fixes tag? Anyways patch LGTM.
>>
>>Reviewed-by: Matthew Brost <matthew.brost at intel.com>
>
>Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>Cc: <stable at vger.kernel.org> # v6.11+
>
>Before 6.11 shouldn't be relevant since we didn't have any supported
>platform, let alone SR-IOV working where this reproduces.
Applied to drm-xe-next. Thanks for review and test.
Lucas De Marchi
>
>thanks
>Lucas De Marchi
More information about the Intel-xe
mailing list