From: fei.yang@intel.com
To: intel-xe@lists.freedesktop.org
Cc: matthew.d.roper@intel.com, lucas.demarchi@intel.com,
Fei Yang <fei.yang@intel.com>,
John Harrison <John.C.Harrison@Intel.com>
Subject: [PATCH 1/1] drm/xe: enable lite restore
Date: Wed, 16 Oct 2024 15:37:30 -0700 [thread overview]
Message-ID: <20241016223730.921963-2-fei.yang@intel.com> (raw)
In-Reply-To: <20241016223730.921963-1-fei.yang@intel.com>
From: Fei Yang <fei.yang@intel.com>
The lite restore is a performance improvement feature which avoids
unnecessary context switch (flush, save and rstore) if the incoming
context has a ContextID matching that of the outgoing context. The
scheduling is done by the Guc firmware, so on the driver side it's
just a matter of setting corresponding GuC_CTL_FEATURE flag.
This is supposed to be enabled by default, thus the flag is set
unconditionally.
Signed-off-by: Fei Yang <fei.yang@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
---
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_guc_fwif.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 8570b1218287..fed30f2872f7 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -70,7 +70,7 @@ static u32 guc_ctl_debug_flags(struct xe_guc *guc)
static u32 guc_ctl_feature_flags(struct xe_guc *guc)
{
- u32 flags = 0;
+ u32 flags = GUC_CTL_ENABLE_LITE_RESTORE;
if (!guc_to_xe(guc)->info.skip_guc_pc)
flags |= GUC_CTL_ENABLE_SLPC;
diff --git a/drivers/gpu/drm/xe/xe_guc_fwif.h b/drivers/gpu/drm/xe/xe_guc_fwif.h
index 01e3ab590c3a..08ffe59f22fa 100644
--- a/drivers/gpu/drm/xe/xe_guc_fwif.h
+++ b/drivers/gpu/drm/xe/xe_guc_fwif.h
@@ -105,6 +105,7 @@ struct guc_update_exec_queue_policy {
#define GUC_CTL_FEATURE 2
#define GUC_CTL_ENABLE_SLPC BIT(2)
+#define GUC_CTL_ENABLE_LITE_RESTORE BIT(4)
#define GUC_CTL_DISABLE_SCHEDULER BIT(14)
#define GUC_CTL_DEBUG 3
--
2.25.1
next prev parent reply other threads:[~2024-10-16 22:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-16 22:37 [PATCH 0/1] drm/xe: enable lite restore fei.yang
2024-10-16 22:37 ` fei.yang [this message]
2024-10-16 22:38 ` ✓ CI.Patch_applied: success for " Patchwork
2024-10-16 22:38 ` ✓ CI.checkpatch: " Patchwork
2024-10-16 22:39 ` ✓ CI.KUnit: " Patchwork
2024-10-16 22:51 ` ✓ CI.Build: " Patchwork
2024-10-16 22:53 ` ✓ CI.Hooks: " Patchwork
2024-10-16 22:55 ` ✓ CI.checksparse: " Patchwork
2024-10-16 23:21 ` ✓ CI.BAT: " Patchwork
2024-10-17 12:21 ` ✗ CI.FULL: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-10-17 16:27 [PATCH 0/1] " fei.yang
2024-10-17 16:27 ` [PATCH 1/1] " fei.yang
2024-10-16 18:57 [PATCH 0/1] " fei.yang
2024-10-16 18:57 ` [PATCH 1/1] " fei.yang
2024-10-16 19:13 ` Souza, Jose
2024-10-16 22:39 ` Yang, Fei
2024-10-10 17:31 [PATCH 0/1] " fei.yang
2024-10-10 17:31 ` [PATCH 1/1] " fei.yang
2024-10-10 17:32 ` John Harrison
2024-10-11 13:47 ` Lucas De Marchi
2024-10-16 18:50 ` Yang, Fei
2024-10-08 23:30 [PATCH 0/1] " fei.yang
2024-10-08 23:30 ` [PATCH 1/1] " fei.yang
2024-10-09 20:12 ` John Harrison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241016223730.921963-2-fei.yang@intel.com \
--to=fei.yang@intel.com \
--cc=John.C.Harrison@Intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=matthew.d.roper@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.