All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls
@ 2019-08-02 17:27 Nicholas Kazlauskas
  2019-08-02 18:14 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Nicholas Kazlauskas @ 2019-08-02 17:27 UTC (permalink / raw)
  To: igt-dev

The kms_plane_multiple@* tests fail on amdgpu with a dmesg-warn due to

"atomic remove_fb failed with -22"
"WARNING: CPU: 6 PID: 183 at drivers/gpu/drm/drm_framebuffer.c:986"

The call to drmModeRmFB essentially creates an atomic commit internally
when we drop the last reference to the FB in IGT. This commit disables
the plane associated with framebuffer.

Since the planes are iterated by increasing index in IGT the last
plane to have its framebuffer removed is the cursor plane on AMDGPU.

On AMDGPU we can't enable the cursor plane without any active hardware
planes (primary, overlay) since there is no dedicated cursor plane.

The commits to release the overlay plane fail since it's the last
remaining plane and the cursor plane is still active.

The fix to the test is to just perform a commit that disables all 3
planes at the same time before calling remove_fb.

This improves performance enables support for drivers that don't
support cursor planes being enabled without a primary or overlay.

Cc: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
---
 tests/kms_plane_multiple.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 81ed45dd..255cd34a 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -317,6 +317,8 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 		for_each_plane_on_pipe(&data->display, pipe, plane)
 			igt_plane_set_fb(plane, NULL);
 
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
 		for (int x = 0; x < c; x++)
 			igt_remove_fb(data->drm_fd, &data->fb[x]);
 	} while (!err && c < n_planes);
@@ -340,6 +342,8 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 		for_each_plane_on_pipe(&data->display, pipe, plane)
 			igt_plane_set_fb(plane, NULL);
 
