[Intel-gfx] [RFC 7/8] drm/i915/vlv: Move active watermarks into intel_crtc->wm.active.vlv
Chi Ding
chix.ding at intel.com
Thu Jun 23 08:57:58 UTC 2016
From: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Previously the active watermarks is saved in intel_crtc->wm_state
This commit adds a new field "vlv" into intel_crtc->wm.active and save
the active watermarks in it to be consistent with what we do on other
platforms.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Signed-off-by: Chi Ding <chix.ding at intel.com>
---
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 12 ++++++------
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 6d616b6..2d3dfec 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -678,6 +678,7 @@ struct intel_crtc {
union {
struct intel_pipe_wm ilk;
struct skl_pipe_wm skl;
+ struct vlv_wm_state vlv;
} active;
/* allow CxSR on this pipe */
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 0076716..ceded5b 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -1204,7 +1204,7 @@ static void vlv_pipe_set_fifo_size(struct intel_crtc *crtc)
struct drm_device *dev = crtc->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
int sprite0_start = 0, sprite1_start = 0, fifo_size = 0;
- const struct vlv_wm_state *wm_state = &crtc->wm_state;
+ const struct vlv_wm_state *wm_state = &crtc->wm.active.vlv;
WARN_ON(wm_state->fifo_size[PLANE_CURSOR] != 63);
@@ -1286,7 +1286,7 @@ static void vlv_merge_wm(struct drm_device *dev,
wm->cxsr = true;
for_each_intel_crtc(dev, crtc) {
- const struct vlv_wm_state *wm_state = &crtc->wm_state;
+ const struct vlv_wm_state *wm_state = &crtc->wm.active.vlv;
if (!crtc->active)
continue;
@@ -1305,7 +1305,7 @@ static void vlv_merge_wm(struct drm_device *dev,
wm->level = VLV_WM_LEVEL_PM2;
for_each_intel_crtc(dev, crtc) {
- struct vlv_wm_state *wm_state = &crtc->wm_state;
+ struct vlv_wm_state *wm_state = &crtc->wm.active.vlv;
enum pipe pipe = crtc->pipe;
if (!crtc->active)
@@ -1332,7 +1332,7 @@ static void vlv_update_wm(struct drm_crtc *crtc)
vlv_compute_wm(intel_crtc->config);
mutex_lock(&dev_priv->wm.wm_mutex);
- intel_crtc->wm_state = intel_crtc->config->wm.vlv.optimal;
+ intel_crtc->wm.active.vlv = intel_crtc->config->wm.vlv.optimal;
vlv_merge_wm(dev, &wm);
mutex_unlock(&dev_priv->wm.wm_mutex);
@@ -4234,7 +4234,7 @@ void vlv_wm_get_hw_state(struct drm_device *dev)
int i = wm_plane_id(plane);
crtc = to_intel_crtc(intel_get_crtc_for_pipe(dev, plane->pipe));
- wm_state = &crtc->wm_state;
+ wm_state = &crtc->wm.active.vlv;
switch (plane->base.type) {
case DRM_PLANE_TYPE_CURSOR:
@@ -4288,7 +4288,7 @@ void vlv_wm_get_hw_state(struct drm_device *dev)
for_each_intel_crtc(dev, crtc) {
pipe = crtc->pipe;
to_intel_crtc_state(crtc->base.state)->wm.vlv.optimal
- = crtc->wm_state;
+ = crtc->wm.active.vlv;
DRM_DEBUG_KMS("Initial watermarks: pipe %c, plane=%d, cursor=%d, sprite0=%d, sprite1=%d\n",
pipe_name(pipe), wm->pipe[pipe].primary, wm->pipe[pipe].cursor,
--
1.8.0.1
More information about the Intel-gfx
mailing list