mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 22:05:24 -04:00
drm/i915/guc: Enable PXP GuC autoteardown flow
This feature flag enables GuC autoteardown which allows for a grace period before session teardown. Also add a HAS_PXP() helper to share with the other place that wants to check. Signed-off-by: Juston Li <juston.li@intel.com> Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240906174038.1468026-1-John.C.Harrison@Intel.com
This commit is contained in:
@@ -239,8 +239,16 @@ static u32 guc_ctl_debug_flags(struct intel_guc *guc)
|
||||
|
||||
static u32 guc_ctl_feature_flags(struct intel_guc *guc)
|
||||
{
|
||||
struct intel_gt *gt = guc_to_gt(guc);
|
||||
u32 flags = 0;
|
||||
|
||||
/*
|
||||
* Enable PXP GuC autoteardown flow.
|
||||
* NB: MTL does things differently.
|
||||
*/
|
||||
if (HAS_PXP(gt->i915) && !IS_METEORLAKE(gt->i915))
|
||||
flags |= GUC_CTL_ENABLE_GUC_PXP_CTL;
|
||||
|
||||
if (!intel_guc_submission_is_used(guc))
|
||||
flags |= GUC_CTL_DISABLE_SCHEDULER;
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
#define GUC_WA_ENABLE_TSC_CHECK_ON_RC6 BIT(22)
|
||||
|
||||
#define GUC_CTL_FEATURE 2
|
||||
#define GUC_CTL_ENABLE_GUC_PXP_CTL BIT(1)
|
||||
#define GUC_CTL_ENABLE_SLPC BIT(2)
|
||||
#define GUC_CTL_DISABLE_SCHEDULER BIT(14)
|
||||
|
||||
|
||||
@@ -691,6 +691,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
|
||||
|
||||
#define HAS_RPS(i915) (INTEL_INFO(i915)->has_rps)
|
||||
|
||||
#define HAS_PXP(i915) \
|
||||
(IS_ENABLED(CONFIG_DRM_I915_PXP) && INTEL_INFO(i915)->has_pxp)
|
||||
|
||||
#define HAS_HECI_PXP(i915) \
|
||||
(INTEL_INFO(i915)->has_heci_pxp)
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ static struct intel_gt *find_gt_for_required_teelink(struct drm_i915_private *i9
|
||||
|
||||
static struct intel_gt *find_gt_for_required_protected_content(struct drm_i915_private *i915)
|
||||
{
|
||||
if (!IS_ENABLED(CONFIG_DRM_I915_PXP) || !INTEL_INFO(i915)->has_pxp)
|
||||
if (!HAS_PXP(i915))
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user