[Intel-gfx] [PATCH v2 13/20] drm/i915: Pass the crtc to skl_compute_dbuf_slices()
Ville Syrjala
ville.syrjala at linux.intel.com
Tue Feb 25 17:11:18 UTC 2020
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
skl_compute_dbuf_slices() has no use for the crtc state, so
just pass the crtc itself.
Cc: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 3f48ce7517e2..256622b603cd 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3861,7 +3861,7 @@ static unsigned int intel_crtc_ddb_weight(const struct intel_crtc_state *crtc_st
return hdisplay;
}
-static u8 skl_compute_dbuf_slices(const struct intel_crtc_state *crtc_state,
+static u8 skl_compute_dbuf_slices(struct intel_crtc *crtc,
u8 active_pipes);
static int
@@ -3873,10 +3873,10 @@ skl_ddb_get_pipe_allocation_limits(struct drm_i915_private *dev_priv,
{
struct drm_atomic_state *state = crtc_state->uapi.state;
struct intel_atomic_state *intel_state = to_intel_atomic_state(state);
- struct drm_crtc *for_crtc = crtc_state->uapi.crtc;
- const struct intel_crtc *crtc;
+ struct intel_crtc *for_crtc = to_intel_crtc(crtc_state->uapi.crtc);
+ struct intel_crtc *crtc;
unsigned int pipe_weight = 0, total_weight = 0, weight_before_pipe = 0;
- enum pipe for_pipe = to_intel_crtc(for_crtc)->pipe;
+ enum pipe for_pipe = for_crtc->pipe;
struct intel_dbuf_state *new_dbuf_state =
intel_atomic_get_new_dbuf_state(intel_state);
const struct intel_dbuf_state *old_dbuf_state =
@@ -3920,14 +3920,14 @@ skl_ddb_get_pipe_allocation_limits(struct drm_i915_private *dev_priv,
*
* FIXME get rid of this mess
*/
- *alloc = to_intel_crtc_state(for_crtc->state)->wm.skl.ddb;
+ *alloc = to_intel_crtc_state(for_crtc->base.state)->wm.skl.ddb;
return 0;
}
/*
* Get allowed DBuf slices for correspondent pipe and platform.
*/
- dbuf_slice_mask = skl_compute_dbuf_slices(crtc_state, active_pipes);
+ dbuf_slice_mask = skl_compute_dbuf_slices(for_crtc, active_pipes);
/*
* Figure out at which DBuf slice we start, i.e if we start at Dbuf S2
@@ -3953,8 +3953,8 @@ skl_ddb_get_pipe_allocation_limits(struct drm_i915_private *dev_priv,
if (!crtc_state->hw.active)
continue;
- pipe_dbuf_slice_mask = skl_compute_dbuf_slices(crtc_state,
- active_pipes);
+ pipe_dbuf_slice_mask =
+ skl_compute_dbuf_slices(crtc, active_pipes);
/*
* According to BSpec pipe can share one dbuf slice with another
@@ -4004,7 +4004,7 @@ skl_ddb_get_pipe_allocation_limits(struct drm_i915_private *dev_priv,
drm_dbg_kms(&dev_priv->drm,
"[CRTC:%d:%s] dbuf slices 0x%x, ddb (%d - %d), active pipes 0x%x\n",
- for_crtc->base.id, for_crtc->name,
+ for_crtc->base.base.id, for_crtc->base.name,
dbuf_slice_mask, alloc->start, alloc->end, active_pipes);
return 0;
@@ -4402,10 +4402,8 @@ static u8 tgl_compute_dbuf_slices(enum pipe pipe, u8 active_pipes)
return compute_dbuf_slices(pipe, active_pipes, tgl_allowed_dbufs);
}
-static u8 skl_compute_dbuf_slices(const struct intel_crtc_state *crtc_state,
- u8 active_pipes)
+static u8 skl_compute_dbuf_slices(struct intel_crtc *crtc, u8 active_pipes)
{
- struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
enum pipe pipe = crtc->pipe;
--
2.24.1
More information about the Intel-gfx
mailing list