Message ID | 20210601082847.78389-1-zbigniew.kempczynski@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Add relocation exceptions for two other platforms | expand |
On Tue, 01 Jun 2021, Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> wrote: > We have established previously we stop using relocations starting > from gen12 platforms with Tigerlake as an exception. We keep this > statement but we want to enable relocations conditionally for > Rocketlake and Alderlake under require_force_probe flag set. > > Keeping relocations under require_force_probe flag is interim solution > until IGTs will be rewritten to use softpin. > > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> > Cc: Dave Airlie <airlied@redhat.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jason Ekstrand <jason@jlekstrand.net> > --- > .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 26 +++++++++++++++---- > 1 file changed, 21 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > index 297143511f99..c0562dd14837 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > @@ -491,16 +491,32 @@ eb_unreserve_vma(struct eb_vma *ev) > ev->flags &= ~__EXEC_OBJECT_RESERVED; > } > > +static inline bool Please don't use the inline keyword in .c files. Let the compiler do its job. BR, Jani. > +platform_has_relocs_enabled(const struct i915_execbuffer *eb) > +{ > + /* > + * Relocations are disallowed starting from gen12 with Tigerlake > + * as an exception. We allow temporarily use relocations for Rocketlake > + * and Alderlake when require_force_probe flag is set. > + */ > + > + if (INTEL_GEN(eb->i915) < 12 || IS_TIGERLAKE(eb->i915)) > + return true; > + > + if (INTEL_INFO(eb->i915)->require_force_probe && > + (IS_ROCKETLAKE(eb->i915) || IS_ALDERLAKE_S(eb->i915) || > + IS_ALDERLAKE_P(eb->i915))) > + return true; > + > + return false; > +} > + > static int > eb_validate_vma(struct i915_execbuffer *eb, > struct drm_i915_gem_exec_object2 *entry, > struct i915_vma *vma) > { > - /* Relocations are disallowed for all platforms after TGL-LP. This > - * also covers all platforms with local memory. > - */ > - if (entry->relocation_count && > - INTEL_GEN(eb->i915) >= 12 && !IS_TIGERLAKE(eb->i915)) > + if (entry->relocation_count && !platform_has_relocs_enabled(eb)) > return -EINVAL; > > if (unlikely(entry->flags & eb->invalid_flags))
On Tue, Jun 01, 2021 at 11:36:54AM +0000, Patchwork wrote: > Patch Details > > Series: drm/i915: Add relocation exceptions for two other platforms (rev3) > URL: https://patchwork.freedesktop.org/series/89594/ > State: failure > Details: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20244/index.html > > CI Bug Log - changes from CI_DRM_10153_full -> Patchwork_20244_full > > Summary > > FAILURE > > Serious unknown changes coming with Patchwork_20244_full absolutely need > to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_20244_full, please notify your bug team to allow > them > to document this new failure mode, which will reduce false positives in > CI. > > Possible new issues > > Here are the unknown changes that may have been introduced in > Patchwork_20244_full: > > IGT changes > > Possible regressions > > * igt@kms_plane_lowres@pipe-a-tiling-y: > * shard-iclb: NOTRUN -> SKIP > > Piglit changes > > Possible regressions > > * spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 > 8 128 4 (NEW): > * pig-glk-j5005: NOTRUN -> INCOMPLETE +1 similar issue I don't think change is related to regression mentiontioned above. -- Zbigniew > > New tests > > New tests have been introduced between CI_DRM_10153_full and > Patchwork_20244_full: > > New Piglit tests (2) > > * spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 > 8 128 4: > > * Statuses : 1 incomplete(s) > * Exec time: [0.0] s > * spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 > 8 128 7: > > * Statuses : 1 incomplete(s) > * Exec time: [0.0] s > > Known issues > > Here are the changes found in Patchwork_20244_full that come from known > issues: > > IGT changes > > Issues hit > > * igt@gem_create@create-clear: > > * shard-glk: PASS -> FAIL ([i915#3160]) > * igt@gem_ctx_persistence@engines-hostile@rcs0: > > * shard-glk: PASS -> FAIL ([i915#2410]) > * igt@gem_ctx_persistence@legacy-engines-mixed: > > * shard-snb: NOTRUN -> SKIP ([fdo#109271] / [i915#1099]) +8 similar > issues > * igt@gem_ctx_persistence@many-contexts: > > * shard-tglb: PASS -> FAIL ([i915#2410]) > * igt@gem_eio@unwedge-stress: > > * shard-snb: NOTRUN -> FAIL ([i915#3354]) > * igt@gem_exec_fair@basic-deadline: > > * shard-apl: NOTRUN -> FAIL ([i915#2846]) > * igt@gem_exec_fair@basic-throttle@rcs0: > > * shard-glk: PASS -> FAIL ([i915#2842]) > * igt@gem_exec_params@secure-non-master: > > * shard-iclb: NOTRUN -> SKIP ([fdo#112283]) > * igt@gem_media_vme: > > * shard-skl: NOTRUN -> SKIP ([fdo#109271]) +37 similar issues > * igt@gem_mmap_gtt@cpuset-basic-small-copy: > > * shard-skl: PASS -> INCOMPLETE ([i915#198] / [i915#3468]) > * igt@gem_mmap_gtt@cpuset-basic-small-copy-odd: > > * shard-apl: NOTRUN -> INCOMPLETE ([i915#3468]) +1 similar issue > * igt@gem_mmap_gtt@cpuset-basic-small-copy-xy: > > * shard-tglb: PASS -> INCOMPLETE ([i915#3468]) > * igt@gem_mmap_gtt@fault-concurrent-y: > > * shard-snb: NOTRUN -> INCOMPLETE ([i915#3468]) +1 similar issue > * igt@gem_pread@exhaustion: > > * shard-snb: NOTRUN -> WARN ([i915#2658]) > > * shard-skl: NOTRUN -> WARN ([i915#2658]) > > * igt@gem_userptr_blits@dmabuf-sync: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#3323]) > * igt@gem_userptr_blits@input-checking: > > * shard-snb: NOTRUN -> DMESG-WARN ([i915#3002]) > * igt@gem_userptr_blits@invalid-mmap-offset-unsync: > > * shard-iclb: NOTRUN -> SKIP ([i915#3297]) > * igt@gen9_exec_parse@batch-zero-length: > > * shard-iclb: NOTRUN -> SKIP ([fdo#112306]) > * igt@gen9_exec_parse@bb-large: > > * shard-apl: NOTRUN -> FAIL ([i915#3296]) > * igt@i915_pm_rpm@modeset-lpsp-stress: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271]) +181 similar issues > * igt@i915_suspend@forcewake: > > * shard-kbl: PASS -> DMESG-WARN ([i915#180]) +3 similar issues > * igt@kms_big_fb@linear-16bpp-rotate-90: > > * shard-iclb: NOTRUN -> SKIP ([fdo#110725] / [fdo#111614]) > * igt@kms_color@pipe-b-ctm-0-5: > > * shard-skl: PASS -> DMESG-WARN ([i915#1982]) > * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red: > > * shard-snb: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +33 > similar issues > > * shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) > > * shard-iclb: NOTRUN -> SKIP ([fdo#109284] / [fdo#111827]) > > * igt@kms_color_chamelium@pipe-a-ctm-limited-range: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +15 > similar issues > * igt@kms_color_chamelium@pipe-d-ctm-0-75: > > * shard-skl: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +2 > similar issues > * igt@kms_content_protection@legacy: > > * shard-apl: NOTRUN -> TIMEOUT ([i915#1319]) > * igt@kms_cursor_crc@pipe-b-cursor-512x170-random: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109278] / [fdo#109279]) > * igt@kms_cursor_crc@pipe-c-cursor-suspend: > > * shard-kbl: NOTRUN -> DMESG-WARN ([i915#180]) > * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge: > > * shard-snb: NOTRUN -> SKIP ([fdo#109271]) +596 similar issues > * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109274] / [fdo#109278]) > * igt@kms_cursor_legacy@flip-vs-cursor-atomic: > > * shard-apl: PASS -> FAIL ([i915#2346]) > * igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy: > > * shard-skl: PASS -> FAIL ([i915#2346]) > * igt@kms_fbcon_fbt@fbc-suspend: > > * shard-kbl: PASS -> INCOMPLETE ([i915#155] / [i915#180] / > [i915#636]) > * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109274]) > * igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-hdmi-a1-hdmi-a2: > > * shard-glk: PASS -> FAIL ([i915#2122]) > * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#2642]) > * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-msflip-blt: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109280]) +3 similar issues > * igt@kms_hdr@bpc-switch-suspend: > > * shard-skl: PASS -> FAIL ([i915#1188]) > * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes: > > * shard-kbl: NOTRUN -> SKIP ([fdo#109271]) +29 similar issues > * igt@kms_pipe_crc_basic@read-crc-pipe-d: > > * shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#533]) > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#533]) +1 similar > issue > > * igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence: > > * shard-skl: NOTRUN -> SKIP ([fdo#109271] / [i915#533]) > * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc: > > * shard-skl: NOTRUN -> FAIL ([fdo#108145] / [i915#265]) > * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb: > > * shard-apl: NOTRUN -> FAIL ([i915#265]) > > * shard-kbl: NOTRUN -> FAIL ([i915#265]) > > * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max: > > * shard-apl: NOTRUN -> FAIL ([fdo#108145] / [i915#265]) > * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: > > * shard-skl: PASS -> FAIL ([fdo#108145] / [i915#265]) > * igt@kms_plane_alpha_blend@pipe-d-alpha-transparent-fb: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109278]) +9 similar issues > * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3: > > * shard-skl: NOTRUN -> SKIP ([fdo#109271] / [i915#658]) > * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#658]) +3 similar > issues > * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1: > > * shard-iclb: NOTRUN -> SKIP ([i915#658]) > > * shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#658]) > > * igt@kms_psr@psr2_primary_mmap_cpu: > > * shard-iclb: PASS -> SKIP ([fdo#109441]) +1 similar issue > * igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame: > > * shard-iclb: NOTRUN -> SKIP ([i915#2530]) > * igt@perf@per-context-mode-unprivileged: > > * shard-iclb: NOTRUN -> SKIP ([fdo#109289]) > * igt@sysfs_clients@fair-7: > > * shard-skl: NOTRUN -> SKIP ([fdo#109271] / [i915#2994]) > * igt@sysfs_clients@recycle: > > * shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#2994]) > * igt@vgem_basic@dmabuf-fence: > > * shard-glk: PASS -> DMESG-WARN ([i915#118] / [i915#95]) > > Possible fixes > > * igt@gem_eio@unwedge-stress: > > * shard-skl: TIMEOUT ([i915#2369] / [i915#3063]) -> PASS > * igt@gem_exec_fair@basic-deadline: > > * shard-glk: FAIL ([i915#2846]) -> PASS > * igt@gem_exec_fair@basic-none@rcs0: > > * shard-kbl: FAIL ([i915#2842]) -> PASS +3 similar issues > > * shard-glk: FAIL ([i915#2842]) -> PASS > > * igt@gem_exec_fair@basic-pace-share@rcs0: > > * shard-tglb: FAIL ([i915#2842]) -> PASS > * igt@gem_exec_whisper@basic-contexts-priority: > > * shard-iclb: INCOMPLETE ([i915#1895]) -> PASS > * igt@gem_huc_copy@huc-copy: > > * shard-tglb: SKIP ([i915#2190]) -> PASS > * igt@gem_mmap_gtt@big-copy: > > * shard-skl: FAIL ([i915#307]) -> PASS > * igt@gem_mmap_gtt@cpuset-basic-small-copy-xy: > > * shard-apl: INCOMPLETE ([i915#3468]) -> PASS > * igt@kms_color@pipe-c-ctm-max: > > * shard-skl: DMESG-WARN ([i915#1982]) -> PASS > * igt@kms_cursor_edge_walk@pipe-a-256x256-left-edge: > > * shard-glk: DMESG-FAIL ([i915#118] / [i915#70] / [i915#95]) -> > PASS > * igt@kms_cursor_legacy@flip-vs-cursor-legacy: > > * shard-skl: FAIL ([i915#2346]) -> PASS > * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1: > > * shard-apl: DMESG-WARN ([i915#180]) -> PASS +1 similar issue > * igt@kms_flip@plain-flip-ts-check-interruptible@c-edp1: > > * shard-skl: FAIL ([i915#2122]) -> PASS +1 similar issue > * igt@kms_hdr@bpc-switch: > > * shard-skl: FAIL ([i915#1188]) -> PASS > * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: > > * shard-kbl: DMESG-WARN ([i915#180]) -> PASS +4 similar issues > * igt@kms_plane@pixel-format-source-clamping@pipe-a-planes: > > * shard-skl: INCOMPLETE ([i915#1982]) -> PASS > * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: > > * shard-skl: FAIL ([fdo#108145] / [i915#265]) -> PASS > * igt@kms_psr@psr2_primary_mmap_gtt: > > * shard-iclb: SKIP ([fdo#109441]) -> PASS > * igt@perf@polling-parameterized: > > * shard-skl: FAIL ([i915#1542]) -> PASS > * igt@perf@polling-small-buf: > > * shard-skl: FAIL ([i915#1722]) -> PASS > > Warnings > > * igt@gem_exec_fair@basic-none-rrul@rcs0: > > * shard-iclb: FAIL ([i915#2852]) -> FAIL ([i915#2842]) > * igt@gem_mmap_gtt@cpuset-basic-small-copy-xy: > > * shard-snb: INCOMPLETE ([i915#2055]) -> INCOMPLETE ([i915#2055] / > [i915#3468]) > * igt@i915_pm_dc@dc3co-vpb-simulation: > > * shard-iclb: SKIP ([i915#588]) -> SKIP ([i915#658]) > * igt@i915_pm_rc6_residency@rc6-fence: > > * shard-iclb: WARN ([i915#2684]) -> WARN ([i915#1804] / > [i915#2684]) +1 similar issue > * igt@i915_selftest@live@execlists: > > * shard-tglb: DMESG-FAIL ([i915#3462]) -> INCOMPLETE ([i915#3462]) > * igt@kms_psr2_sf@plane-move-sf-dmg-area-0: > > * shard-iclb: SKIP ([i915#658]) -> SKIP ([i915#2920]) > * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5: > > * shard-iclb: SKIP ([i915#2920]) -> SKIP ([i915#658]) +1 similar > issue > * igt@runner@aborted: > > * shard-kbl: (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, [FAIL][143], > [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], > [FAIL][149], [FAIL][150], [FAIL][151], [FAIL][152]) ([i915#1436] > / [i915#180] / [i915#1814] / [i915#2722] / [i915#3002] / > [i915#3363] / [i915#602]) -> ([FAIL][153], [FAIL][154], > [FAIL][155], [FAIL][156], [FAIL][157], [FAIL][158], [FAIL][159], > [FAIL][160], [FAIL][161], [FAIL][162], [FAIL][163], [FAIL][164], > [FAIL][165], [FAIL][166], [FAIL][167], [FAIL][168], [FAIL][169], > [FAIL][170]) ([i915#1436] / [i915#180] / [i915#1814] / > [i915#2292] / [i915#2722] / [i915#3002] / [i915#3363] / > [i915#92])
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 297143511f99..c0562dd14837 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -491,16 +491,32 @@ eb_unreserve_vma(struct eb_vma *ev) ev->flags &= ~__EXEC_OBJECT_RESERVED; } +static inline bool +platform_has_relocs_enabled(const struct i915_execbuffer *eb) +{ + /* + * Relocations are disallowed starting from gen12 with Tigerlake + * as an exception. We allow temporarily use relocations for Rocketlake + * and Alderlake when require_force_probe flag is set. + */ + + if (INTEL_GEN(eb->i915) < 12 || IS_TIGERLAKE(eb->i915)) + return true; + + if (INTEL_INFO(eb->i915)->require_force_probe && + (IS_ROCKETLAKE(eb->i915) || IS_ALDERLAKE_S(eb->i915) || + IS_ALDERLAKE_P(eb->i915))) + return true; + + return false; +} + static int eb_validate_vma(struct i915_execbuffer *eb, struct drm_i915_gem_exec_object2 *entry, struct i915_vma *vma) { - /* Relocations are disallowed for all platforms after TGL-LP. This - * also covers all platforms with local memory. - */ - if (entry->relocation_count && - INTEL_GEN(eb->i915) >= 12 && !IS_TIGERLAKE(eb->i915)) + if (entry->relocation_count && !platform_has_relocs_enabled(eb)) return -EINVAL; if (unlikely(entry->flags & eb->invalid_flags))
We have established previously we stop using relocations starting from gen12 platforms with Tigerlake as an exception. We keep this statement but we want to enable relocations conditionally for Rocketlake and Alderlake under require_force_probe flag set. Keeping relocations under require_force_probe flag is interim solution until IGTs will be rewritten to use softpin. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Dave Airlie <airlied@redhat.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jason Ekstrand <jason@jlekstrand.net> --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-)