Commit 5643dd9c authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Use intel_ types in intel_modeset_checks()

Switch to using intel_ types instead of drm_ types. Avoids
ugly casts and nasty aliasing variables with different types.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190517193132.8140-8-ville.syrjala@linux.intel.comReviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
parent f239b799
...@@ -13222,38 +13222,37 @@ static int intel_modeset_all_pipes(struct drm_atomic_state *state) ...@@ -13222,38 +13222,37 @@ static int intel_modeset_all_pipes(struct drm_atomic_state *state)
return 0; return 0;
} }
static int intel_modeset_checks(struct drm_atomic_state *state) static int intel_modeset_checks(struct intel_atomic_state *state)
{ {
struct intel_atomic_state *intel_state = to_intel_atomic_state(state); struct drm_i915_private *dev_priv = to_i915(state->base.dev);
struct drm_i915_private *dev_priv = to_i915(state->dev); struct intel_crtc_state *old_crtc_state, *new_crtc_state;
struct drm_crtc *crtc; struct intel_crtc *crtc;
struct drm_crtc_state *old_crtc_state, *new_crtc_state;
int ret = 0, i; int ret = 0, i;
if (!check_digital_port_conflicts(intel_state)) { if (!check_digital_port_conflicts(state)) {
DRM_DEBUG_KMS("rejecting conflicting digital port configuration\n"); DRM_DEBUG_KMS("rejecting conflicting digital port configuration\n");
return -EINVAL; return -EINVAL;
} }
/* keep the current setting */ /* keep the current setting */
if (!intel_state->cdclk.force_min_cdclk_changed) if (!state->cdclk.force_min_cdclk_changed)
intel_state->cdclk.force_min_cdclk = state->cdclk.force_min_cdclk = dev_priv->cdclk.force_min_cdclk;
dev_priv->cdclk.force_min_cdclk;
intel_state->modeset = true; state->modeset = true;
intel_state->active_crtcs = dev_priv->active_crtcs; state->active_crtcs = dev_priv->active_crtcs;
intel_state->cdclk.logical = dev_priv->cdclk.logical; state->cdclk.logical = dev_priv->cdclk.logical;
intel_state->cdclk.actual = dev_priv->cdclk.actual; state->cdclk.actual = dev_priv->cdclk.actual;
intel_state->cdclk.pipe = INVALID_PIPE; state->cdclk.pipe = INVALID_PIPE;
for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
if (new_crtc_state->active) new_crtc_state, i) {
intel_state->active_crtcs |= 1 << i; if (new_crtc_state->base.active)
state->active_crtcs |= 1 << i;
else else
intel_state->active_crtcs &= ~(1 << i); state->active_crtcs &= ~(1 << i);
if (old_crtc_state->active != new_crtc_state->active) if (old_crtc_state->base.active != new_crtc_state->base.active)
intel_state->active_pipe_changes |= drm_crtc_mask(crtc); state->active_pipe_changes |= drm_crtc_mask(&crtc->base);
} }
/* /*
...@@ -13266,7 +13265,7 @@ static int intel_modeset_checks(struct drm_atomic_state *state) ...@@ -13266,7 +13265,7 @@ static int intel_modeset_checks(struct drm_atomic_state *state)
if (dev_priv->display.modeset_calc_cdclk) { if (dev_priv->display.modeset_calc_cdclk) {
enum pipe pipe; enum pipe pipe;
ret = dev_priv->display.modeset_calc_cdclk(intel_state); ret = dev_priv->display.modeset_calc_cdclk(state);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -13276,19 +13275,19 @@ static int intel_modeset_checks(struct drm_atomic_state *state) ...@@ -13276,19 +13275,19 @@ static int intel_modeset_checks(struct drm_atomic_state *state)
* touching the hardware * touching the hardware
*/ */
if (intel_cdclk_changed(&dev_priv->cdclk.logical, if (intel_cdclk_changed(&dev_priv->cdclk.logical,
&intel_state->cdclk.logical)) { &state->cdclk.logical)) {
ret = intel_lock_all_pipes(state); ret = intel_lock_all_pipes(&state->base);
if (ret < 0) if (ret < 0)
return ret; return ret;
} }
if (is_power_of_2(intel_state->active_crtcs)) { if (is_power_of_2(state->active_crtcs)) {
struct drm_crtc *crtc; struct drm_crtc *crtc;
struct drm_crtc_state *crtc_state; struct drm_crtc_state *crtc_state;
pipe = ilog2(intel_state->active_crtcs); pipe = ilog2(state->active_crtcs);
crtc = &intel_get_crtc_for_pipe(dev_priv, pipe)->base; crtc = &intel_get_crtc_for_pipe(dev_priv, pipe)->base;
crtc_state = drm_atomic_get_new_crtc_state(state, crtc); crtc_state = drm_atomic_get_new_crtc_state(&state->base, crtc);
if (crtc_state && needs_modeset(crtc_state)) if (crtc_state && needs_modeset(crtc_state))
pipe = INVALID_PIPE; pipe = INVALID_PIPE;
} else { } else {
...@@ -13299,33 +13298,33 @@ static int intel_modeset_checks(struct drm_atomic_state *state) ...@@ -13299,33 +13298,33 @@ static int intel_modeset_checks(struct drm_atomic_state *state)
if (pipe != INVALID_PIPE && if (pipe != INVALID_PIPE &&
intel_cdclk_needs_cd2x_update(dev_priv, intel_cdclk_needs_cd2x_update(dev_priv,
&dev_priv->cdclk.actual, &dev_priv->cdclk.actual,
&intel_state->cdclk.actual)) { &state->cdclk.actual)) {
ret = intel_lock_all_pipes(state); ret = intel_lock_all_pipes(&state->base);
if (ret < 0) if (ret < 0)
return ret; return ret;
intel_state->cdclk.pipe = pipe; state->cdclk.pipe = pipe;
} else if (intel_cdclk_needs_modeset(&dev_priv->cdclk.actual, } else if (intel_cdclk_needs_modeset(&dev_priv->cdclk.actual,
&intel_state->cdclk.actual)) { &state->cdclk.actual)) {
ret = intel_modeset_all_pipes(state); ret = intel_modeset_all_pipes(&state->base);
if (ret < 0) if (ret < 0)
return ret; return ret;
intel_state->cdclk.pipe = INVALID_PIPE; state->cdclk.pipe = INVALID_PIPE;
} }
DRM_DEBUG_KMS("New cdclk calculated to be logical %u kHz, actual %u kHz\n", DRM_DEBUG_KMS("New cdclk calculated to be logical %u kHz, actual %u kHz\n",
intel_state->cdclk.logical.cdclk, state->cdclk.logical.cdclk,
intel_state->cdclk.actual.cdclk); state->cdclk.actual.cdclk);
DRM_DEBUG_KMS("New voltage level calculated to be logical %u, actual %u\n", DRM_DEBUG_KMS("New voltage level calculated to be logical %u, actual %u\n",
intel_state->cdclk.logical.voltage_level, state->cdclk.logical.voltage_level,
intel_state->cdclk.actual.voltage_level); state->cdclk.actual.voltage_level);
} }
intel_modeset_clear_plls(intel_state); intel_modeset_clear_plls(state);
if (IS_HASWELL(dev_priv)) if (IS_HASWELL(dev_priv))
return haswell_mode_set_planes_workaround(intel_state); return haswell_mode_set_planes_workaround(state);
return 0; return 0;
} }
...@@ -13414,7 +13413,7 @@ static int intel_atomic_check(struct drm_device *dev, ...@@ -13414,7 +13413,7 @@ static int intel_atomic_check(struct drm_device *dev,
return ret; return ret;
if (any_ms) { if (any_ms) {
ret = intel_modeset_checks(state); ret = intel_modeset_checks(intel_state);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment