]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'drm/drm-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Fri, 20 Dec 2013 01:32:25 +0000 (12:32 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 20 Dec 2013 01:32:25 +0000 (12:32 +1100)
Conflicts:
drivers/gpu/drm/drm_stub.c
drivers/gpu/drm/i915/intel_pm.c
drivers/staging/imx-drm/imx-drm-core.c

14 files changed:
1  2 
drivers/gpu/drm/armada/armada_drv.c
drivers/gpu/drm/drm_stub.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
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_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_opregion.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/radeon/radeon_drv.c
drivers/staging/imx-drm/imx-drm-core.c

Simple merge
index 66dd3a001cf1b5ee43ec75f190b03146e7bbe46d,a4a5c6ac110a563fb07c97c7b53a13de370a8623..98a33c580ca1aeceed513f2af38b6742cee30f85
@@@ -566,14 -564,11 +564,11 @@@ err_unload
        if (dev->driver->unload)
                dev->driver->unload(dev);
  err_primary_node:
 -      drm_put_minor(dev->primary);
 +      drm_unplug_minor(dev->primary);
  err_render_node:
 -      drm_put_minor(dev->render);
 +      drm_unplug_minor(dev->render);
  err_control_node:
 -      drm_put_minor(dev->control);
 +      drm_unplug_minor(dev->control);
- err_agp:
-       if (dev->driver->bus->agp_destroy)
-               dev->driver->bus->agp_destroy(dev);
  out_unlock:
        mutex_unlock(&drm_global_mutex);
        return ret;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 26c29c173221058aeeaa9a3c0d889500b8db9fec,e6d98fe86b17174fd79bb86dbd242e14992534a0..881a6dec8f1d10b56dd2ce5c62e30d640ff691f6
@@@ -5749,24 -5748,17 +5750,25 @@@ static void hsw_set_power_well(struct d
  static void __intel_power_well_get(struct drm_device *dev,
                                   struct i915_power_well *power_well)
  {
 -      if (!power_well->count++ && power_well->set)
 +      struct drm_i915_private *dev_priv = dev->dev_private;
 +
-       if (!power_well->count++) {
++      if (!power_well->count++ && power_well->set) {
 +              hsw_disable_package_c8(dev_priv);
-               __intel_set_power_well(dev, true);
+               power_well->set(dev, power_well, true);
 +      }
  }
  
  static void __intel_power_well_put(struct drm_device *dev,
                                   struct i915_power_well *power_well)
  {
 +      struct drm_i915_private *dev_priv = dev->dev_private;
 +
        WARN_ON(!power_well->count);
-       if (!--power_well->count && i915_disable_power_well) {
-               __intel_set_power_well(dev, false);
 -      if (!--power_well->count && power_well->set && i915_disable_power_well)
++      if (!--power_well->count && power_well->set && i915_disable_power_well) {
+               power_well->set(dev, power_well, false);
 +              hsw_enable_package_c8(dev_priv);
 +      }
  }
  
  void intel_display_power_get(struct drm_device *dev,
@@@ -6146,17 -6179,10 +6189,10 @@@ int vlv_freq_opcode(struct drm_i915_pri
                return -1;
        }
  
-       val /= mult;
-       val -= base / mult;
-       val += 0xbd;
-       if (val > 0xea)
-               val = 0xea;
-       return val;
+       return DIV_ROUND_CLOSEST(4 * mul * val, dev_priv->mem_freq) + 0xbd - 6;
  }
  
 -void intel_pm_init(struct drm_device *dev)
 +void intel_pm_setup(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
  
Simple merge
index 96e4eee344ef602174acec2ce27cf57bfb0ce128,0507b662ae40d331ca257b751c2fb95af9cafe41..f1d31f2564ac0a22f762850a7568192cbc9abd3e
@@@ -443,19 -441,14 +443,21 @@@ static int imx_drm_driver_load(struct d
         */
        imxdrm->drm->vblank_disable_allowed = true;
  
 -      if (!imx_drm_device_get())
 +      if (!imx_drm_device_get()) {
                ret = -EINVAL;
 +              goto err_vblank;
 +      }
  
 -      ret = 0;
+       platform_set_drvdata(drm->platformdev, drm);
 +      mutex_unlock(&imxdrm->mutex);
 +      return 0;
  
 -err_init:
 +err_vblank:
 +      drm_vblank_cleanup(drm);
 +err_kms:
 +      drm_kms_helper_poll_fini(drm);
 +      drm_mode_config_cleanup(drm);
        mutex_unlock(&imxdrm->mutex);
  
        return ret;