[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

intel-gpu-tools: Changes to 'upstream-unstable'



 MAINTAINERS                                     |    1 
 NEWS                                            |   43 
 benchmarks/.gitignore                           |    3 
 benchmarks/Android.mk                           |    5 
 benchmarks/Makefile.am                          |    1 
 benchmarks/Makefile.sources                     |    7 
 benchmarks/ewma.h                               |   71 
 benchmarks/gem_busy.c                           |   16 
 benchmarks/gem_exec_trace.c                     |  447 +++-
 benchmarks/gem_exec_tracer.c                    |  241 +-
 benchmarks/gem_latency.c                        |   27 
 benchmarks/gem_wsim.c                           | 2273 ++++++++++++++++++++++++
 benchmarks/ilog2.h                              |  104 +
 benchmarks/wsim/README                          |  112 +
 benchmarks/wsim/media_17i7.wsim                 |    7 
 benchmarks/wsim/media_19.wsim                   |   10 
 benchmarks/wsim/media_1n2_480p.wsim             |    9 
 benchmarks/wsim/media_1n2_asy.wsim              |    9 
 benchmarks/wsim/media_1n3_480p.wsim             |   13 
 benchmarks/wsim/media_1n3_asy.wsim              |   13 
 benchmarks/wsim/media_1n4_480p.wsim             |   17 
 benchmarks/wsim/media_1n4_asy.wsim              |   17 
 benchmarks/wsim/media_1n5_480p.wsim             |   21 
 benchmarks/wsim/media_1n5_asy.wsim              |   21 
 benchmarks/wsim/media_load_balance_17i7.wsim    |    7 
 benchmarks/wsim/media_load_balance_19.wsim      |   10 
 benchmarks/wsim/media_load_balance_4k12u7.wsim  |    4 
 benchmarks/wsim/media_load_balance_fhd26u7.wsim |   25 
 benchmarks/wsim/media_load_balance_hd01.wsim    |   25 
 benchmarks/wsim/media_load_balance_hd06mp2.wsim |    4 
 benchmarks/wsim/media_load_balance_hd12.wsim    |    4 
 benchmarks/wsim/media_load_balance_hd17i4.wsim  |    7 
 benchmarks/wsim/media_mfe2_480p.wsim            |    9 
 benchmarks/wsim/media_mfe3_480p.wsim            |   13 
 benchmarks/wsim/media_mfe4_480p.wsim            |   17 
 benchmarks/wsim/media_nn_1080p.wsim             |    5 
 benchmarks/wsim/media_nn_1080p_s1.wsim          |    8 
 benchmarks/wsim/media_nn_1080p_s2.wsim          |   10 
 benchmarks/wsim/media_nn_1080p_s3.wsim          |   11 
 benchmarks/wsim/media_nn_480p.wsim              |    5 
 benchmarks/wsim/vcs1.wsim                       |   26 
 benchmarks/wsim/vcs_balanced.wsim               |   26 
 configure.ac                                    |   26 
 demos/Android.mk                                |    3 
 dev/null                                        |binary
 lib/Android.mk                                  |    7 
 lib/Makefile.am                                 |    7 
 lib/Makefile.sources                            |   10 
 lib/drm_mm_selftests.h                          |   24 
 lib/drmtest.c                                   |   17 
 lib/drmtest.h                                   |    1 
 lib/i915_live_selftests.h                       |   19 
 lib/i915_mock_selftests.h                       |   20 
 lib/i915_pciids.h                               |   24 
 lib/igt.h                                       |    2 
 lib/igt_aux.c                                   |   47 
 lib/igt_aux.h                                   |    9 
 lib/igt_chamelium.h                             |    3 
 lib/igt_core.c                                  |   26 
 lib/igt_core.h                                  |    1 
 lib/igt_debugfs.c                               |  410 ++--
 lib/igt_debugfs.h                               |   34 
 lib/igt_dummyload.c                             |   85 
 lib/igt_dummyload.h                             |    4 
 lib/igt_gt.c                                    |   81 
 lib/igt_gt.h                                    |    5 
 lib/igt_kmod.c                                  |   55 
 lib/igt_kmod.h                                  |   14 
 lib/igt_kms.c                                   |  341 ++-
 lib/igt_kms.h                                   |    8 
 lib/igt_rand.c                                  |   19 
 lib/igt_rand.h                                  |    2 
 lib/igt_sysfs.c                                 |    6 
 lib/intel_device_info.c                         |   11 
 lib/intel_io.h                                  |    2 
 lib/intel_mmio.c                                |    4 
 lib/intel_os.c                                  |    9 
 lib/ioctl_wrappers.c                            |   53 
 lib/ioctl_wrappers.h                            |    6 
 lib/sw_sync.c                                   |    8 
 lib/tests/.gitignore                            |    1 
 lib/tests/Android.mk                            |    4 
 lib/tests/Makefile.sources                      |    1 
 lib/tests/igt_hdmi_inject.c                     |   96 +
 overlay/Makefile.am                             |    2 
 overlay/gpu-perf.c                              |   26 
 overlay/gpu-perf.h                              |    1 
 overlay/gpu-top.c                               |    3 
 overlay/overlay.c                               |    5 
 scripts/Makefile.am                             |    2 
 scripts/media-bench.pl                          |  609 ++++++
 scripts/trace.pl                                | 1086 +++++++++++
 tests/Android.mk                                |    9 
 tests/Makefile.am                               |   37 
 tests/Makefile.sources                          |  256 +-
 tests/amdgpu/amd_basic.c                        | 1427 +++++++++++++++
 tests/amdgpu/amd_cs_nop.c                       |  245 ++
 tests/amdgpu/amd_prime.c                        |  430 ++++
 tests/chamelium.c                               |   20 
 tests/drm_import_export.c                       |    4 
 tests/drm_mm.c                                  |   17 
 tests/drm_vma_limiter_cached.c                  |    1 
 tests/drv_hangman.c                             |    7 
 tests/drv_missed_irq.c                          |   80 
 tests/drv_module_reload.c                       |   17 
 tests/drv_selftest.c                            |   25 
 tests/drv_suspend.c                             |    8 
 tests/feat_profile.json                         |  111 +
 tests/gem_bad_blit.c                            |    1 
 tests/gem_bad_reloc.c                           |    4 
 tests/gem_busy.c                                |   31 
 tests/gem_caching.c                             |    1 
 tests/gem_concurrent_all.c                      |    6 
 tests/gem_cs_prefetch.c                         |   10 
 tests/gem_cs_tlb.c                              |    2 
 tests/gem_ctx_create.c                          |   22 
 tests/gem_ctx_thrash.c                          |    3 
 tests/gem_double_irq_loop.c                     |    1 
 tests/gem_eio.c                                 |    2 
 tests/gem_exec_async.c                          |    9 
 tests/gem_exec_await.c                          |  393 ++++
 tests/gem_exec_blt.c                            |    2 
 tests/gem_exec_capture.c                        |  179 +
 tests/gem_exec_fence.c                          |  306 ++-
 tests/gem_exec_flush.c                          |   30 
 tests/gem_exec_gttfill.c                        |   19 
 tests/gem_exec_latency.c                        |    5 
 tests/gem_exec_nop.c                            |  183 +
 tests/gem_exec_parallel.c                       |   16 
 tests/gem_exec_parse.c                          |    2 
 tests/gem_exec_reloc.c                          |  173 +
 tests/gem_exec_schedule.c                       |   72 
 tests/gem_exec_store.c                          |  127 +
 tests/gem_exec_suspend.c                        |   25 
 tests/gem_exec_whisper.c                        |   68 
 tests/gem_hangcheck_forcewake.c                 |    1 
 tests/gem_media_fill.c                          |    2 
 tests/gem_mmap_gtt.c                            |   21 
 tests/gem_mmap_wc.c                             |   24 
 tests/gem_mocs_settings.c                       |   14 
 tests/gem_partial_pwrite_pread.c                |    1 
 tests/gem_persistent_relocs.c                   |    3 
 tests/gem_pipe_control_store_loop.c             |    2 
 tests/gem_ppgtt.c                               |   16 
 tests/gem_pread_after_blit.c                    |    1 
 tests/gem_pwrite.c                              |    6 
 tests/gem_read_read_speed.c                     |    1 
 tests/gem_reloc_vs_gpu.c                        |    2 
 tests/gem_render_linear_blits.c                 |    3 
 tests/gem_render_tiled_blits.c                  |    3 
 tests/gem_ringfill.c                            |   11 
 tests/gem_seqno_wrap.c                          |   77 
 tests/gem_set_tiling_vs_blt.c                   |    1 
 tests/gem_shrink.c                              |   43 
 tests/gem_softpin.c                             |    1 
 tests/gem_spin_batch.c                          |   47 
 tests/gem_storedw_batches_loop.c                |    1 
 tests/gem_storedw_loop.c                        |   13 
 tests/gem_sync.c                                |   16 
 tests/gem_tiled_pread_pwrite.c                  |   69 
 tests/gem_tiled_swapping.c                      |    9 
 tests/gem_unref_active_buffers.c                |    1 
 tests/gem_userptr_blits.c                       |   90 
 tests/gem_workarounds.c                         |   17 
 tests/gem_write_read_ring_switch.c              |    1 
 tests/igt_command_line.sh                       |   52 
 tests/intel-ci/Makefile.am                      |    7 
 tests/intel-ci/README                           |   15 
 tests/intel-ci/extended.testlist                | 1839 +++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist           |    7 
 tests/intel-ci/generic.testlist                 |  125 +
 tests/intel-ci/meta.testlist                    |    7 
 tests/kms_atomic.c                              |   82 
 tests/kms_atomic_transition.c                   |    4 
 tests/kms_ccs.c                                 |    4 
 tests/kms_chv_cursor_fail.c                     |    4 
 tests/kms_concurrent.c                          |  429 ++++
 tests/kms_crtc_background_color.c               |    4 
 tests/kms_cursor_crc.c                          |   12 
 tests/kms_cursor_legacy.c                       |  130 -
 tests/kms_draw_crc.c                            |    2 
 tests/kms_fbc_crc.c                             |    8 
 tests/kms_fbcon_fbt.c                           |   44 
 tests/kms_flip.c                                |    2 
 tests/kms_flip_tiling.c                         |   10 
 tests/kms_frontbuffer_tracking.c                |   50 
 tests/kms_hdmi_inject.c                         |  272 ++
 tests/kms_invalid_dotclock.c                    |    6 
 tests/kms_mmap_write_crc.c                      |    4 
 tests/kms_mmio_vs_cs_flip.c                     |    8 
 tests/kms_pipe_color.c                          |    5 
 tests/kms_pipe_crc_basic.c                      |   89 
 tests/kms_plane.c                               |    4 
 tests/kms_plane_lowres.c                        |   14 
 tests/kms_plane_multiple.c                      |    4 
 tests/kms_plane_scaling.c                       |    4 
 tests/kms_properties.c                          |   64 
 tests/kms_psr_sink_crc.c                        |   19 
 tests/kms_pwrite_crc.c                          |    4 
 tests/kms_render.c                              |    1 
 tests/kms_rotation_crc.c                        |  273 +-
 tests/kms_setmode.c                             |   24 
 tests/kms_sink_crc_basic.c                      |   44 
 tests/kms_universal_plane.c                     |   18 
 tests/kms_vblank.c                              |  185 +
 tests/meta_test.c                               |  149 +
 tests/perf.c                                    |   36 
 tests/pm_lpsp.c                                 |    2 
 tests/pm_rc6_residency.c                        |   52 
 tests/pm_rpm.c                                  |   73 
 tests/pm_rps.c                                  |   86 
 tests/pm_sseu.c                                 |   33 
 tests/prime_busy.c                              |   10 
 tests/prime_mmap_coherency.c                    |   41 
 tests/prime_mmap_kms.c                          |    2 
 tests/prime_vgem.c                              |   22 
 tests/testdisplay_hotplug.c                     |    2 
 tests/vc4_dmabuf_poll.c                         |   85 
 tests/vgem_basic.c                              |    3 
 tools/Android.mk                                |   14 
 tools/Makefile.am                               |    1 
 tools/aubdump.c                                 |    5 
 tools/intel_display_crc.c                       |    2 
 tools/intel_display_poller.c                    |    8 
 tools/intel_dp_compliance.c                     |   16 
 tools/intel_error_decode.c                      |  187 +
 tools/intel_forcewaked.c                        |   10 
 tools/intel_gpu_top.c                           |    8 
 tools/intel_guc_logger.c                        |   10 
 tools/intel_gvtg_test.c                         |    2 
 tools/intel_infoframes.c                        |    7 
 tools/intel_l3_parity.c                         |    4 
 tools/intel_l3_parity.h                         |    2 
 tools/intel_l3_udev_listener.c                  |    2 
 tools/intel_panel_fitter.c                      |    9 
 tools/intel_perf_counters.c                     |    2 
 tools/intel_reg.c                               |   11 
 tools/intel_watermark.c                         |   23 
 238 files changed, 14319 insertions(+), 2305 deletions(-)

New commits:
commit d492abfbad687d3c5f343b836da4c7316a57ba77
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Jun 9 16:27:11 2017 +0300

    Update NEWS, bump version to 1.19.
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>

diff --git a/NEWS b/NEWS
index bb893a3..80136fa 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,46 @@
+Release 1.19 (2017-06-09)
+-------------------------
+
+Library changes:
+
+- Changed debugfs handlers to open files for the DRM device in use,
+  for setups with more than one DRM device. (Tomeu Vizoso)
+
+- Added support for 4K and audio HDMI EDID injection. (Abdiel
+  Janulgue, Marius Vlad)
+
+- Added support for AMDGPU devices. (Chris Wilson)
+
+Tools changes:
+
+- intel_error_decode now automatically opens a pager. (Chris Wilson)
+
+- intel_error_decode now dumps the GuC firmware logs if available.
+  (Chris Wilson)
+
+Benchmark changes:
+
+- gem_wsim: New benchmark that simulates command submission
+  workloads. (Tvrtko Ursulin)
+
+Scripts changes:
+
+- trace.pl: New tool to parse i915 tracepoints for performance
+  analysis. (Tvrtko Ursulin)
+
+- media-bench.pl: New tool to programmatically analyze simulated media
+  workloads using gem_wsim to find the optimal load balancing
+  strategy. (Tvrtko Ursulin)
+
+Test changes:
+
+- Imported amdgpu tests from libdrm. (Chris Wilson)
+
+- Multiple other new tests.
+
+
+And many other bug fixes and improvements.
+
 Release 1.18 (2017-03-13)
 -------------------------
 
diff --git a/configure.ac b/configure.ac
index fa0593b..0418e60 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ([2.60])
 AC_INIT([intel-gpu-tools],
-	[1.18],
+	[1.19],
 	[https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=IGT],
 	[intel-gpu-tools])
 

commit a493e058325d5bd34a77be3a16d646031dadcdb4
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Jun 9 15:46:07 2017 +0300

    Fix a couple of typos CLFAGS -> CFLAGS
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>

diff --git a/overlay/Makefile.am b/overlay/Makefile.am
index 92e0bc8..5472514 100644
--- a/overlay/Makefile.am
+++ b/overlay/Makefile.am
@@ -4,7 +4,7 @@ endif
 
 AM_CPPFLAGS = -I.
 AM_CFLAGS = $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \
-	$(CAIRO_CFLAGS) $(OVERLAY_CFLAGS) $(WERROR_CLFAGS)
+	$(CAIRO_CFLAGS) $(OVERLAY_CFLAGS) $(WERROR_CFLAGS)
 LDADD = $(DRM_LIBS) $(PCIACCESS_LIBS) $(CAIRO_LIBS) $(OVERLAY_LIBS)
 
 intel_gpu_overlay_SOURCES = \
diff --git a/tools/Makefile.am b/tools/Makefile.am
index c1a797a..18a67ef 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -9,7 +9,7 @@ endif
 
 if HAVE_UDEV
 bin_PROGRAMS += intel_dp_compliance
-intel_dp_compliance_CFLAGS = $(AM_CFLAGS) $(GLIB_CLFAGS)
+intel_dp_compliance_CFLAGS = $(AM_CFLAGS) $(GLIB_CFLAGS)
 intel_dp_compliance_LDADD = $(top_builddir)/lib/libintel_tools.la $(GLIB_LIBS)
 endif
 

commit 09e666d2396c4d0df362809bf5498ab61079d11e
Author: Brian Starkey <brian.starkey@arm.com>
Date:   Mon Jun 5 14:28:40 2017 +0100

    lib/igt_debugfs: Only use valid values in igt_crc_to_str()
    
    Not all elements in the crc array may be valid, so only use the valid
    ones to generate the string.
    
    Signed-off-by: Brian Starkey <brian.starkey@arm.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index f5ed3da..80f25c6 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -312,10 +312,11 @@ void igt_assert_crc_equal(const igt_crc_t *a, const igt_crc_t *b)
  */
 char *igt_crc_to_string(igt_crc_t *crc)
 {
-	char buf[128];
+	int i;
+	char buf[128] = { 0 };
 
-	sprintf(buf, "%08x %08x %08x %08x %08x", crc->crc[0],
-		crc->crc[1], crc->crc[2], crc->crc[3], crc->crc[4]);
+	for (i = 0; i < crc->n_words; i++)
+		sprintf(buf + strlen(buf), "%08x ", crc->crc[i]);
 
 	return strdup(buf);
 }

commit 4bdcd335961203c07a37aaebf6c441814a6555fa
Author: Brian Starkey <brian.starkey@arm.com>
Date:   Mon Jun 5 14:28:39 2017 +0100

    lib/igt_debugfs: Remove igt_debugfs_t
    
    It's not used anymore, so remove it.
    
    Signed-off-by: Brian Starkey <brian.starkey@arm.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index 7584be5..f5ed3da 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -84,11 +84,6 @@
  * General debugfs helpers
  */
 
-typedef struct {
-	char root[128];
-	char dri_path[128];
-} igt_debugfs_t;
-
 static bool is_mountpoint(const char *path)
 {
 	char buf[strlen(path) + 4];

commit bf2a10392eaca70e18163dec40e8bbfcdb54c8ba
Author: Brian Starkey <brian.starkey@arm.com>
Date:   Mon Jun 5 14:28:37 2017 +0100

    lib/igt_kms: Fix erroneous assert
    
    In trying to fix igt_display_init() for devices without cursors, I
    actually made matters worse. Fix the assert.
    
    Fixes: 545aa3398223 lib/igt_kms: Remove redundant cursor code
    Signed-off-by: Brian Starkey <brian.starkey@arm.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index c77716b..5e2ef97 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1794,11 +1794,11 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		 */
 		igt_assert_eq(pipe->plane_primary, 0);
 
-		/*
-		 * There should be no gaps. If there is, something happened
-		 * which we can't handle (e.g. all planes are cursors).
-		 */
-		igt_assert_eq(p, last_plane);
+		/* Check that we filled every slot exactly once */
+		if (display->has_cursor_plane)
+			igt_assert_eq(p, last_plane);
+		else
+			igt_assert_eq(p, n_planes);
 
 		pipe->n_planes = n_planes;
 

commit b5a899316447a357e35b1cd095bdcae98fff5bcf
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Jun 9 14:36:19 2017 +0300

    intel-ci: Document the public CI results web page
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/tests/intel-ci/README b/tests/intel-ci/README
index ae92460..d17922e 100644
--- a/tests/intel-ci/README
+++ b/tests/intel-ci/README
@@ -24,6 +24,9 @@ fast-feedback.testlist
 Fast-feedback is the testlist that is run for Patchwork and Trybot
 testing. It is also run on various drm-intel-* branches.
 
+The results of CI runs on drm-tip can be found in
+https://intel-gfx-ci.01.org/CI/
+
 Time limit: Full run must complete in 15 minutes on all tested
 platforms.
 

commit 8648655f6f00119f5546f254ddedee6621c8a1de
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Jun 9 14:32:17 2017 +0300

    intel-ci: Have the directory included in the distributed tarballs
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/configure.ac b/configure.ac
index 5f80b08..fa0593b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -360,6 +360,7 @@ AC_CONFIG_FILES([
 		 man/Makefile
 		 scripts/Makefile
 		 tests/Makefile
+		 tests/intel-ci/Makefile
 		 tools/Makefile
 		 tools/null_state_gen/Makefile
 		 tools/registers/Makefile
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 873850d..b051364 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,7 @@
 include Makefile.sources
 
+SUBDIRS = intel-ci
+
 if HAVE_LIBDRM_AMDGPU
     TESTS_progs += $(AMDGPU_TESTS)
 endif
diff --git a/tests/intel-ci/Makefile.am b/tests/intel-ci/Makefile.am
new file mode 100644
index 0000000..9fb9744
--- /dev/null
+++ b/tests/intel-ci/Makefile.am
@@ -0,0 +1,7 @@
+EXTRA_DIST = \
+	extended.testlist \
+	fast-feedback.testlist \
+	generic.testlist \
+	meta.testlist \
+	README \
+	$(NULL)

commit bacc37beac8ced1fb45374608080c842bdbd6ce4
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Mar 17 14:38:58 2017 +0200

    tests/Makefile.am: Only ignore generated gitignore in gitignore
    
    When generating the .gitignore file, use /.gitignore instead of
    .gitignore to not have it apply to subdirectories.
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9a1c770..873850d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,7 +52,7 @@ dist_pkgdata_DATA = \
 
 all-local: .gitignore
 .gitignore: Makefile.sources
-	@echo "$(pkglibexec_PROGRAMS) $(HANG) test-list.txt test-list-full.txt .gitignore" | sed 's/\s\+/\n/g' | sort > $@
+	@echo "$(pkglibexec_PROGRAMS) $(HANG) test-list.txt test-list-full.txt /.gitignore" | sed 's/\s\+/\n/g' | sort > $@
 
 pkgdata_DATA = test-list.txt test-list-full.txt
 

commit 5b13b8f91cc7a6e274d00890a9f0659b52e9ff45
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Fri Mar 17 15:07:56 2017 +0200

    intel-ci: Add comments on test order to fast-feedback.testlist
    
    Document the test ordering choices in fast-feedback.testlist.
    
    For comments in testlists, piglit commit
    
     commit 0c535186d624071098c10003fdafe8f475ed9ae7
     Author: Petri Latvala <petri.latvala@intel.com>
     Date:   Wed Feb 1 12:57:45 2017 +0200
    
        framework/programs/run.py: Allow comments in test-list files.
    
    is required.
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 5ffa2ce..ce7a41f 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,3 +1,5 @@
+# Keep alphabetically sorted by default
+
 igt@core_auth@basic-auth
 igt@core_prop_blob@basic
 igt@drv_getparams_basic@basic-eu-total
@@ -270,6 +272,11 @@ igt@vgem_basic@dmabuf-mmap
 igt@vgem_basic@mmap
 igt@vgem_basic@second-client
 igt@vgem_basic@sysfs
+
+# All tests that do module unloading and reloading are executed last.
+# They will sometimes reveal issues of earlier tests leaving the
+# driver in a broken state that is not otherwise noticed in that test.
+
 igt@vgem_basic@unload
 igt@drv_module_reload@basic-reload
 igt@drv_module_reload@basic-no-display

commit b642e1d78fd1ad70cf6b726aae26150a02343c40
Author: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
Date:   Wed Jun 7 16:29:59 2017 +0200

    tests/pm_rps: Replace custom load function with dummy load
    
    Replaced custom load implementation with lib counterpart.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
    Signed-off-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index 4a21de4..f0455e7 100644
--- a/tests/pm_rps.c
+++ b/tests/pm_rps.c
@@ -560,58 +560,21 @@ static void reset_gpu(void)
 	close(fd);
 }
 
-static uint32_t *make_busy(int fd, uint32_t handle)
+static void boost_freq(int fd, int *boost_freqs)
 {
-	const int gen = intel_gen(intel_get_drm_devid(fd));
-	struct drm_i915_gem_exec_object2 obj;
-	struct drm_i915_gem_relocation_entry reloc;
-	struct drm_i915_gem_execbuffer2 execbuf;
-	uint32_t *batch;
-	int i;
+	int64_t timeout = 1;
+	int ring = -1;
+	igt_spin_t *load;
 
-	memset(&execbuf, 0, sizeof(execbuf));
-	execbuf.buffers_ptr = (uintptr_t)&obj;
-	execbuf.buffer_count = 1;
-
-	memset(&obj, 0, sizeof(obj));
-	obj.handle = handle;
-
-	obj.relocs_ptr = (uintptr_t)&reloc;
-	obj.relocation_count = 1;
-	memset(&reloc, 0, sizeof(reloc));
-
-	batch = gem_mmap__wc(fd, obj.handle, 0, 4096, PROT_WRITE);
-	gem_set_domain(fd, obj.handle,
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
-
-	reloc.target_handle = obj.handle; /* recurse */
-	reloc.presumed_offset = 0;
-	reloc.offset = sizeof(uint32_t);
-	reloc.delta = 0;
-	reloc.read_domains = I915_GEM_DOMAIN_COMMAND;
-	reloc.write_domain = 0;
-
-	i = 0;
-	batch[i] = MI_BATCH_BUFFER_START;
-	if (gen >= 8) {
-		batch[i] |= 1 << 8 | 1;
-		batch[++i] = 0;
-		batch[++i] = 0;
-	} else if (gen >= 6) {
-		batch[i] |= 1 << 8;
-		batch[++i] = 0;
-	} else {
-		batch[i] |= 2 << 6;
-		batch[++i] = 0;
-		if (gen < 4) {
-			batch[i] |= 1;
-			reloc.delta = 1;
-		}
-	}
-	i++;
+	load = igt_spin_batch_new(fd, ring, 0);
 
-	gem_execbuf(fd, &execbuf);
-	return batch;
+	/* Waiting will grant us a boost to maximum */
+	gem_wait(fd, load->handle, &timeout);
+
+	read_freqs(boost_freqs);
+	dump(boost_freqs);
+
+	igt_spin_batch_free(fd, load);
 }
 
 static void waitboost(bool reset)
@@ -619,15 +582,9 @@ static void waitboost(bool reset)
 	int pre_freqs[NUMFREQ];
 	int boost_freqs[NUMFREQ];
 	int post_freqs[NUMFREQ];
-	uint32_t *batch, handle;
-	int64_t timeout = 1;
 
 	int fd = drm_open_driver(DRIVER_INTEL);
 
-	/* When we wait upon the GPU, we want to temporarily boost it
-	 * to maximum.
-	 */
-
 	load_helper_run(LOW);
 
 	igt_debug("Apply low load...\n");
@@ -640,15 +597,10 @@ static void waitboost(bool reset)
 		sleep(1);
 	}
 
-	igt_debug("Wait for gpu...\n");
-	handle = gem_create(fd, 4096);
-	batch = make_busy(fd, handle);
-	gem_wait(fd, handle, &timeout);
-	read_freqs(boost_freqs);
-	dump(boost_freqs);
-	*batch = MI_BATCH_BUFFER_END;
-	munmap(batch, 4096);
-	gem_close(fd, handle);
+	/* When we wait upon the GPU, we want to temporarily boost it
+	 * to maximum.
+	 */
+	boost_freq(fd, boost_freqs);
 
 	igt_debug("Apply low load again...\n");
 	sleep(1);

commit 9623c628c54482270f5e4f30df69c1954b105e29
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Fri Jun 9 11:51:57 2017 +0100

    media-bench.pl: Add automatic per-client target mode
    
    It is useful to be able to specify wps target relative to single
    client performance when evaluating multiple workloads.
    
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

diff --git a/scripts/media-bench.pl b/scripts/media-bench.pl
index 13e5fdc..0956ef0 100755
--- a/scripts/media-bench.pl
+++ b/scripts/media-bench.pl
@@ -40,6 +40,7 @@ my $gt2 = 0;
 my $show_cmds = 0;
 my $realtime_target = 0;
 my $wps_target = 0;
+my $wps_target_param = 0;
 my $w_direct;
 my $balancer;
 my $nop;
@@ -294,7 +295,8 @@ sub find_saturation_point
 			$r = int($rr * ($client_target_s / $time));
 		} elsif ($c == 1) {
 			$swps = $wps;
-			return ($c, $wps, $swps) if $wcnt > 1;
+			return ($c, $wps, $swps) if $wcnt > 1 or
+						    ($wps_target_param < 0 and $wps_target == 0);
 		}
 
 		$last_wps = $wps;
@@ -328,6 +330,8 @@ Supported options:
   -i pct      Engine idleness tolerance.
   -R wps      Run workloads in the real-time mode at wps rate.
   -T wps      Calibrate up to wps/client target instead of GPU saturation.
+              Negative values set the target based on the single client
+	      performance where target = single-client-wps / -N.
   -w str      Pass-through to gem_wsim. Overrides normal workload selection.
 ENDHELP
 	exit 0;
@@ -348,6 +352,7 @@ $tolerance = $opts{'t'} / 100.0 if defined $opts{'t'};
 $idle_tolerance_pct = $opts{'i'} if defined $opts{'i'};
 $realtime_target = $opts{'R'} if defined $opts{'R'};
 $wps_target = $opts{'T'} if defined $opts{'T'};
+$wps_target_param = $wps_target;
 $w_direct = $opts{'w'} if defined $opts{'w'};
 
 @workloads =  ($w_direct ) if defined $w_direct;
@@ -437,15 +442,27 @@ foreach my $wrk (@workloads) {
 					print "    No balancing: ";
 				}
 
+				$wps_target = 0 if $wps_target_param < 0;
+
 				($c, $w, $s) = find_saturation_point($wrk, $r,
 								     0,
 								     (@args,
 								      @xargs));
 
+				if ($wps_target_param < 0) {
+					$wps_target = $s / -$wps_target_param;
+
+					($c, $w, $s) =
+						find_saturation_point($wrk, $r,
+								      0,
+								      (@args,
+								       @xargs));
+				}
+
 				$wps{$bid} = $w;
 				$cwps{$bid} = $s;
 
-				if ($realtime_target > 0 || $wps_target > 0) {
+				if ($realtime_target > 0 || $wps_target_param > 0) {
 					$mwps{$bid} = $w * $c;
 				} else {
 					$mwps{$bid} = $w + $s;

commit aa57274568158dcf5b4726b4398bf448fea79855
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Fri Jun 9 11:51:03 2017 +0100

    trace.pl: Handle multi-day uptime
    
    Handle multi-day uptime when parsing tracepoint timestamps.
    
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

diff --git a/scripts/trace.pl b/scripts/trace.pl
index 1c7b3fa..aed9b20 100755
--- a/scripts/trace.pl
+++ b/scripts/trace.pl
@@ -400,7 +400,7 @@ sub sanitize_ctx
 sub ts
 {
 	my ($us) = @_;
-	my ($h, $m, $s);
+	my ($d, $h, $m, $s);
 
 	$s = int($us / 1000000);
 	$us = $us % 1000000;
@@ -411,7 +411,11 @@ sub ts
 	$h = int($m / 60);
 	$m = $m % 60;
 
-	return sprintf('2017-01-01 %02u:%02u:%02u.%06u', int($h), int($m), int($s), int($us));
+	$d = 1 + int($h / 24);
+	$h = $h % 24;
+
+	return sprintf('2017-01-%02u %02u:%02u:%02u.%06u',
+		       int($d), int($h), int($m), int($s), int($us));
 }
 
 # Main input loop - parse lines and build the internal representation of the

commit a663424e2a5ebf3c8e9ab743143e0856f978f7d6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jun 7 11:32:50 2017 +0100

    Revert "kms_cursor_legacy: Add a burner thread to make basic-busy-* pass."
    
    This reverts commit 7c8703fb02b248c2bcf9756bba8812bcfe7ed5d3.
    
    If we expect it to fail until we find a solution, let the hw fail and
    continue to track the known failure in CI/bugs.
    
    Cc: Martin Peres <martin.peres@linux.intel.com>
    Acked-by: Martin Peres <martin.peres@linux.intel.com>

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 2eb1d1b..ac05ca5 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -618,23 +618,9 @@ static void basic_flip_cursor(igt_display_t *display,
 		do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg[0]);
 
 		busy = NULL;
-		if (flags & BASIC_BUSY) {
+		if (flags & BASIC_BUSY)
 			busy = make_fb_busy(display->drm_fd, &fb_info);
 
-			/*
-			 * Prevent going into C3 or higher state
-			 * or we may miss vblank interrupts on SNB.
-			 */
-			igt_fork(child, 1) {
-				struct sched_param parm = { .sched_priority = 0 };
-
-				igt_assert(sched_setscheduler(0, SCHED_IDLE, &parm) == 0);
-
-				while (*busy != MI_BATCH_BUFFER_END)
-					sched_yield();
-			}
-		}
-
 		/* Start with a synchronous query to align with the vblank */
 		vblank_start = get_vblank(display->drm_fd, pipe, DRM_VBLANK_NEXTONMISS);
 
@@ -699,8 +685,6 @@ static void basic_flip_cursor(igt_display_t *display,
 
 		delta = get_vblank(display->drm_fd, pipe, 0) - vblank_start;
 
-		igt_waitchildren();
-
 		if (!mode_requires_extra_vblank(mode))
 			miss2 += delta != 1;
 		else

commit 73bb3fa53e8ebb05a4e4505e2c7fd0a50b0f07c7
Author: Petri Latvala <petri.latvala@intel.com>
Date:   Thu Jun 8 15:23:09 2017 +0300

    tests: Merge single_kernel_tests and multi_kernel_tests in the build system
    
    The separation of testcases with and without subtests in the build
    system was used in the past, but now both are handled the same
    way. Merge them together and finally forget about the difference
    between TESTS_progs and TESTS_progs_M.
    
    Signed-off-by: Petri Latvala <petri.latvala@intel.com>
    Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 12cc6dc..9a1c770 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,19 +1,19 @@
 include Makefile.sources
 
 if HAVE_LIBDRM_AMDGPU
-    TESTS_progs_M += $(AMDGPU_TESTS_M)
+    TESTS_progs += $(AMDGPU_TESTS)
 endif
 
 if HAVE_LIBDRM_NOUVEAU
-    TESTS_progs_M += $(NOUVEAU_TESTS_M)
+    TESTS_progs += $(NOUVEAU_TESTS)
 endif
 
 if HAVE_LIBDRM_VC4
-    TESTS_progs_M += $(VC4_TESTS_M)
+    TESTS_progs += $(VC4_TESTS)
 endif
 
 if HAVE_CHAMELIUM
-TESTS_progs_M += \
+TESTS_progs += \
 	chamelium \
 	$(NULL)
 endif
@@ -21,12 +21,12 @@ endif
 if BUILD_TESTS
 test-list.txt: Makefile.sources
 	@echo TESTLIST > $@
-	@echo ${single_kernel_tests} ${multi_kernel_tests} >> $@
+	@echo ${kernel_tests} >> $@
 	@echo END TESTLIST >> $@
 
 test-list-full.txt: Makefile.sources
 	@echo TESTLIST > $@
-	@echo ${single_kernel_tests} ${multi_kernel_tests} ${extra_multi_kernel_tests} >> $@
+	@echo ${kernel_tests} ${extra_kernel_tests} >> $@
 	@echo END TESTLIST >> $@
 
 
@@ -38,13 +38,11 @@ noinst_PROGRAMS = \
 pkglibexec_PROGRAMS = \
 	gem_stress \
 	$(TESTS_progs) \
-	$(TESTS_progs_M) \
-	$(TESTS_progs_XM) \
+	$(TESTS_progs_X) \
 	$(NULL)
 
 dist_pkglibexec_SCRIPTS = \
 	$(TESTS_scripts) \
-	$(TESTS_scripts_M) \
 	$(scripts) \
 	$(NULL)
 
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 14ea5b6..dafb028 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -1,10 +1,10 @@
-NOUVEAU_TESTS_M = \
+NOUVEAU_TESTS = \
 	prime_nv_api \
 	prime_nv_pcopy \
 	prime_nv_test \
 	$(NULL)
 
-VC4_TESTS_M = \
+VC4_TESTS = \
 	vc4_create_bo \
 	vc4_dmabuf_poll \
 	vc4_lookup_fail \
@@ -12,30 +12,53 @@ VC4_TESTS_M = \
 	vc4_wait_seqno \
 	$(NULL)
 
-AMDGPU_TESTS_M = \
+AMDGPU_TESTS = \
 	amdgpu/amd_basic \
 	amdgpu/amd_cs_nop \
 	amdgpu/amd_prime \
 	$(NULL)
 
-TESTS_progs_M = \
+TESTS_progs = \
+	core_auth \
 	core_get_client_auth \
+	core_getclient \
+	core_getstats \
+	core_getversion \
+	core_prop_blob \
+	core_setmaster_vs_auth \
+	drm_import_export \
 	drm_mm \
+	drm_read \
+	drm_vma_limiter \
+	drm_vma_limiter_cached \
+	drm_vma_limiter_cpu \
+	drm_vma_limiter_gtt \
 	drv_getparams_basic \
+	drv_hangman \
+	drv_missed_irq \
+	drv_module_reload \


Reply to: