Message ID | 20240906174038.1468026-1-John.C.Harrison@Intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/i915/guc: Enable PXP GuC autoteardown flow | expand |
LGTM: Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> On Fri, 2024-09-06 at 10:40 -0700, John.C.Harrison@Intel.com wrote: > From: Juston Li <juston.li@intel.com> > > 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> > --- > drivers/gpu/drm/i915/gt/uc/intel_guc.c | 8 ++++++++ > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 1 + > drivers/gpu/drm/i915/i915_drv.h | 3 +++ > drivers/gpu/drm/i915/pxp/intel_pxp.c | 2 +- > 4 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c > index 097fc6bd1285e..5949ff0b0161f 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c > @@ -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; > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > index 263c9c3f6a034..4ce6e2332a63f 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h > @@ -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) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 39f6614a0a99a..faeba9732422f 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -693,6 +693,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) > > diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp.c b/drivers/gpu/drm/i915/pxp/intel_pxp.c > index 75278e78ca90e..5e0bf776aac0f 100644 > --- a/drivers/gpu/drm/i915/pxp/intel_pxp.c > +++ b/drivers/gpu/drm/i915/pxp/intel_pxp.c > @@ -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; > > /*
On 9/18/2024 12:32, Patchwork wrote: > Project List - Patchwork *Patch Details* > *Series:* drm/i915/guc: Enable PXP GuC autoteardown flow (rev2) > *URL:* https://patchwork.freedesktop.org/series/138337/ > *State:* failure > *Details:* > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v2/index.html > > > CI Bug Log - changes from CI_DRM_15437 -> Patchwork_138337v2 > > > Summary > > *FAILURE* > > Serious unknown changes coming with Patchwork_138337v2 absolutely need > to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_138337v2, please notify your bug team > (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives > in CI. > > External URL: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v2/index.html > > > Participating hosts (38 -> 36) > > Additional (2): fi-kbl-8809g bat-mtlp-6 > Missing (4): bat-mtlp-8 fi-elk-e7500 fi-snb-2520m fi-bsw-n3050 > > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_138337v2: > > > IGT changes > > > Possible regressions > > * igt@i915_selftest@live@memory_region: > o bat-arls-1: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15437/bat-arls-1/igt@i915_selftest@live@memory_region.html> > -> DMESG-WARN > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v2/bat-arls-1/igt@i915_selftest@live@memory_region.html> > Known issue: https://gitlab.freedesktop.org/drm/intel/issues/10341 John.
On 9/26/2024 18:54, Patchwork wrote: > Project List - Patchwork *Patch Details* > *Series:* drm/i915/guc: Enable PXP GuC autoteardown flow (rev3) > *URL:* https://patchwork.freedesktop.org/series/138337/ > *State:* failure > *Details:* > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/index.html > > > CI Bug Log - changes from CI_DRM_15449_full -> Patchwork_138337v3_full > > > Summary > > *FAILURE* > > Serious unknown changes coming with Patchwork_138337v3_full absolutely > need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_138337v3_full, please notify your bug team > (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives > in CI. > > > Participating hosts (8 -> 8) > > Additional (1): shard-tglu-1 > Missing (1): shard-snb-0 > > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_138337v3_full: > > > IGT changes > > > Possible regressions > > * > > igt@gem_exec_balancer@waits: > > o shard-glk: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-glk8/igt@gem_exec_balancer@waits.html> > -> INCOMPLETE > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-glk3/igt@gem_exec_balancer@waits.html> > * > > igt@kms_cursor_crc@cursor-onscreen-512x512: > > o shard-tglu: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-512x512.html> > +26 other tests skip > * > > igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt: > > o shard-dg2: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html> > +2 other tests skip > * > > igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc: > > o shard-dg1: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html> > +3 other tests skip > * > > igt@kms_pipe_crc_basic@disable-crc-after-crtc: > > o shard-tglu: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_pipe_crc_basic@disable-crc-after-crtc.html> > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_pipe_crc_basic@disable-crc-after-crtc.html> > +14 other tests skip > * > > igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area: > > o shard-rkl: NOTRUN -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-rkl-4/igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area.html> > +4 other tests skip > > > Warnings > > * > > igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html> > (i915#1769 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769> > / i915#3555 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html> > * > > igt@kms_big_fb@4-tiled-64bpp-rotate-180: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html> > (i915#5286 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html> > +1 other test skip > * > > igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html> > (i915#6095 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html> > +1 other test skip > * > > igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html> > (i915#12042 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12042>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html> > * > > igt@kms_content_protection@lic-type-1: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_content_protection@lic-type-1.html> > (i915#6944 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944> > / i915#9424 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_content_protection@lic-type-1.html> > * > > igt@kms_cursor_crc@cursor-onscreen-32x32: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_cursor_crc@cursor-onscreen-32x32.html> > (i915#3555 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-32x32.html> > * > > igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc: > > o shard-dg2: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html> > (i915#5354 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html> > * > > igt@kms_vrr@lobf: > > o shard-tglu: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/shard-tglu-3/igt@kms_vrr@lobf.html> > (i915#11920 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920>) > -> SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v3/shard-tglu-8/igt@kms_vrr@lobf.html> > This is a MTL/ARL only change which means no effect on any of the above systems. John.
On 10/12/2024 08:34, Patchwork wrote: > Project List - Patchwork *Patch Details* > *Series:* drm/i915/guc: Enable PXP GuC autoteardown flow (rev4) > *URL:* https://patchwork.freedesktop.org/series/138337/ > *State:* failure > *Details:* > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v4/index.html > > > CI Bug Log - changes from CI_DRM_15519_full -> Patchwork_138337v4_full > > > Summary > > *FAILURE* > > Serious unknown changes coming with Patchwork_138337v4_full absolutely > need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_138337v4_full, please notify your bug team > (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives > in CI. > > > Participating hosts (10 -> 8) > > Missing (2): shard-dg2-set2 shard-glk-0 > > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_138337v4_full: > > > IGT changes > > > Possible regressions > > * igt@gem_exec_balancer@nop: > o shard-mtlp: PASS > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15519/shard-mtlp-3/igt@gem_exec_balancer@nop.html> > -> DMESG-WARN > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v4/shard-mtlp-2/igt@gem_exec_balancer@nop.html> > Slow TLB invalidation processing (in both cases the completion message was received a fraction of a second after the timeout fired). Not related to PXP. > * > > > Warnings > > * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf: > o shard-mtlp: SKIP > <https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15519/shard-mtlp-2/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html> > (i915#12316 > <https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316>) > -> FAIL > <https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138337v4/shard-mtlp-3/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html> > Unstable display test, not related to PXP. John.
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 097fc6bd1285e..5949ff0b0161f 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -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; diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h index 263c9c3f6a034..4ce6e2332a63f 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h @@ -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) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 39f6614a0a99a..faeba9732422f 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -693,6 +693,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) diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp.c b/drivers/gpu/drm/i915/pxp/intel_pxp.c index 75278e78ca90e..5e0bf776aac0f 100644 --- a/drivers/gpu/drm/i915/pxp/intel_pxp.c +++ b/drivers/gpu/drm/i915/pxp/intel_pxp.c @@ -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; /*