1. 18 Jan, 2018 2 commits
  2. 08 Dec, 2017 1 commit
  3. 21 Nov, 2017 1 commit
  4. 19 Oct, 2017 1 commit
  5. 08 Aug, 2017 4 commits
  6. 28 Jul, 2017 2 commits
    • Eric Anholt's avatar
      drm/vc4: Add an ioctl for labeling GEM BOs for summary stats · f3099462
      Eric Anholt authored
      This has proven immensely useful for debugging memory leaks and
      overallocation (which is a rather serious concern on the platform,
      given that we typically run at about 256MB of CMA out of up to 1GB
      total memory, with framebuffers that are about 8MB ecah).
      The state of the art without this is to dump debug logs from every GL
      application, guess as to kernel allocations based on bo_stats, and try
      to merge that all together into a global picture of memory allocation
      state.  With this, you can add a couple of calls to the debug build of
      the 3D driver and get a pretty detailed view of GPU memory usage from
      /debug/dri/0/bo_stats (or when we debug print to dmesg on allocation
      The Mesa side currently labels at the gallium resource level (so you
      see that a 1920x20 pixmap has been created, presumably for the window
      system panel), but we could extend that to be even more useful with
      glObjectLabel() names being sent all the way down to the kernel.
      (partial) example of sorted debugfs output with Mesa labeling all
                     kernel BO cache:  16392kb BOs (3)
             tiling shadow 1920x1080:   8160kb BOs (1)
             resource 1920x1080@32/0:   8160kb BOs (1)
      scanout resource 1920x1080@32/0:   8100kb BOs (1)
                              kernel:   8100kb BOs (1)
      v2: Use strndup_user(), use lockdep assertion instead of just a
          comment, fix an array[-1] reference, extend comment about name
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-2-eric@anholt.netReviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    • Eric Anholt's avatar
      drm/vc4: Start using u64_to_user_ptr. · 95d7cbcb
      Eric Anholt authored
      Chris Wilson pointed out this little cleanup in a review of new code,
      so let's fix up the code I was copying from.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-1-eric@anholt.netReviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
  7. 13 Jun, 2017 1 commit
  8. 18 May, 2017 1 commit
  9. 18 Apr, 2017 2 commits
  10. 13 Apr, 2017 1 commit
  11. 02 Mar, 2017 1 commit
  12. 28 Feb, 2017 1 commit
  13. 17 Jan, 2017 2 commits
  14. 04 Nov, 2016 1 commit
    • Eric Anholt's avatar
      drm/vc4: Use runtime autosuspend to avoid thrashing V3D power state. · 3a622346
      Eric Anholt authored
      The pm_runtime_put() we were using immediately released power on the
      device, which meant that we were generally turning the device off and
      on once per frame.  In many profiles I've looked at, that added up to
      about 1% of CPU time, but this could get worse in the case of frequent
      rendering and readback (as may happen in X rendering).  By keeping the
      device on until we've been idle for a couple of frames, we drop the
      overhead of runtime PM down to sub-.1%.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
  15. 17 Oct, 2016 1 commit
  16. 06 Oct, 2016 1 commit
    • Eric Anholt's avatar
      drm/vc4: Fix races when the CS reads from render targets. · 7edabee0
      Eric Anholt authored
      With the introduction of bin/render pipelining, the previous job may
      not be completed when we start binning the next one.  If the previous
      job wrote our VBO, IB, or CS textures, then the binning stage might
      get stale or uninitialized results.
      Fixes the major rendering failure in glmark2 -b terrain.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Fixes: ca26d28b ("drm/vc4: improve throughput by pipelining binning and rendering jobs")
      Cc: stable@vger.kernel.org
  17. 20 Aug, 2016 5 commits
  18. 31 May, 2016 1 commit
  19. 17 May, 2016 1 commit
  20. 14 Mar, 2016 1 commit
  21. 16 Feb, 2016 7 commits
  22. 17 Dec, 2015 2 commits