1. 19 3月, 2014 5 次提交
    • P
      drm/i915: make intel_aux_display_runtime_get get runtime PM, not PC8 · d361ae26
      Paulo Zanoni 提交于
      Because we merged the PC8 and runtime PM features, so calling
      intel_runtime_pm_get now has the same meaning, and we plan to just
      remove hsw_disable_package_c8 for this exact reason.
      
      My first patch tried to completely kill
      intel_aux_display_runtime_get/put, because I was assuming that whoever
      needed more than just runtime PM would have to get the appropriate
      power domain instead of that, but it seems some people still want the
      intel_aux_display_runtime_get abstraction, so keep it until someone
      else tries to replace it with the more-standard power domain calls.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d361ae26
    • P
      drm/i915: kill pc8.disable_count · 34f5754c
      Paulo Zanoni 提交于
      Since after the latest patches it's only being used to prevent
      getting/putting the runtime PM refcount.
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      34f5754c
    • P
      drm/i915: remove dev_priv->pc8.requirements_met · ba0239e0
      Paulo Zanoni 提交于
      The requirements_met variable was used to track two things: enabled
      CRTCs and the power well. After the latest chagnes, we get a runtime
      PM reference whenever we get any of the power domains, and we get
      power domains when we enable CRTCs or the power well, so we should
      already be covered, not needing this specific tracking.
      
      v2: - Rebase.
      v3: - Rebase.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ba0239e0
    • P
      drm/i915: get/put runtime PM when we get/put a power domain · 9e6ea71a
      Paulo Zanoni 提交于
      Any power domain will require the HW to be in PCI D0 state, so just do
      the simple thing.
      
      Dear maintainer: since intel_display_power_put() and
      intel_display_power_get() are almost identical, git-am has failed
      apply the patch on my local machine once: it added both chunks to
      put(), instead of one chunk to get() and another to put(). When you
      apply this patch to your tree, please check if it is correct.
      
      v2: - Add the warning above.
      v3: - Rebase.
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9e6ea71a
    • P
      drm/i915: make PC8 be part of runtime PM suspend/resume · a8a8bd54
      Paulo Zanoni 提交于
      Currently, when our driver becomes idle for i915.pc8_timeout (default:
      5s) we enable PC8, so we save some power, but not everything we can.
      Then, while PC8 is enabled, if we stay idle for more
      autosuspend_delay_ms (default: 10s) we'll enter runtime PM and put the
      graphics device in D3 state, saving even more power. The two features
      are separate things with increasing levels of power savings, but if we
      disable PC8 we'll never get into D3.
      
      While from the modularity point of view it would be nice to keep these
      features as separate, we have reasons to merge them:
       - We are not aware of anybody wanting a "PC8 without D3" environment.
       - If we keep both features as separate, we'll have to to test both
         PC8 and PC8+D3 code paths. We're already having a major pain to
         make QA do automated testing of just one thing, testing both paths
         will cost even more.
       - Only Haswell+ supports PC8, so if we want to add runtime PM support
         to, for example, IVB, we'll have to copy some code from the PC8
         feature to runtime PM, so merging both features as a single thing
         will make it easier for enabling runtime PM on other platforms.
      
      This patch only does the very basic steps required to have PC8 and
      runtime PM merged on a single feature: the next patches will take care
      of cleaning up everything.
      
      v2: - Rebase.
      v3: - Rebase.
          - Fully remove the deprecated i915 params since Daniel doesn't
            consider them as part of the ABI.
      v4: - Rebase.
          - Fix typo in the commit message.
      v5: - Rebase, again.
          - Add a huge comment explaining the different forcewake usage
            (Chris, Daniel).
          - Use open-coded forcewake functions (Daniel).
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a8a8bd54
  2. 18 3月, 2014 1 次提交
  3. 08 3月, 2014 10 次提交
  4. 06 3月, 2014 14 次提交
  5. 04 3月, 2014 8 次提交
  6. 14 2月, 2014 2 次提交
    • D
      drm/i915: Don't allocate context pages as mappable · c69766f2
      Daniel Vetter 提交于
      Only the hardware really access them, so no need to have cpu
      gtt access available.
      
      Split out from Chris vma-bind rework.
      
      Note that this is only possible due to the split-up of the mappable
      pin flag into PIN_GLOBAL and PIN_MAPPABLE.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Ben Widawsky <benjamin.widawsky@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c69766f2
    • D
      drm/i915: Consolidate binding parameters into flags · 1ec9e26d
      Daniel Vetter 提交于
      Anything more than just one bool parameter is just a pain to read,
      symbolic constants are much better.
      
      Split out from Chris' vma-binding rework patch.
      
      v2: Undo the behaviour change in object_pin that Chris spotted.
      
      v3: Split out misplaced hunk to handle set_cache_level errors,
      spotted by Jani.
      
      v4: Keep the current over-zealous binding logic in the execbuffer code
      working with a quick hack while the overall binding code gets shuffled
      around.
      
      v5: Reorder the PIN_ flags for more natural patch splitup.
      
      v6: Pull out the PIN_GLOBAL split-up again.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Ben Widawsky <benjamin.widawsky@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1ec9e26d