+		igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
 		for (int x = 0; x < c; x++)
 			igt_remove_fb(data->drm_fd, &data->fb[x]);
 
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_plane_multiple: Commit state before remove_fb calls
  2019-08-02 17:27 [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls Nicholas Kazlauskas
@ 2019-08-02 18:14 ` Patchwork
  2019-08-04 12:02 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2019-08-19 14:14 ` [igt-dev] [PATCH i-g-t] " Li, Sun peng (Leo)
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-08-02 18:14 UTC (permalink / raw)
  To: Nicholas Kazlauskas; +Cc: igt-dev

== Series Details ==

Series: tests/kms_plane_multiple: Commit state before remove_fb calls
URL   : https://patchwork.freedesktop.org/series/64625/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6618 -> IGTPW_3316
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/64625/revisions/1/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3316 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-u3:          [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / [fdo#108569])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-icl-u3/igt@i915_selftest@live_hangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-icl-u3/igt@i915_selftest@live_hangcheck.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       [PASS][3] -> [WARN][4] ([fdo#109380])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
    - fi-kbl-7567u:       [PASS][5] -> [SKIP][6] ([fdo#109271]) +23 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - {fi-icl-guc}:       [INCOMPLETE][7] ([fdo#107713] / [fdo#109100]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-icl-guc/igt@gem_ctx_create@basic-files.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-icl-guc/igt@gem_ctx_create@basic-files.html

  * igt@i915_getparams_basic@basic-subslice-total:
    - fi-icl-dsi:         [INCOMPLETE][9] ([fdo#107713]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-icl-dsi/igt@i915_getparams_basic@basic-subslice-total.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-icl-dsi/igt@i915_getparams_basic@basic-subslice-total.html

  * igt@kms_busy@basic-flip-a:
    - fi-kbl-7567u:       [SKIP][11] ([fdo#109271] / [fdo#109278]) -> [PASS][12] +2 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
    - fi-kbl-7500u:       [SKIP][13] ([fdo#109271] / [fdo#109278]) -> [PASS][14] +2 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-blb-e6850:       [INCOMPLETE][15] ([fdo#107718]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-7500u:       [SKIP][17] ([fdo#109271]) -> [PASS][18] +23 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096


Participating hosts (55 -> 46)
------------------------------

  Missing    (9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-skl-6260u fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5120 -> IGTPW_3316

  CI-20190529: 20190529
  CI_DRM_6618: 7bef836acab541f26d5806697c13181df22f71a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3316: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/
  IGT_5120: b3138fbea79d5d7935e53530b90efe3e816236f4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_plane_multiple: Commit state before remove_fb calls
  2019-08-02 17:27 [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls Nicholas Kazlauskas
  2019-08-02 18:14 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-08-04 12:02 ` Patchwork
  2019-08-19 14:14 ` [igt-dev] [PATCH i-g-t] " Li, Sun peng (Leo)
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-08-04 12:02 UTC (permalink / raw)
  To: Nicholas Kazlauskas; +Cc: igt-dev

== Series Details ==

Series: tests/kms_plane_multiple: Commit state before remove_fb calls
URL   : https://patchwork.freedesktop.org/series/64625/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6618_full -> IGTPW_3316_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/64625/revisions/1/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3316_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@reset-stress:
    - shard-snb:          [PASS][1] -> [FAIL][2] ([fdo#109661])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-snb7/igt@gem_eio@reset-stress.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-snb5/igt@gem_eio@reset-stress.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          [PASS][3] -> [DMESG-WARN][4] ([fdo#108686])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-glk9/igt@gem_tiled_swapping@non-threaded.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-glk4/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +4 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-apl2/igt@i915_suspend@debugfs-reader.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-apl2/igt@i915_suspend@debugfs-reader.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-iclb:         [PASS][7] -> [INCOMPLETE][8] ([fdo#107713])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb4/igt@i915_suspend@fence-restore-tiled2untiled.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb7/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x256-random:
    - shard-apl:          [PASS][9] -> [FAIL][10] ([fdo#103232])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-apl4/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html

  * igt@kms_frontbuffer_tracking@fbc-stridechange:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([fdo#103167]) +5 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-stridechange.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-stridechange.html

  * igt@kms_psr@psr2_primary_blt:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#109441])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb2/igt@kms_psr@psr2_primary_blt.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb8/igt@kms_psr@psr2_primary_blt.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-apl4/igt@kms_setmode@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-apl4/igt@kms_setmode@basic.html

  
#### Possible fixes ####

  * igt@gem_tiled_swapping@non-threaded:
    - shard-apl:          [DMESG-WARN][17] ([fdo#108686]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-apl2/igt@gem_tiled_swapping@non-threaded.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-apl7/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_pm_rpm@i2c:
    - shard-hsw:          [FAIL][19] ([fdo#104097]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-hsw5/igt@i915_pm_rpm@i2c.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-hsw1/igt@i915_pm_rpm@i2c.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          [DMESG-WARN][21] ([fdo#108566]) -> [PASS][22] +4 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-apl7/igt@i915_suspend@fence-restore-tiled2untiled.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-apl7/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge:
    - shard-iclb:         [INCOMPLETE][23] ([fdo#107713]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb4/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb4/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
    - shard-iclb:         [FAIL][25] ([fdo#103167]) -> [PASS][26] +4 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-iclb:         [INCOMPLETE][27] ([fdo#107713] / [fdo#110036 ]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb7/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb7/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][29] ([fdo#109642] / [fdo#111068]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb4/igt@kms_psr2_su@page_flip.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [FAIL][31] ([fdo#108341]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb1/igt@kms_psr@no_drrs.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb3/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [SKIP][33] ([fdo#109441]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb8/igt@kms_psr@psr2_suspend.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb2/igt@kms_psr@psr2_suspend.html

  
#### Warnings ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][35] ([fdo#109349]) -> [DMESG-WARN][36] ([fdo#107724])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6618/shard-iclb4/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#104097]: https://bugs.freedesktop.org/show_bug.cgi?id=104097
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110036 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110036 
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (9 -> 5)
------------------------------

  Missing    (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5120 -> IGTPW_3316
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_6618: 7bef836acab541f26d5806697c13181df22f71a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3316: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3316/
  IGT_5120: b3138fbea79d5d7935e53530b90efe3e816236f4 @ 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_3316/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls
  2019-08-02 17:27 [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls Nicholas Kazlauskas
  2019-08-02 18:14 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2019-08-04 12:02 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-08-19 14:14 ` Li, Sun peng (Leo)
  2 siblings, 0 replies; 4+ messages in thread
From: Li, Sun peng (Leo) @ 2019-08-19 14:14 UTC (permalink / raw)
  To: Kazlauskas, Nicholas, igt-dev



On 2019-08-02 1:27 p.m., Nicholas Kazlauskas wrote:
> The kms_plane_multiple@* tests fail on amdgpu with a dmesg-warn due to
> 
> "atomic remove_fb failed with -22"
> "WARNING: CPU: 6 PID: 183 at drivers/gpu/drm/drm_framebuffer.c:986"
> 
> The call to drmModeRmFB essentially creates an atomic commit internally
> when we drop the last reference to the FB in IGT. This commit disables
> the plane associated with framebuffer.
> 
> Since the planes are iterated by increasing index in IGT the last
> plane to have its framebuffer removed is the cursor plane on AMDGPU.
> 
> On AMDGPU we can't enable the cursor plane without any active hardware
> planes (primary, overlay) since there is no dedicated cursor plane.
> 
> The commits to release the overlay plane fail since it's the last
> remaining plane and the cursor plane is still active.
> 
> The fix to the test is to just perform a commit that disables all 3
> planes at the same time before calling remove_fb.
> 
> This improves performance enables support for drivers that don't
> support cursor planes being enabled without a primary or overlay.
> 
> Cc: Leo Li <sunpeng.li@amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>

Reviewed-by: Leo Li <sunpeng.li@amd.com>

Thanks,
Leo

> ---
>  tests/kms_plane_multiple.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> index 81ed45dd..255cd34a 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -317,6 +317,8 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
>  		for_each_plane_on_pipe(&data->display, pipe, plane)
>  			igt_plane_set_fb(plane, NULL);
>  
> +		igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +
>  		for (int x = 0; x < c; x++)
>  			igt_remove_fb(data->drm_fd, &data->fb[x]);
>  	} while (!err && c < n_planes);
> @@ -340,6 +342,8 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
>  		for_each_plane_on_pipe(&data->display, pipe, plane)
>  			igt_plane_set_fb(plane, NULL);
>  
> +		igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +
>  		for (int x = 0; x < c; x++)
>  			igt_remove_fb(data->drm_fd, &data->fb[x]);
>  
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-08-19 14:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-02 17:27 [igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Commit state before remove_fb calls Nicholas Kazlauskas
2019-08-02 18:14 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-08-04 12:02 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-08-19 14:14 ` [igt-dev] [PATCH i-g-t] " Li, Sun peng (Leo)

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.