Backmerge i915 security patches from commit 'ea0b163b13ff' into drm-next
authorDave Airlie <airlied@redhat.com>
Thu, 14 Nov 2019 01:06:01 +0000 (11:06 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 14 Nov 2019 01:09:06 +0000 (11:09 +1000)
This backmerges the branch that ended up in Linus' tree. It removes
all the changes for the rc6 patches from Linus' tree in favour of
a patch that is based on a large refactor that occured.

Otherwise it all looks good.

Signed-off-by: Dave Airlie <airlied@redhat.com>
1  2 
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/gem/i915_gem_context_types.h
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
drivers/gpu/drm/i915/gt/intel_engine_types.h
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_getparam.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_pm.c

@@@ -527,10 -443,9 +529,13 @@@ __create_context(struct drm_i915_privat
        for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++)
                ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES;
  
+       ctx->jump_whitelist = NULL;
+       ctx->jump_whitelist_cmds = 0;
 +      spin_lock(&i915->gem.contexts.lock);
 +      list_add_tail(&ctx->link, &i915->gem.contexts.list);
 +      spin_unlock(&i915->gem.contexts.lock);
 +
        return ctx;
  
  err_free:
@@@ -1994,9 -1988,11 +2023,11 @@@ static struct i915_vma *eb_parse(struc
  {
        struct intel_engine_pool_node *pool;
        struct i915_vma *vma;
+       u64 batch_start;
+       u64 shadow_batch_start;
        int err;
  
 -      pool = intel_engine_pool_get(&eb->engine->pool, eb->batch_len);
 +      pool = intel_engine_get_pool(eb->engine, eb->batch_len);
        if (IS_ERR(pool))
                return ERR_CAST(pool);
  
@@@ -454,13 -473,15 +454,14 @@@ struct intel_engine_cs 
        /* status_notifier: list of callbacks for context-switch changes */
        struct atomic_notifier_head context_status_notifier;
  
- #define I915_ENGINE_NEEDS_CMD_PARSER BIT(0)
 -      struct intel_engine_hangcheck hangcheck;
 -
+ #define I915_ENGINE_USING_CMD_PARSER BIT(0)
  #define I915_ENGINE_SUPPORTS_STATS   BIT(1)
  #define I915_ENGINE_HAS_PREEMPTION   BIT(2)
  #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
  #define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
  #define I915_ENGINE_IS_VIRTUAL       BIT(5)
 +#define I915_ENGINE_HAS_RELATIVE_MMIO BIT(6)
+ #define I915_ENGINE_REQUIRES_CMD_PARSER BIT(7)
        unsigned int flags;
  
        /*
Simple merge
Simple merge
Simple merge
@@@ -7353,8 -7217,10 +7357,12 @@@ enum 
  #define TGL_DMC_DEBUG_DC5_COUNT       _MMIO(0x101084)
  #define TGL_DMC_DEBUG_DC6_COUNT       _MMIO(0x101088)
  
 +#define DMC_DEBUG3            _MMIO(0x101090)
 +
+ /* Display Internal Timeout Register */
+ #define RM_TIMEOUT            _MMIO(0x42060)
+ #define  MMIO_TIMEOUT_US(us)  ((us) << 0)
  /* interrupts */
  #define DE_MASTER_IRQ_CONTROL   (1 << 31)
  #define DE_SPRITEB_FLIP_DONE    (1 << 29)
Simple merge