1. 02 Aug, 2018 5 commits
    • Tvrtko Ursulin's avatar
      lib/igt_pm: Find HDA device when attempting to enable runtime PM · b29101e5
      Tvrtko Ursulin authored
      HDA audio device can be present at various PCI paths on different systems
      which the existing code did not account for.
      
      Furthermore the failure to enable runtime PM was silent leaving callers
      in the dark.
      
      Improve it by auto-locating the PCI path and logging a warning when
      something is not as expected.
      
      v2:
       * If there is no audio hw/driver there is no failure.
      
      v3:
       * Comment.
       * Skip non-symlinks.
       * Free path on failure and restore.
       * Simplify with asprintf. (Chris Wilson)
      
      v4:
       * Find snd_hda_intel instance tied with an Intel device.
      
      v5:
       * Fix memory leak and silence Valgrind warning.
      
      v6:
       * Fix error out logic.
      Signed-off-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      b29101e5
    • Tvrtko Ursulin's avatar
      lib/igt_pm: Make exit handlers signal safe · 9615bbc7
      Tvrtko Ursulin authored
      IGT logging helpers are not signal safe so avoid calling them from exit
      handlers.
      
      At the same time refactor the code a bit to enable following patches.
      Signed-off-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      9615bbc7
    • Tvrtko Ursulin's avatar
      trace.pl: Fix request split mode · 111829d2
      Tvrtko Ursulin authored
      Request split mode had several bugs, both in the original version and also
      after the recent refactorings.
      
      One big one was that it wasn't considering different submit ports as a
      reason to split execution, and also that it was too time based instead of
      looking at relevant timelines.
      
      In this refactoring we address the former by using the engine timelines
      introduced in the previous patch. Secondary port submissions are moved
      to follow the preceding submission as a first step in the correction
      process.
      
      In the second step, we add context timelines and use then in a similar
      fashion to separate start and end time of coalesced requests. For each
      coalesced request we know its boundaries by looking at the engine
      timeline (via global seqnos), and we know the previous request it should
      only start after, by looking at the context timeline.
      
      v2:
       * Remove some dead code.
       * Fix !port0 shifting logic.
      
      v3:
       * Refactor for less list walking as with incomplete handling.
      
      v4:
       * Database of context timelines should not contain duplicates!
         (Converted from array into a hash.)
      
      v5:
       * Avoid over-accounting runnable time for a coalesced group by recording
         the time first request entered the GPU and ending the execute delay at
         that point for the whole group.
      
      v6:
       * Update for engine class:instance.
      Signed-off-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: John Harrison <John.C.Harrison@intel.com>
      Reviewed-by: John Harrison's avatarJohn Harrison <John.C.Harrison@Intel.com>
      111829d2
    • Tvrtko Ursulin's avatar
      trace.pl: Context save only applies to last request of a bunch · 22ce3e16
      Tvrtko Ursulin authored
      Skip accounting the context save time for anything but the last request of
      the coalesced bunch, and also skip drawing those boxes on the timeline.
      Signed-off-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: John Harrison's avatarJohn Harrison <John.C.Harrison@Intel.com>
      22ce3e16
    • Lucas De Marchi's avatar
      Follow kernel's resource streamer removal · 7e908c13
      Lucas De Marchi authored
      Resource streamer is being removed from all GENs, so rewrite the tests
      so to loop over all engines and set the expected return in case the platform has
      resource streamer.  This makes it compatible with both old and new
      kernels (thanks Chris).
      
      v2: let one test per ring rather than just one test
      v3: check what the kernel returns for
          I915_HAS_RESOURCE_STREAMER to decide what we expect as return value
          from the the batch submission (suggested by Chris)
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      7e908c13
  2. 31 Jul, 2018 3 commits
  3. 27 Jul, 2018 8 commits
  4. 25 Jul, 2018 4 commits
  5. 24 Jul, 2018 2 commits
  6. 20 Jul, 2018 2 commits
    • Chris Wilson's avatar
      lib/rendercopy: Fix lack of const throughout gen4 rendercopy · 65fccc14
      Chris Wilson authored
      The gen4 code was pushed without being fixed up for the constification
      of igt_render_copyfunc_t
      
      ../lib/intel_batchbuffer.c: In function ‘igt_get_render_copyfunc’:
      ../lib/intel_batchbuffer.c:837:8: warning: assignment to ‘igt_render_copyfunc_t’ {aka ‘void (*)(struct intel_batchbuffer *, struct _drm_intel_context *, const struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  const struct igt_buf *, unsigned int,  unsigned int)’} from incompatible pointer type ‘void (*)(struct intel_batchbuffer *, drm_intel_context *, struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  struct igt_buf *, unsigned int,  unsigned int)’ {aka ‘void (*)(struct intel_batchbuffer *, struct _drm_intel_context *, struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  struct igt_buf *, unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
         copy = gen4_render_copyfunc;
      
      Fixes: 61370b2d ("lib/rendercopy: Add gen4/5 rendercopy")
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: Ville Syrjälä's avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      65fccc14
    • Chris Wilson's avatar
      igt/gem_mmap_gtt: Check for known incoherency before testing · 65cdccdc
      Chris Wilson authored
      We test map_gtt coherency (whether or not a write via the mmap_gtt is
      immediately visible in the backing storage to a read via mmap_cpu) but
      we know that several platforms are inherently incorrect and require some
      form of hammer to workaround internal delays. These platforms break our
      ABI guarantees and so we report the change in ABI via a driver getparam.
      
      If we know the platform doesn't meet the ABI guarantee, skip the test.
      If it is meant to work, test!
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100587Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      65cdccdc
  7. 19 Jul, 2018 8 commits
  8. 18 Jul, 2018 5 commits
  9. 17 Jul, 2018 3 commits