* [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 @ 2019-08-30 22:30 ` Matt Roper 0 siblings, 0 replies; 8+ messages in thread From: Matt Roper @ 2019-08-30 22:30 UTC (permalink / raw) To: igt-dev, intel-gfx Most gen7 and gen8 platforms can't do plane scaling, so we need to ensure the test doesn't try to do plane scaling on those platforms. The legacy non-atomic subtest bakes these platform characteristics into the test itself since legacy modesetting interfaces don't provide a way to probe platform capabilities like atomic does. Maarten previously tried to address this with commit 24c5e0778 ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), but he augmented an existing test for gen9+pipeC which comes too late since we've already turned on the plane at that point. We can fix this by moving the test up higher; not only before we enable panel fitting, but also before we turn on the sprite. Note that this still isn't a great subtest since it's very Intel-specific, despite being part of a generic KMS test that's intended for all vendors. A future enhancement might be to try to probe the platform capabilities with a TEST_ONLY atomic operation before using the legacy interfaces to actually program them. While touching the code, I also added some slight restructuring, added additional comments, and broke up >80 char lines to add clarity to what's going on. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c index 491e429f..a942294b 100644 --- a/tests/kms_panel_fitting.c +++ b/tests/kms_panel_fitting.c @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) igt_fb_set_position(&d->fb2, d->plane2, 100, 100); igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); igt_plane_set_position(d->plane2, 100, 100); - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); - igt_display_commit2(display, COMMIT_UNIVERSAL); /* - * most of gen7 and all of gen8 doesn't support scaling at all. + * Most of gen7 and all of gen8 doesn't support plane scaling + * at all. * * gen9 pipe C has only 1 scaler shared with the crtc, which * means pipe scaling can't work simultaneously with panel @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) * Since this is the legacy path, userspace has to know about * the HW limitations, whereas atomic can ask. */ - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || + if (IS_GEN8(devid) || + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || (IS_GEN9(devid) && pipe == PIPE_C)) - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); + /* same as visible area of fb => no scaling */ + igt_plane_set_size(d->plane2, + d->fb2.width-200, + d->fb2.height-200); + else + /* + * different than visible area of fb => plane scaling + * active + */ + igt_plane_set_size(d->plane2, + mode->hdisplay-200, + mode->vdisplay-200); + + /* Plane scaling active (if possible), pfit off */ + igt_display_commit2(display, COMMIT_UNIVERSAL); /* enable panel fitting along with sprite scaling */ mode->hdisplay = 1024; -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 @ 2019-08-30 22:30 ` Matt Roper 0 siblings, 0 replies; 8+ messages in thread From: Matt Roper @ 2019-08-30 22:30 UTC (permalink / raw) To: igt-dev, intel-gfx Most gen7 and gen8 platforms can't do plane scaling, so we need to ensure the test doesn't try to do plane scaling on those platforms. The legacy non-atomic subtest bakes these platform characteristics into the test itself since legacy modesetting interfaces don't provide a way to probe platform capabilities like atomic does. Maarten previously tried to address this with commit 24c5e0778 ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), but he augmented an existing test for gen9+pipeC which comes too late since we've already turned on the plane at that point. We can fix this by moving the test up higher; not only before we enable panel fitting, but also before we turn on the sprite. Note that this still isn't a great subtest since it's very Intel-specific, despite being part of a generic KMS test that's intended for all vendors. A future enhancement might be to try to probe the platform capabilities with a TEST_ONLY atomic operation before using the legacy interfaces to actually program them. While touching the code, I also added some slight restructuring, added additional comments, and broke up >80 char lines to add clarity to what's going on. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c index 491e429f..a942294b 100644 --- a/tests/kms_panel_fitting.c +++ b/tests/kms_panel_fitting.c @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) igt_fb_set_position(&d->fb2, d->plane2, 100, 100); igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); igt_plane_set_position(d->plane2, 100, 100); - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); - igt_display_commit2(display, COMMIT_UNIVERSAL); /* - * most of gen7 and all of gen8 doesn't support scaling at all. + * Most of gen7 and all of gen8 doesn't support plane scaling + * at all. * * gen9 pipe C has only 1 scaler shared with the crtc, which * means pipe scaling can't work simultaneously with panel @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) * Since this is the legacy path, userspace has to know about * the HW limitations, whereas atomic can ask. */ - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || + if (IS_GEN8(devid) || + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || (IS_GEN9(devid) && pipe == PIPE_C)) - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); + /* same as visible area of fb => no scaling */ + igt_plane_set_size(d->plane2, + d->fb2.width-200, + d->fb2.height-200); + else + /* + * different than visible area of fb => plane scaling + * active + */ + igt_plane_set_size(d->plane2, + mode->hdisplay-200, + mode->vdisplay-200); + + /* Plane scaling active (if possible), pfit off */ + igt_display_commit2(display, COMMIT_UNIVERSAL); /* enable panel fitting along with sprite scaling */ mode->hdisplay = 1024; -- 2.20.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 2019-08-30 22:30 ` [igt-dev] " Matt Roper (?) @ 2019-08-30 23:09 ` Patchwork -1 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-08-30 23:09 UTC (permalink / raw) To: Matt Roper; +Cc: igt-dev == Series Details == Series: tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 URL : https://patchwork.freedesktop.org/series/66080/ State : success == Summary == CI Bug Log - changes from CI_DRM_6813 -> IGTPW_3405 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/66080/revisions/1/mbox/ Known issues ------------ Here are the changes found in IGTPW_3405 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_cpu_reloc@basic: - fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-icl-u3/igt@gem_cpu_reloc@basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-icl-u3/igt@gem_cpu_reloc@basic.html * igt@gem_exec_suspend@basic-s3: - fi-blb-e6850: [PASS][3] -> [INCOMPLETE][4] ([fdo#107718]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html * igt@i915_selftest@live_gem_contexts: - fi-cfl-8700k: [PASS][5] -> [INCOMPLETE][6] ([fdo#111514]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@gem_mmap_gtt@basic-small-bo-tiledx: - fi-icl-u3: [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledx.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledx.html * igt@i915_selftest@live_execlists: - {fi-icl-guc}: [INCOMPLETE][9] ([fdo#107713]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-icl-guc/igt@i915_selftest@live_execlists.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-icl-guc/igt@i915_selftest@live_execlists.html * igt@i915_selftest@live_workarounds: - fi-bsw-kefka: [DMESG-WARN][11] ([fdo#111373]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html #### Warnings #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-kbl-guc: [SKIP][13] ([fdo#109271]) -> [FAIL][14] ([fdo#107707]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/fi-kbl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/fi-kbl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#107707]: https://bugs.freedesktop.org/show_bug.cgi?id=107707 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#111373]: https://bugs.freedesktop.org/show_bug.cgi?id=111373 [fdo#111514]: https://bugs.freedesktop.org/show_bug.cgi?id=111514 Participating hosts (52 -> 45) ------------------------------ Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5162 -> IGTPW_3405 CI-20190529: 20190529 CI_DRM_6813: 7d8570ed21a0d6fc7083f287fcd39823c361f240 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3405: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/ IGT_5162: e62ea305fdba2a9cd0dadfa527b54529cb0d1438 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 2019-08-30 22:30 ` [igt-dev] " Matt Roper (?) (?) @ 2019-08-31 23:15 ` Patchwork -1 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-08-31 23:15 UTC (permalink / raw) To: Matt Roper; +Cc: igt-dev == Series Details == Series: tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 URL : https://patchwork.freedesktop.org/series/66080/ State : success == Summary == CI Bug Log - changes from CI_DRM_6813_full -> IGTPW_3405_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/66080/revisions/1/mbox/ Known issues ------------ Here are the changes found in IGTPW_3405_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_nop@basic-parallel: - shard-hsw: [PASS][1] -> [INCOMPLETE][2] ([fdo#103540]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-hsw1/igt@gem_exec_nop@basic-parallel.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-hsw4/igt@gem_exec_nop@basic-parallel.html * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +12 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_workarounds@suspend-resume-context: - shard-apl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +7 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-apl3/igt@gem_workarounds@suspend-resume-context.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-apl8/igt@gem_workarounds@suspend-resume-context.html * igt@kms_flip@flip-vs-blocking-wf-vblank: - shard-apl: [PASS][7] -> [INCOMPLETE][8] ([fdo#103927]) +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-apl4/igt@kms_flip@flip-vs-blocking-wf-vblank.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-apl2/igt@kms_flip@flip-vs-blocking-wf-vblank.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw: - shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +3 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html * igt@kms_plane_lowres@pipe-a-tiling-y: - shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103166]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-y.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb8/igt@kms_plane_lowres@pipe-a-tiling-y.html * igt@kms_psr@psr2_primary_render: - shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb2/igt@kms_psr@psr2_primary_render.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb1/igt@kms_psr@psr2_primary_render.html * igt@perf_pmu@rc6-runtime-pm-long: - shard-apl: [PASS][15] -> [FAIL][16] ([fdo#105010]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-apl6/igt@perf_pmu@rc6-runtime-pm-long.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-apl2/igt@perf_pmu@rc6-runtime-pm-long.html - shard-glk: [PASS][17] -> [FAIL][18] ([fdo#105010]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-glk4/igt@perf_pmu@rc6-runtime-pm-long.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-glk4/igt@perf_pmu@rc6-runtime-pm-long.html #### Possible fixes #### * igt@gem_exec_balancer@smoke: - shard-iclb: [SKIP][19] ([fdo#110854]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb5/igt@gem_exec_balancer@smoke.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb2/igt@gem_exec_balancer@smoke.html * igt@gem_exec_schedule@preempt-other-bsd1: - shard-iclb: [SKIP][21] ([fdo#109276]) -> [PASS][22] +12 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb7/igt@gem_exec_schedule@preempt-other-bsd1.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb4/igt@gem_exec_schedule@preempt-other-bsd1.html * igt@gem_exec_schedule@preempt-other-chain-bsd: - shard-iclb: [SKIP][23] ([fdo#111325]) -> [PASS][24] +5 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb4/igt@gem_exec_schedule@preempt-other-chain-bsd.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb8/igt@gem_exec_schedule@preempt-other-chain-bsd.html * igt@gem_mmap_gtt@medium-copy-xy: - shard-apl: [INCOMPLETE][25] ([fdo#103927]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-apl2/igt@gem_mmap_gtt@medium-copy-xy.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-apl6/igt@gem_mmap_gtt@medium-copy-xy.html * igt@i915_suspend@fence-restore-untiled: - shard-apl: [DMESG-WARN][27] ([fdo#108566]) -> [PASS][28] +2 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-apl3/igt@i915_suspend@fence-restore-untiled.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-apl4/igt@i915_suspend@fence-restore-untiled.html * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: - shard-hsw: [FAIL][29] ([fdo#105767]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-hsw4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-hsw1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt: - shard-iclb: [FAIL][31] ([fdo#103167]) -> [PASS][32] +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html * igt@kms_psr@psr2_primary_blt: - shard-iclb: [SKIP][33] ([fdo#109441]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb7/igt@kms_psr@psr2_primary_blt.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb2/igt@kms_psr@psr2_primary_blt.html * igt@kms_setmode@basic: - shard-hsw: [FAIL][35] ([fdo#99912]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-hsw4/igt@kms_setmode@basic.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-hsw6/igt@kms_setmode@basic.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [SKIP][37] ([fdo#109276]) -> [FAIL][38] ([fdo#111329]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@gem_mocs_settings@mocs-settings-bsd2: - shard-iclb: [SKIP][39] ([fdo#109276]) -> [FAIL][40] ([fdo#111330]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6813/shard-iclb7/igt@gem_mocs_settings@mocs-settings-bsd2.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/shard-iclb1/igt@gem_mocs_settings@mocs-settings-bsd2.html [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010 [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854 [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325 [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329 [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (9 -> 6) ------------------------------ Missing (3): pig-skl-6260u shard-skl pig-glk-j5005 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5162 -> IGTPW_3405 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_6813: 7d8570ed21a0d6fc7083f287fcd39823c361f240 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3405: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/ IGT_5162: e62ea305fdba2a9cd0dadfa527b54529cb0d1438 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3405/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 2019-08-30 22:30 ` [igt-dev] " Matt Roper @ 2019-09-02 16:51 ` Ville Syrjälä -1 siblings, 0 replies; 8+ messages in thread From: Ville Syrjälä @ 2019-09-02 16:51 UTC (permalink / raw) To: Matt Roper; +Cc: igt-dev, intel-gfx On Fri, Aug 30, 2019 at 03:30:23PM -0700, Matt Roper wrote: > Most gen7 and gen8 platforms can't do plane scaling, so we need to > ensure the test doesn't try to do plane scaling on those platforms. The > legacy non-atomic subtest bakes these platform characteristics into the > test itself since legacy modesetting interfaces don't provide a way to > probe platform capabilities like atomic does. > > Maarten previously tried to address this with commit 24c5e0778 > ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), > but he augmented an existing test for gen9+pipeC which comes too late > since we've already turned on the plane at that point. We can fix this > by moving the test up higher; not only before we enable panel fitting, > but also before we turn on the sprite. > > Note that this still isn't a great subtest since it's very > Intel-specific, despite being part of a generic KMS test that's intended > for all vendors. A future enhancement might be to try to probe the > platform capabilities with a TEST_ONLY atomic operation before using the > legacy interfaces to actually program them. > > While touching the code, I also added some slight restructuring, added > additional comments, and broke up >80 char lines to add clarity to > what's going on. > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- > 1 file changed, 19 insertions(+), 5 deletions(-) > > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c > index 491e429f..a942294b 100644 > --- a/tests/kms_panel_fitting.c > +++ b/tests/kms_panel_fitting.c > @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) > igt_fb_set_position(&d->fb2, d->plane2, 100, 100); > igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); > igt_plane_set_position(d->plane2, 100, 100); > - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); > - igt_display_commit2(display, COMMIT_UNIVERSAL); > > /* > - * most of gen7 and all of gen8 doesn't support scaling at all. > + * Most of gen7 and all of gen8 doesn't support plane scaling > + * at all. > * > * gen9 pipe C has only 1 scaler shared with the crtc, which > * means pipe scaling can't work simultaneously with panel > @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) > * Since this is the legacy path, userspace has to know about > * the HW limitations, whereas atomic can ask. > */ > - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > + if (IS_GEN8(devid) || > + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > (IS_GEN9(devid) && pipe == PIPE_C)) > - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); > + /* same as visible area of fb => no scaling */ > + igt_plane_set_size(d->plane2, > + d->fb2.width-200, > + d->fb2.height-200); > + else > + /* > + * different than visible area of fb => plane scaling > + * active > + */ > + igt_plane_set_size(d->plane2, > + mode->hdisplay-200, > + mode->vdisplay-200); > + > + /* Plane scaling active (if possible), pfit off */ > + igt_display_commit2(display, COMMIT_UNIVERSAL); > > /* enable panel fitting along with sprite scaling */ > mode->hdisplay = 1024; > -- > 2.20.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 @ 2019-09-02 16:51 ` Ville Syrjälä 0 siblings, 0 replies; 8+ messages in thread From: Ville Syrjälä @ 2019-09-02 16:51 UTC (permalink / raw) To: Matt Roper; +Cc: igt-dev, intel-gfx On Fri, Aug 30, 2019 at 03:30:23PM -0700, Matt Roper wrote: > Most gen7 and gen8 platforms can't do plane scaling, so we need to > ensure the test doesn't try to do plane scaling on those platforms. The > legacy non-atomic subtest bakes these platform characteristics into the > test itself since legacy modesetting interfaces don't provide a way to > probe platform capabilities like atomic does. > > Maarten previously tried to address this with commit 24c5e0778 > ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), > but he augmented an existing test for gen9+pipeC which comes too late > since we've already turned on the plane at that point. We can fix this > by moving the test up higher; not only before we enable panel fitting, > but also before we turn on the sprite. > > Note that this still isn't a great subtest since it's very > Intel-specific, despite being part of a generic KMS test that's intended > for all vendors. A future enhancement might be to try to probe the > platform capabilities with a TEST_ONLY atomic operation before using the > legacy interfaces to actually program them. > > While touching the code, I also added some slight restructuring, added > additional comments, and broke up >80 char lines to add clarity to > what's going on. > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- > 1 file changed, 19 insertions(+), 5 deletions(-) > > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c > index 491e429f..a942294b 100644 > --- a/tests/kms_panel_fitting.c > +++ b/tests/kms_panel_fitting.c > @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) > igt_fb_set_position(&d->fb2, d->plane2, 100, 100); > igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); > igt_plane_set_position(d->plane2, 100, 100); > - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); > - igt_display_commit2(display, COMMIT_UNIVERSAL); > > /* > - * most of gen7 and all of gen8 doesn't support scaling at all. > + * Most of gen7 and all of gen8 doesn't support plane scaling > + * at all. > * > * gen9 pipe C has only 1 scaler shared with the crtc, which > * means pipe scaling can't work simultaneously with panel > @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) > * Since this is the legacy path, userspace has to know about > * the HW limitations, whereas atomic can ask. > */ > - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > + if (IS_GEN8(devid) || > + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > (IS_GEN9(devid) && pipe == PIPE_C)) > - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); > + /* same as visible area of fb => no scaling */ > + igt_plane_set_size(d->plane2, > + d->fb2.width-200, > + d->fb2.height-200); > + else > + /* > + * different than visible area of fb => plane scaling > + * active > + */ > + igt_plane_set_size(d->plane2, > + mode->hdisplay-200, > + mode->vdisplay-200); > + > + /* Plane scaling active (if possible), pfit off */ > + igt_display_commit2(display, COMMIT_UNIVERSAL); > > /* enable panel fitting along with sprite scaling */ > mode->hdisplay = 1024; > -- > 2.20.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 2019-09-02 16:51 ` Ville Syrjälä @ 2019-09-02 21:10 ` Matt Roper -1 siblings, 0 replies; 8+ messages in thread From: Matt Roper @ 2019-09-02 21:10 UTC (permalink / raw) To: Ville Syrjälä; +Cc: igt-dev, intel-gfx On Mon, Sep 02, 2019 at 07:51:41PM +0300, Ville Syrjälä wrote: > On Fri, Aug 30, 2019 at 03:30:23PM -0700, Matt Roper wrote: > > Most gen7 and gen8 platforms can't do plane scaling, so we need to > > ensure the test doesn't try to do plane scaling on those platforms. The > > legacy non-atomic subtest bakes these platform characteristics into the > > test itself since legacy modesetting interfaces don't provide a way to > > probe platform capabilities like atomic does. > > > > Maarten previously tried to address this with commit 24c5e0778 > > ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), > > but he augmented an existing test for gen9+pipeC which comes too late > > since we've already turned on the plane at that point. We can fix this > > by moving the test up higher; not only before we enable panel fitting, > > but also before we turn on the sprite. > > > > Note that this still isn't a great subtest since it's very > > Intel-specific, despite being part of a generic KMS test that's intended > > for all vendors. A future enhancement might be to try to probe the > > platform capabilities with a TEST_ONLY atomic operation before using the > > legacy interfaces to actually program them. > > > > While touching the code, I also added some slight restructuring, added > > additional comments, and broke up >80 char lines to add clarity to > > what's going on. > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Pushed, thanks for the review. Matt > > > --- > > tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- > > 1 file changed, 19 insertions(+), 5 deletions(-) > > > > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c > > index 491e429f..a942294b 100644 > > --- a/tests/kms_panel_fitting.c > > +++ b/tests/kms_panel_fitting.c > > @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) > > igt_fb_set_position(&d->fb2, d->plane2, 100, 100); > > igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); > > igt_plane_set_position(d->plane2, 100, 100); > > - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); > > - igt_display_commit2(display, COMMIT_UNIVERSAL); > > > > /* > > - * most of gen7 and all of gen8 doesn't support scaling at all. > > + * Most of gen7 and all of gen8 doesn't support plane scaling > > + * at all. > > * > > * gen9 pipe C has only 1 scaler shared with the crtc, which > > * means pipe scaling can't work simultaneously with panel > > @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) > > * Since this is the legacy path, userspace has to know about > > * the HW limitations, whereas atomic can ask. > > */ > > - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > > + if (IS_GEN8(devid) || > > + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > > (IS_GEN9(devid) && pipe == PIPE_C)) > > - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); > > + /* same as visible area of fb => no scaling */ > > + igt_plane_set_size(d->plane2, > > + d->fb2.width-200, > > + d->fb2.height-200); > > + else > > + /* > > + * different than visible area of fb => plane scaling > > + * active > > + */ > > + igt_plane_set_size(d->plane2, > > + mode->hdisplay-200, > > + mode->vdisplay-200); > > + > > + /* Plane scaling active (if possible), pfit off */ > > + igt_display_commit2(display, COMMIT_UNIVERSAL); > > > > /* enable panel fitting along with sprite scaling */ > > mode->hdisplay = 1024; > > -- > > 2.20.1 > > > > _______________________________________________ > > igt-dev mailing list > > igt-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/igt-dev > > -- > Ville Syrjälä > Intel -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 @ 2019-09-02 21:10 ` Matt Roper 0 siblings, 0 replies; 8+ messages in thread From: Matt Roper @ 2019-09-02 21:10 UTC (permalink / raw) To: Ville Syrjälä; +Cc: igt-dev, intel-gfx On Mon, Sep 02, 2019 at 07:51:41PM +0300, Ville Syrjälä wrote: > On Fri, Aug 30, 2019 at 03:30:23PM -0700, Matt Roper wrote: > > Most gen7 and gen8 platforms can't do plane scaling, so we need to > > ensure the test doesn't try to do plane scaling on those platforms. The > > legacy non-atomic subtest bakes these platform characteristics into the > > test itself since legacy modesetting interfaces don't provide a way to > > probe platform capabilities like atomic does. > > > > Maarten previously tried to address this with commit 24c5e0778 > > ("tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2."), > > but he augmented an existing test for gen9+pipeC which comes too late > > since we've already turned on the plane at that point. We can fix this > > by moving the test up higher; not only before we enable panel fitting, > > but also before we turn on the sprite. > > > > Note that this still isn't a great subtest since it's very > > Intel-specific, despite being part of a generic KMS test that's intended > > for all vendors. A future enhancement might be to try to probe the > > platform capabilities with a TEST_ONLY atomic operation before using the > > legacy interfaces to actually program them. > > > > While touching the code, I also added some slight restructuring, added > > additional comments, and broke up >80 char lines to add clarity to > > what's going on. > > > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Pushed, thanks for the review. Matt > > > --- > > tests/kms_panel_fitting.c | 24 +++++++++++++++++++----- > > 1 file changed, 19 insertions(+), 5 deletions(-) > > > > diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c > > index 491e429f..a942294b 100644 > > --- a/tests/kms_panel_fitting.c > > +++ b/tests/kms_panel_fitting.c > > @@ -131,11 +131,10 @@ static void test_panel_fitting(data_t *d) > > igt_fb_set_position(&d->fb2, d->plane2, 100, 100); > > igt_fb_set_size(&d->fb2, d->plane2, d->fb2.width-200, d->fb2.height-200); > > igt_plane_set_position(d->plane2, 100, 100); > > - igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); > > - igt_display_commit2(display, COMMIT_UNIVERSAL); > > > > /* > > - * most of gen7 and all of gen8 doesn't support scaling at all. > > + * Most of gen7 and all of gen8 doesn't support plane scaling > > + * at all. > > * > > * gen9 pipe C has only 1 scaler shared with the crtc, which > > * means pipe scaling can't work simultaneously with panel > > @@ -144,9 +143,24 @@ static void test_panel_fitting(data_t *d) > > * Since this is the legacy path, userspace has to know about > > * the HW limitations, whereas atomic can ask. > > */ > > - if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > > + if (IS_GEN8(devid) || > > + (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) || > > (IS_GEN9(devid) && pipe == PIPE_C)) > > - igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); > > + /* same as visible area of fb => no scaling */ > > + igt_plane_set_size(d->plane2, > > + d->fb2.width-200, > > + d->fb2.height-200); > > + else > > + /* > > + * different than visible area of fb => plane scaling > > + * active > > + */ > > + igt_plane_set_size(d->plane2, > > + mode->hdisplay-200, > > + mode->vdisplay-200); > > + > > + /* Plane scaling active (if possible), pfit off */ > > + igt_display_commit2(display, COMMIT_UNIVERSAL); > > > > /* enable panel fitting along with sprite scaling */ > > mode->hdisplay = 1024; > > -- > > 2.20.1 > > > > _______________________________________________ > > igt-dev mailing list > > igt-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/igt-dev > > -- > Ville Syrjälä > Intel -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-09-02 21:10 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-08-30 22:30 [PATCH i-g-t] tests/kms_panel_fitting: Fix plane scaling avoidance on gen7/gen8 Matt Roper 2019-08-30 22:30 ` [igt-dev] " Matt Roper 2019-08-30 23:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2019-08-31 23:15 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2019-09-02 16:51 ` [igt-dev] [PATCH i-g-t] " Ville Syrjälä 2019-09-02 16:51 ` Ville Syrjälä 2019-09-02 21:10 ` Matt Roper 2019-09-02 21:10 ` Matt Roper
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.