]> 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>
Thu, 19 Sep 2013 01:36:34 +0000 (11:36 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 19 Sep 2013 01:36:34 +0000 (11:36 +1000)
Conflicts:
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_drv.h

12 files changed:
1  2 
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_stolen.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_dvo.c
drivers/gpu/drm/i915/intel_opregion.c
drivers/gpu/drm/i915/intel_panel.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/intel_sdvo.c

Simple merge
index df9253d890ee1fbb60482066312a46e7701bf2d4,d00d24f7a9765773c647f0ae6379e779d8e888a8..749d8ec6d6c988b597b4728496b122ce6b7e5563
@@@ -4886,61 -4912,3 +4940,37 @@@ unsigned long i915_gem_obj_size(struct 
  
        return 0;
  }
- struct i915_vma *i915_gem_obj_to_vma(struct drm_i915_gem_object *obj,
-                                    struct i915_address_space *vm)
- {
-       struct i915_vma *vma;
-       list_for_each_entry(vma, &obj->vma_list, vma_link)
-               if (vma->vm == vm)
-                       return vma;
-       return NULL;
- }
- struct i915_vma *
- i915_gem_obj_lookup_or_create_vma(struct drm_i915_gem_object *obj,
-                                 struct i915_address_space *vm)
- {
-       struct i915_vma *vma;
-       vma = i915_gem_obj_to_vma(obj, vm);
-       if (!vma)
-               vma = i915_gem_vma_create(obj, vm);
-       return vma;
- }
 +
 +static unsigned long
 +i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc)
 +{
 +      struct drm_i915_private *dev_priv =
 +              container_of(shrinker,
 +                           struct drm_i915_private,
 +                           mm.inactive_shrinker);
 +      struct drm_device *dev = dev_priv->dev;
 +      int nr_to_scan = sc->nr_to_scan;
 +      unsigned long freed;
 +      bool unlock = true;
 +
 +      if (!mutex_trylock(&dev->struct_mutex)) {
 +              if (!mutex_is_locked_by(&dev->struct_mutex, current))
 +                      return 0;
 +
 +              if (dev_priv->mm.shrinker_no_lock_stealing)
 +                      return 0;
 +
 +              unlock = false;
 +      }
 +
 +      freed = i915_gem_purge(dev_priv, nr_to_scan);
 +      if (freed < nr_to_scan)
 +              freed += __i915_gem_shrink(dev_priv, nr_to_scan,
 +                                                      false);
 +      if (freed < nr_to_scan)
 +              freed += i915_gem_shrink_all(dev_priv);
 +
 +      if (unlock)
 +              mutex_unlock(&dev->struct_mutex);
 +      return freed;
 +}
Simple merge
Simple merge
index 0d7c4f634bb92bbe1ee0fa3209f2591ff62a55fe,4dd6561cb7c88aeb4396e45f7b321752f703bc44..bb3bcc74b8bca467823fe99c46dca884ea349d7b
@@@ -8206,11 -8359,11 +8360,12 @@@ static void intel_dump_pipe_config(stru
                      pipe_config->gmch_pfit.control,
                      pipe_config->gmch_pfit.pgm_ratios,
                      pipe_config->gmch_pfit.lvds_border_bits);
 -      DRM_DEBUG_KMS("pch pfit: pos: 0x%08x, size: 0x%08x\n",
 +      DRM_DEBUG_KMS("pch pfit: pos: 0x%08x, size: 0x%08x, %s\n",
                      pipe_config->pch_pfit.pos,
 -                    pipe_config->pch_pfit.size);
 +                    pipe_config->pch_pfit.size,
 +                    pipe_config->pch_pfit.enabled ? "enabled" : "disabled");
        DRM_DEBUG_KMS("ips: %i\n", pipe_config->ips_enabled);
+       DRM_DEBUG_KMS("double wide: %i\n", pipe_config->double_wide);
  }
  
  static bool check_encoder_cloning(struct drm_crtc *crtc)
index 28cae80495e2b1e9d1f4fe0d089bbd63fd7a11b7,b85354f9440b2c0fbd0667ee932acfe92c547321..9d0c9aea65dbc654cb1b72844e2b09b76015dead
@@@ -793,6 -814,13 +815,14 @@@ extern void hsw_pc8_disable_interrupts(
  extern void hsw_pc8_restore_interrupts(struct drm_device *dev);
  extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv);
  extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv);
 +extern void i915_disable_vga_mem(struct drm_device *dev);
+ extern void intel_dp_get_m_n(struct intel_crtc *crtc,
+                            struct intel_crtc_config *pipe_config);
+ extern int intel_dotclock_calculate(int link_freq,
+                                   const struct intel_link_m_n *m_n);
+ extern void ironlake_check_encoder_dotclock(const struct intel_crtc_config *pipe_config,
+                                           int dotclock);
+ extern bool intel_crtc_active(struct drm_crtc *crtc);
  
  #endif /* __INTEL_DRV_H__ */
index 7fa7df546c1ee6e36e119af34d6e79a9d7015e82,fe65c7270f06c3e1aa2d7b18e4fe303babfdc434..ff86c366218ca8d338343313b94b26559748afcd
@@@ -263,15 -265,8 +265,10 @@@ static bool intel_dvo_compute_config(st
                C(vtotal);
                C(clock);
  #undef C
 +
 +              drm_mode_set_crtcinfo(adjusted_mode, 0);
        }
  
-       if (intel_dvo->dev.dev_ops->mode_fixup)
-               return intel_dvo->dev.dev_ops->mode_fixup(&intel_dvo->dev,
-                                                         &pipe_config->requested_mode,
-                                                         adjusted_mode);
        return true;
  }
  
index 119771ff46ab5178047c018efc5f9f31a06f068d,fd3062a2a42118290e2121b80d366034105f1d47..2acf5cae20e4b233483c5f49787f570ee125f84c
@@@ -170,10 -403,10 +403,10 @@@ static u32 asle_set_backlight(struct dr
  
        bclp &= ASLE_BCLP_MSK;
        if (bclp > 255)
-               return ASLE_BACKLIGHT_FAILED;
+               return ASLC_BACKLIGHT_FAILED;
  
        intel_panel_set_backlight(dev, bclp, 255);
 -      iowrite32((bclp*0x64)/0xff | ASLE_CBLV_VALID, &asle->cblv);
 +      iowrite32(DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID, &asle->cblv);
  
        return 0;
  }
Simple merge
index dd176b7296c1c44904a163cfe82960f6e196249d,fe19ba3360a76cde9f65cfedd0476ea85cba6948..db12c18e804038343ef3b4b15abdbdf4c36f3d8b
@@@ -2103,12 -2117,12 +2117,12 @@@ static uint32_t ilk_pipe_pixel_rate(str
        /* We only use IF-ID interlacing. If we ever use PF-ID we'll need to
         * adjust the pixel_rate here. */
  
 -      pfit_size = intel_crtc->config.pch_pfit.size;
 -      if (pfit_size) {
 +      if (intel_crtc->config.pch_pfit.enabled) {
                uint64_t pipe_w, pipe_h, pfit_w, pfit_h;
 +              uint32_t pfit_size = intel_crtc->config.pch_pfit.size;
  
-               pipe_w = intel_crtc->config.requested_mode.hdisplay;
-               pipe_h = intel_crtc->config.requested_mode.vdisplay;
+               pipe_w = intel_crtc->config.pipe_src_w;
+               pipe_h = intel_crtc->config.pipe_src_h;
                pfit_w = (pfit_size >> 16) & 0xFFFF;
                pfit_h = pfit_size & 0xFFFF;
                if (pipe_w < pfit_w)
Simple merge