aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2015-11-19 10:07:14 -0500
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2015-12-07 04:55:47 -0500
commitab1d3a0e5a44f5b1a8d1f811e925c8519b56fba4 (patch)
tree476f4584d2a8fea27961283e9948dcf782c77f69 /drivers/gpu/drm/i915/intel_display.c
parenta4d8a0fe4500b87817eebdb363c116922de87453 (diff)
drm/i915: Move disable_cxsr to the crtc_state.
intel_crtc->atomic will be removed later on, move this member to intel_crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1447945645-32005-2-git-send-email-maarten.lankhorst@linux.intel.com Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3a13a498722a..8dcab232e438 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4800,8 +4800,7 @@ static void intel_post_plane_update(struct intel_crtc *crtc)
4800 4800
4801 intel_frontbuffer_flip(dev, atomic->fb_bits); 4801 intel_frontbuffer_flip(dev, atomic->fb_bits);
4802 4802
4803 if (atomic->disable_cxsr) 4803 crtc->wm.cxsr_allowed = true;
4804 crtc->wm.cxsr_allowed = true;
4805 4804
4806 if (crtc->atomic.update_wm_post) 4805 if (crtc->atomic.update_wm_post)
4807 intel_update_watermarks(&crtc->base); 4806 intel_update_watermarks(&crtc->base);
@@ -4820,6 +4819,8 @@ static void intel_pre_plane_update(struct intel_crtc *crtc)
4820 struct drm_device *dev = crtc->base.dev; 4819 struct drm_device *dev = crtc->base.dev;
4821 struct drm_i915_private *dev_priv = dev->dev_private; 4820 struct drm_i915_private *dev_priv = dev->dev_private;
4822 struct intel_crtc_atomic_commit *atomic = &crtc->atomic; 4821 struct intel_crtc_atomic_commit *atomic = &crtc->atomic;
4822 struct intel_crtc_state *pipe_config =
4823 to_intel_crtc_state(crtc->base.state);
4823 4824
4824 if (atomic->disable_fbc) 4825 if (atomic->disable_fbc)
4825 intel_fbc_deactivate(crtc); 4826 intel_fbc_deactivate(crtc);
@@ -4830,7 +4831,7 @@ static void intel_pre_plane_update(struct intel_crtc *crtc)
4830 if (atomic->pre_disable_primary) 4831 if (atomic->pre_disable_primary)
4831 intel_pre_disable_primary(&crtc->base); 4832 intel_pre_disable_primary(&crtc->base);
4832 4833
4833 if (atomic->disable_cxsr) { 4834 if (pipe_config->disable_cxsr) {
4834 crtc->wm.cxsr_allowed = false; 4835 crtc->wm.cxsr_allowed = false;
4835 intel_set_memory_cxsr(dev_priv, false); 4836 intel_set_memory_cxsr(dev_priv, false);
4836 } 4837 }
@@ -11720,6 +11721,7 @@ static bool needs_scaling(struct intel_plane_state *state)
11720int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state, 11721int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
11721 struct drm_plane_state *plane_state) 11722 struct drm_plane_state *plane_state)
11722{ 11723{
11724 struct intel_crtc_state *pipe_config = to_intel_crtc_state(crtc_state);
11723 struct drm_crtc *crtc = crtc_state->crtc; 11725 struct drm_crtc *crtc = crtc_state->crtc;
11724 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 11726 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
11725 struct drm_plane *plane = plane_state->plane; 11727 struct drm_plane *plane = plane_state->plane;
@@ -11770,7 +11772,7 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
11770 intel_crtc->atomic.update_wm_pre = true; 11772 intel_crtc->atomic.update_wm_pre = true;
11771 /* must disable cxsr around plane enable/disable */ 11773 /* must disable cxsr around plane enable/disable */
11772 if (plane->type != DRM_PLANE_TYPE_CURSOR) { 11774 if (plane->type != DRM_PLANE_TYPE_CURSOR) {
11773 intel_crtc->atomic.disable_cxsr = true; 11775 pipe_config->disable_cxsr = true;
11774 /* to potentially re-enable cxsr */ 11776 /* to potentially re-enable cxsr */
11775 intel_crtc->atomic.wait_vblank = true; 11777 intel_crtc->atomic.wait_vblank = true;
11776 intel_crtc->atomic.update_wm_post = true; 11778 intel_crtc->atomic.update_wm_post = true;
@@ -11781,7 +11783,7 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
11781 if (plane->type != DRM_PLANE_TYPE_CURSOR) { 11783 if (plane->type != DRM_PLANE_TYPE_CURSOR) {
11782 if (is_crtc_enabled) 11784 if (is_crtc_enabled)
11783 intel_crtc->atomic.wait_vblank = true; 11785 intel_crtc->atomic.wait_vblank = true;
11784 intel_crtc->atomic.disable_cxsr = true; 11786 pipe_config->disable_cxsr = true;
11785 } 11787 }
11786 } else if (intel_wm_need_update(plane, plane_state)) { 11788 } else if (intel_wm_need_update(plane, plane_state)) {
11787 intel_crtc->atomic.update_wm_pre = true; 11789 intel_crtc->atomic.update_wm_pre = true;