]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm...
authorDave Airlie <airlied@redhat.com>
Thu, 8 Apr 2021 02:42:46 +0000 (12:42 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 8 Apr 2021 02:46:12 +0000 (12:46 +1000)
Driver Changes:

- Prepare for local/device memory support on DG1 by starting
  to use it for kernel internal allocations: context, ring
  and engine scratch (Matt A, CQ, Abdiel, Imre)
- Sandybridge fix to avoid hard hang on ring resume (Chris)
- Limit imported dma-buf size to int32 (Matt A)
- Double check heartbeat timeout before resetting (Chris)

- Use new tasklet API for execution list (Emil)
- Fix SPDX checkpats warnings (Chris)
- Fixes for various checkpatch warnings (Chris)
- Selftest improvements (Chris)
- Move the defer_request waiter active assertion to correct spot (Chris)
- Make local-memory probing a GT operation (Matt, Tvrtko)
- Protect against request freeing during cancellation on wedging (Chris)
- Retire unexpected starting state error dumping (Chris)
- Distinction of memory regions in debugging (Zbigniew)
- Always flush the submission queue on checking for idle (Chris)

- Consolidate 2big error check to helper (Matt)
- Decrease number of subplatform bits (Tvrtko)
- Remove unused internal request priority levels (Chris)
- Document the unused internal header bits in buddy allocator (Matt)
- Cleanup the region class/instance encoding (Matt)

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/YGxksaZGXHnFxlwg@jlahtine-mobl.ger.corp.intel.com
42 files changed:
1  2 
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
drivers/gpu/drm/i915/gem/i915_gem_object.h
drivers/gpu/drm/i915/gem/i915_gem_region.c
drivers/gpu/drm/i915/gem/i915_gem_stolen.c
drivers/gpu/drm/i915/gem/i915_gem_userptr.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
drivers/gpu/drm/i915/gt/intel_context_types.h
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
drivers/gpu/drm/i915/gt/intel_engine_pm.c
drivers/gpu/drm/i915/gt/intel_execlists_submission.c
drivers/gpu/drm/i915/gt/intel_ggtt.c
drivers/gpu/drm/i915/gt/intel_gt.c
drivers/gpu/drm/i915/gt/intel_gt.h
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h
drivers/gpu/drm/i915/gt/intel_gt_requests.c
drivers/gpu/drm/i915/gt/intel_gtt.h
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/gt/intel_ppgtt.c
drivers/gpu/drm/i915/gt/intel_renderstate.c
drivers/gpu/drm/i915/gt/intel_reset.c
drivers/gpu/drm/i915/gt/intel_ring_submission.c
drivers/gpu/drm/i915/gt/intel_timeline.c
drivers/gpu/drm/i915/gt/intel_timeline.h
drivers/gpu/drm/i915/gt/intel_timeline_types.h
drivers/gpu/drm/i915/gt/intel_workarounds.c
drivers/gpu/drm/i915/gt/mock_engine.c
drivers/gpu/drm/i915/gt/selftest_context.c
drivers/gpu/drm/i915/gt/selftest_engine_cs.c
drivers/gpu/drm/i915/gt/selftest_execlists.c
drivers/gpu/drm/i915/gt/selftest_hangcheck.c
drivers/gpu/drm/i915/gt/selftest_lrc.c
drivers/gpu/drm/i915/gt/selftest_mocs.c
drivers/gpu/drm/i915/gt/selftest_timeline.c
drivers/gpu/drm/i915/gt/selftest_workarounds.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_request.c
drivers/gpu/drm/i915/i915_request.h
drivers/gpu/drm/i915/selftests/intel_memory_region.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index f00b9145280617ce77dbd492565eb80246eb6a37,44609d1c77800d222908e273c6c55e0b4f0913d4..e55a887d11e2bc57b38d6343dac2ccd8a9774abc
@@@ -70,13 -69,12 +69,13 @@@ static int live_mocs_init(struct live_m
                return -EINVAL;
  
        if (flags & HAS_RENDER_L3CC)
-               arg->l3cc = table;
+               arg->l3cc = &arg->table;
  
        if (flags & (HAS_GLOBAL_MOCS | HAS_ENGINE_MOCS))
-               arg->mocs = table;
+               arg->mocs = &arg->table;
  
 -      arg->scratch = __vm_create_scratch_for_read(&gt->ggtt->vm, PAGE_SIZE);
 +      arg->scratch =
 +              __vm_create_scratch_for_read_pinned(&gt->ggtt->vm, PAGE_SIZE);
        if (IS_ERR(arg->scratch))
                return PTR_ERR(arg->scratch);
  
Simple merge
Simple merge
index 63968d163c14829148c580b2b42266f9e36f0154,8b4223325188d2521b3f21e5e9f8a7610190f4b8..9165971c3c47a9b6d2c9501cc2b7d7449dd207b6
@@@ -606,16 -510,14 +606,16 @@@ bool i915_request_set_error_once(struc
        old = READ_ONCE(rq->fence.error);
        do {
                if (fatal_error(old))
 -                      return;
 +                      return false;
        } while (!try_cmpxchg(&rq->fence.error, &old, error));
 +
 +      return true;
  }
  
void i915_request_mark_eio(struct i915_request *rq)
struct i915_request *i915_request_mark_eio(struct i915_request *rq)
  {
        if (__i915_request_is_complete(rq))
-               return;
+               return NULL;
  
        GEM_BUG_ON(i915_request_signaled(rq));
  
index 36071d3d383da9372c4737dddc215112212f3afc,c0bd4cb8786ac4038c823ac3d2ad4bf21970e480..270f6cd37650cd6c858c648fb5c7113a1528c80e
@@@ -308,8 -310,8 +308,8 @@@ struct i915_request * __must_chec
  i915_request_create(struct intel_context *ce);
  
  void __i915_request_skip(struct i915_request *rq);
 -void i915_request_set_error_once(struct i915_request *rq, int error);
 +bool i915_request_set_error_once(struct i915_request *rq, int error);
void i915_request_mark_eio(struct i915_request *rq);
struct i915_request *i915_request_mark_eio(struct i915_request *rq);
  
  struct i915_request *__i915_request_commit(struct i915_request *request);
  void __i915_request_queue(struct i915_request *rq,