1. 19 8月, 2016 7 次提交
  2. 27 7月, 2016 1 次提交
  3. 06 6月, 2016 1 次提交
  4. 09 5月, 2016 2 次提交
  5. 05 5月, 2016 1 次提交
  6. 21 3月, 2016 5 次提交
  7. 16 3月, 2016 1 次提交
  8. 18 11月, 2015 2 次提交
  9. 06 10月, 2015 1 次提交
  10. 04 9月, 2015 1 次提交
  11. 01 9月, 2015 1 次提交
  12. 26 8月, 2015 1 次提交
  13. 29 7月, 2015 2 次提交
  14. 06 7月, 2015 1 次提交
    • A
      drm/i915: Update WaFlushCoherentL3CacheLinesAtContextSwitch · 9e000847
      Arun Siluvery 提交于
      In this WA we need to set GEN8_L3SQCREG4[21:21] and reset it after PIPE_CONTROL
      instruction but there is a slight complication as this is applied in WA batch
      where the values are only initialized once.
      Dave identified an issue with the current implementation where the register value
      is read once at the beginning and it is reused; this patch corrects this by saving
      the register value to memory, update register with the bit of our interest and
      restore it back with original value.
      
      This implementation uses MI_LOAD_REGISTER_MEM which is currently only used
      by command parser and was using a default length of 0. This is now updated
      with correct length and moved to appropriate place.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Dave Gordon <david.s.gordon@intel.com>
      Signed-off-by: NArun Siluvery <arun.siluvery@linux.intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9e000847
  15. 15 6月, 2015 6 次提交
  16. 10 4月, 2015 1 次提交
  17. 18 3月, 2015 1 次提交
    • M
      drm/i915: Fix vmap_batch page iterator overrun · 72c5ba95
      Mika Kuoppala 提交于
      vmap_batch() calculates amount of needed pages for the mapping
      we are going to create. And it uses this page count as an
      argument for the for_each_sg_pages() macro. The macro takes the number
      of sg list entities as an argument, not the page count. So we ended
      up iterating through all the pages on the mapped object, corrupting
      memory past the smaller pages[] array.
      
      Fix this by bailing out when we have enough pages.
      
      This regression has been introduced in
      
      commit 17cabf57
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Wed Jan 14 11:20:57 2015 +0000
      
          drm/i915: Trim the command parser allocations
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      72c5ba95
  18. 24 2月, 2015 1 次提交
  19. 16 12月, 2014 4 次提交
    • J
      drm/i915: Add GPGPU_THREADS_DISPATCHED to the register whitelist · c61200c2
      Jordan Justen 提交于
      This will allow us to read the number of dispatched compute threads
      for GL_ARB_pipeline_statistics_query.
      Signed-off-by: NJordan Justen <jordan.l.justen@intel.com>
      Cc: Ben Widawsky <ben@bwidawsk.net>
      Reviewed-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c61200c2
    • B
      drm/i915: Tidy up execbuffer command parsing code · 71745376
      Brad Volkin 提交于
      Move it to a separate function since the main do_execbuffer function
      already has so much going on.
      
      v2:
      - Move pin/unpin calls inside i915_parse_cmds() (Chris W, v4 7/7
        feedback)
      
      Issue: VIZ-4719
      Signed-off-by: NBrad Volkin <bradley.d.volkin@intel.com>
      Reviewed-By: NJon Bloomfield <jon.bloomfield@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      71745376
    • B
      drm/i915: Use batch length instead of object size in command parser · b9ffd80e
      Brad Volkin 提交于
      Previously we couldn't trust the user-supplied batch length because
      it came directly from userspace (i.e. untrusted code). It would have
      affected what commands software parsed without regard to what hardware
      would actually execute, leaving a potential hole.
      
      With the parser now copying the user supplied batch buffer and writing
      MI_NOP commands to any space after the copied region, we can safely use
      the batch length input. This should be a performance win as the actual
      batch length is frequently much smaller than the allocated object size.
      
      v2: Fix handling of non-zero batch_start_offset
      
      Issue: VIZ-4719
      Signed-off-by: NBrad Volkin <bradley.d.volkin@intel.com>
      Reviewed-By: NJon Bloomfield <jon.bloomfield@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b9ffd80e
    • B
      drm/i915: Use batch pools with the command parser · 78a42377
      Brad Volkin 提交于
      This patch sets up all of the tracking and copying necessary to
      use batch pools with the command parser and dispatches the copied
      (shadow) batch to the hardware.
      
      After this patch, the parser is in 'enabling' mode.
      
      Note that performance takes a hit from the copy in some cases
      and will likely need some work. At a rough pass, the memcpy
      appears to be the bottleneck. Without having done a deeper
      analysis, two ideas that come to mind are:
      1) Copy sections of the batch at a time, as they are reached
         by parsing. Might improve cache locality.
      2) Copy only up to the userspace-supplied batch length and
         memset the rest of the buffer. Reduces the number of reads.
      
      v2:
      - Remove setting the capacity of the pool
      - One global pool instead of per-ring pools
      - Replace batch_obj with shadow_batch_obj and hook into eb->vmas
      - Memset any space in the shadow batch beyond what gets copied
      - Rebased on execlist prep refactoring
      
      v3:
      - Rebase on chained batch handling
      - Squash in setting the secure dispatch flag
      - Add a note about the interaction w/secure dispatch pinning
      - Check for request->batch_obj == NULL in i915_gem_free_request
      
      v4:
      - Fix read domains for shadow_batch_obj
      - Remove the set_to_gtt_domain call from i915_parse_cmds
      - ggtt_pin/unpin in the parser block to simplify error handling
      - Check USES_FULL_PPGTT before setting DISPATCH_SECURE flag
      - Remove i915_gem_batch_pool_put calls
      
      v5:
      - Move 'pending_read_domains |= I915_GEM_DOMAIN_COMMAND' after
        the parser (danvet, from v4 0/7 feedback)
      
      Issue: VIZ-4719
      Signed-off-by: NBrad Volkin <bradley.d.volkin@intel.com>
      Reviewed-By: NJon Bloomfield <jon.bloomfield@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      78a42377