]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'drm-intel/for-linux-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Tue, 29 Apr 2014 01:18:58 +0000 (11:18 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 29 Apr 2014 01:18:58 +0000 (11:18 +1000)
Conflicts:
drivers/gpu/drm/i915/i915_gem_context.c

16 files changed:
1  2 
Documentation/DocBook/drm.tmpl
drivers/gpu/drm/drm_cache.c
drivers/gpu/drm/i915/Kconfig
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_context.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_bios.h
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_panel.c
drivers/gpu/drm/i915/intel_pm.c
lib/Kconfig
lib/Kconfig.debug
lib/Makefile

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index d72db15afa02fde49c56693bbf84ce227038298d,30b355afb3621eb54d96f37701b26c11fb28aaaf..f77b4c126465e1cec2a63f9f7614a079bc6e0d27
@@@ -231,32 -232,40 +231,40 @@@ __create_hw_context(struct drm_device *
                return ERR_PTR(-ENOMEM);
  
        kref_init(&ctx->ref);
 -      ctx->obj = i915_gem_alloc_object(dev, dev_priv->hw_context_size);
 -      INIT_LIST_HEAD(&ctx->link);
 -      if (ctx->obj == NULL) {
 -              kfree(ctx);
 -              DRM_DEBUG_DRIVER("Context object allocated failed\n");
 -              return ERR_PTR(-ENOMEM);
 -      }
 +      list_add_tail(&ctx->link, &dev_priv->context_list);
  
 -      /*
 -       * Try to make the context utilize L3 as well as LLC.
 -       *
 -       * On VLV we don't have L3 controls in the PTEs so we
 -       * shouldn't touch the cache level, especially as that
 -       * would make the object snooped which might have a
 -       * negative performance impact.
 -       */
 -      if (INTEL_INFO(dev)->gen >= 7 && !IS_VALLEYVIEW(dev)) {
 -              ret = i915_gem_object_set_cache_level(ctx->obj,
 -                                                    I915_CACHE_L3_LLC);
 -              /* Failure shouldn't ever happen this early */
 -              if (WARN_ON(ret))
 +      if (dev_priv->hw_context_size) {
 +              ctx->obj = i915_gem_alloc_object(dev, dev_priv->hw_context_size);
 +              if (ctx->obj == NULL) {
 +                      ret = -ENOMEM;
                        goto err_out;
 -      }
 +              }
  
-               if (INTEL_INFO(dev)->gen >= 7) {
 -      list_add_tail(&ctx->link, &dev_priv->context_list);
++              /*
++               * Try to make the context utilize L3 as well as LLC.
++               *
++               * On VLV we don't have L3 controls in the PTEs so we
++               * shouldn't touch the cache level, especially as that
++               * would make the object snooped which might have a
++               * negative performance impact.
++               */
++              if (INTEL_INFO(dev)->gen >= 7 && !IS_VALLEYVIEW(dev)) {
 +                      ret = i915_gem_object_set_cache_level(ctx->obj,
 +                                                            I915_CACHE_L3_LLC);
 +                      /* Failure shouldn't ever happen this early */
 +                      if (WARN_ON(ret))
 +                              goto err_out;
 +              }
 +      }
  
        /* Default context will never have a file_priv */
 -      if (file_priv == NULL)
 -              return ctx;
 -
 -      ret = idr_alloc(&file_priv->context_idr, ctx, DEFAULT_CONTEXT_ID, 0,
 -                      GFP_KERNEL);
 -      if (ret < 0)
 -              goto err_out;
 +      if (file_priv != NULL) {
 +              ret = idr_alloc(&file_priv->context_idr, ctx,
 +                              DEFAULT_CONTEXT_ID, 0, GFP_KERNEL);
 +              if (ret < 0)
 +                      goto err_out;
 +      } else
 +              ret = DEFAULT_CONTEXT_ID;
  
        ctx->file_priv = file_priv;
        ctx->id = ret;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc lib/Kconfig
Simple merge
Simple merge
diff --cc lib/Makefile
Simple merge