diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-02 14:55:04 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-11 17:51:39 -0500 |
commit | 3e37394802c1f2b0000da0a096455d2a3900df48 (patch) | |
tree | 56ccf85e09e58d3e7fe97f57746deef1a7e096cf | |
parent | c85aa8855a4b2e0477fe6dfd0835270f2277aa8c (diff) |
drm/i915: move pwrctx/renderctx to the other ilk power state
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 32 |
3 files changed, 23 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 0e405e5278e4..598987ff4fec 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -1400,15 +1400,15 @@ static int i915_context_status(struct seq_file *m, void *unused) | |||
1400 | if (ret) | 1400 | if (ret) |
1401 | return ret; | 1401 | return ret; |
1402 | 1402 | ||
1403 | if (dev_priv->pwrctx) { | 1403 | if (dev_priv->ips.pwrctx) { |
1404 | seq_printf(m, "power context "); | 1404 | seq_printf(m, "power context "); |
1405 | describe_obj(m, dev_priv->pwrctx); | 1405 | describe_obj(m, dev_priv->ips.pwrctx); |
1406 | seq_printf(m, "\n"); | 1406 | seq_printf(m, "\n"); |
1407 | } | 1407 | } |
1408 | 1408 | ||
1409 | if (dev_priv->renderctx) { | 1409 | if (dev_priv->ips.renderctx) { |
1410 | seq_printf(m, "render context "); | 1410 | seq_printf(m, "render context "); |
1411 | describe_obj(m, dev_priv->renderctx); | 1411 | describe_obj(m, dev_priv->ips.renderctx); |
1412 | seq_printf(m, "\n"); | 1412 | seq_printf(m, "\n"); |
1413 | } | 1413 | } |
1414 | 1414 | ||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index abf87c6977e8..8c7c43f07873 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -581,6 +581,9 @@ struct intel_ilk_power_mgmt { | |||
581 | 581 | ||
582 | int c_m; | 582 | int c_m; |
583 | int r_t; | 583 | int r_t; |
584 | |||
585 | struct drm_i915_gem_object *pwrctx; | ||
586 | struct drm_i915_gem_object *renderctx; | ||
584 | }; | 587 | }; |
585 | 588 | ||
586 | typedef struct drm_i915_private { | 589 | typedef struct drm_i915_private { |
@@ -618,9 +621,6 @@ typedef struct drm_i915_private { | |||
618 | 621 | ||
619 | drm_dma_handle_t *status_page_dmah; | 622 | drm_dma_handle_t *status_page_dmah; |
620 | uint32_t counter; | 623 | uint32_t counter; |
621 | struct drm_i915_gem_object *pwrctx; | ||
622 | struct drm_i915_gem_object *renderctx; | ||
623 | |||
624 | struct resource mch_res; | 624 | struct resource mch_res; |
625 | 625 | ||
626 | atomic_t irq_received; | 626 | atomic_t irq_received; |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 263663a3ab68..b6d980b0ac4c 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -2593,16 +2593,16 @@ void ironlake_teardown_rc6(struct drm_device *dev) | |||
2593 | { | 2593 | { |
2594 | struct drm_i915_private *dev_priv = dev->dev_private; | 2594 | struct drm_i915_private *dev_priv = dev->dev_private; |
2595 | 2595 | ||
2596 | if (dev_priv->renderctx) { | 2596 | if (dev_priv->ips.renderctx) { |
2597 | i915_gem_object_unpin(dev_priv->renderctx); | 2597 | i915_gem_object_unpin(dev_priv->ips.renderctx); |
2598 | drm_gem_object_unreference(&dev_priv->renderctx->base); | 2598 | drm_gem_object_unreference(&dev_priv->ips.renderctx->base); |
2599 | dev_priv->renderctx = NULL; | 2599 | dev_priv->ips.renderctx = NULL; |
2600 | } | 2600 | } |
2601 | 2601 | ||
2602 | if (dev_priv->pwrctx) { | 2602 | if (dev_priv->ips.pwrctx) { |
2603 | i915_gem_object_unpin(dev_priv->pwrctx); | 2603 | i915_gem_object_unpin(dev_priv->ips.pwrctx); |
2604 | drm_gem_object_unreference(&dev_priv->pwrctx->base); | 2604 | drm_gem_object_unreference(&dev_priv->ips.pwrctx->base); |
2605 | dev_priv->pwrctx = NULL; | 2605 | dev_priv->ips.pwrctx = NULL; |
2606 | } | 2606 | } |
2607 | } | 2607 | } |
2608 | 2608 | ||
@@ -2628,14 +2628,14 @@ static int ironlake_setup_rc6(struct drm_device *dev) | |||
2628 | { | 2628 | { |
2629 | struct drm_i915_private *dev_priv = dev->dev_private; | 2629 | struct drm_i915_private *dev_priv = dev->dev_private; |
2630 | 2630 | ||
2631 | if (dev_priv->renderctx == NULL) | 2631 | if (dev_priv->ips.renderctx == NULL) |
2632 | dev_priv->renderctx = intel_alloc_context_page(dev); | 2632 | dev_priv->ips.renderctx = intel_alloc_context_page(dev); |
2633 | if (!dev_priv->renderctx) | 2633 | if (!dev_priv->ips.renderctx) |
2634 | return -ENOMEM; | 2634 | return -ENOMEM; |
2635 | 2635 | ||
2636 | if (dev_priv->pwrctx == NULL) | 2636 | if (dev_priv->ips.pwrctx == NULL) |
2637 | dev_priv->pwrctx = intel_alloc_context_page(dev); | 2637 | dev_priv->ips.pwrctx = intel_alloc_context_page(dev); |
2638 | if (!dev_priv->pwrctx) { | 2638 | if (!dev_priv->ips.pwrctx) { |
2639 | ironlake_teardown_rc6(dev); | 2639 | ironlake_teardown_rc6(dev); |
2640 | return -ENOMEM; | 2640 | return -ENOMEM; |
2641 | } | 2641 | } |
@@ -2673,7 +2673,7 @@ static void ironlake_enable_rc6(struct drm_device *dev) | |||
2673 | 2673 | ||
2674 | intel_ring_emit(ring, MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN); | 2674 | intel_ring_emit(ring, MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN); |
2675 | intel_ring_emit(ring, MI_SET_CONTEXT); | 2675 | intel_ring_emit(ring, MI_SET_CONTEXT); |
2676 | intel_ring_emit(ring, dev_priv->renderctx->gtt_offset | | 2676 | intel_ring_emit(ring, dev_priv->ips.renderctx->gtt_offset | |
2677 | MI_MM_SPACE_GTT | | 2677 | MI_MM_SPACE_GTT | |
2678 | MI_SAVE_EXT_STATE_EN | | 2678 | MI_SAVE_EXT_STATE_EN | |
2679 | MI_RESTORE_EXT_STATE_EN | | 2679 | MI_RESTORE_EXT_STATE_EN | |
@@ -2695,7 +2695,7 @@ static void ironlake_enable_rc6(struct drm_device *dev) | |||
2695 | return; | 2695 | return; |
2696 | } | 2696 | } |
2697 | 2697 | ||
2698 | I915_WRITE(PWRCTXA, dev_priv->pwrctx->gtt_offset | PWRCTX_EN); | 2698 | I915_WRITE(PWRCTXA, dev_priv->ips.pwrctx->gtt_offset | PWRCTX_EN); |
2699 | I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT); | 2699 | I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT); |
2700 | } | 2700 | } |
2701 | 2701 | ||