Commit aa07c1d3 authored by Manasi Navare's avatar Manasi Navare

drm/i915: Pass intel_atomic_state instead of drm_atomic_state

No functional changes, to align with previous cleanups pass
intel_atomic_state instead of drm_atomic_state.
Also pass this intel_atomic_state with crtc_state to
some of the atomic_check functions.

v2:
* Squash some changes from next patch (Ville)
Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201113155656.17630-1-manasi.d.navare@intel.com
parent bafcdad6
...@@ -12630,7 +12630,7 @@ static bool encoders_cloneable(const struct intel_encoder *a, ...@@ -12630,7 +12630,7 @@ static bool encoders_cloneable(const struct intel_encoder *a,
b->cloneable & (1 << a->type)); b->cloneable & (1 << a->type));
} }
static bool check_single_encoder_cloning(struct drm_atomic_state *state, static bool check_single_encoder_cloning(struct intel_atomic_state *state,
struct intel_crtc *crtc, struct intel_crtc *crtc,
struct intel_encoder *encoder) struct intel_encoder *encoder)
{ {
...@@ -12639,7 +12639,7 @@ static bool check_single_encoder_cloning(struct drm_atomic_state *state, ...@@ -12639,7 +12639,7 @@ static bool check_single_encoder_cloning(struct drm_atomic_state *state,
struct drm_connector_state *connector_state; struct drm_connector_state *connector_state;
int i; int i;
for_each_new_connector_in_state(state, connector, connector_state, i) { for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
if (connector_state->crtc != &crtc->base) if (connector_state->crtc != &crtc->base)
continue; continue;
...@@ -13418,20 +13418,23 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state) ...@@ -13418,20 +13418,23 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state)
} }
static void static void
intel_crtc_copy_uapi_to_hw_state_nomodeset(struct intel_crtc_state *crtc_state) intel_crtc_copy_uapi_to_hw_state_nomodeset(struct intel_atomic_state *state,
struct intel_crtc_state *crtc_state)
{ {
intel_crtc_copy_color_blobs(crtc_state); intel_crtc_copy_color_blobs(crtc_state);
} }
static void static void
intel_crtc_copy_uapi_to_hw_state(struct intel_crtc_state *crtc_state) intel_crtc_copy_uapi_to_hw_state(struct intel_atomic_state *state,
struct intel_crtc_state *crtc_state)
{ {
crtc_state->hw.enable = crtc_state->uapi.enable; crtc_state->hw.enable = crtc_state->uapi.enable;
crtc_state->hw.active = crtc_state->uapi.active; crtc_state->hw.active = crtc_state->uapi.active;
crtc_state->hw.mode = crtc_state->uapi.mode; crtc_state->hw.mode = crtc_state->uapi.mode;
crtc_state->hw.adjusted_mode = crtc_state->uapi.adjusted_mode; crtc_state->hw.adjusted_mode = crtc_state->uapi.adjusted_mode;
crtc_state->hw.scaling_filter = crtc_state->uapi.scaling_filter; crtc_state->hw.scaling_filter = crtc_state->uapi.scaling_filter;
intel_crtc_copy_uapi_to_hw_state_nomodeset(crtc_state);
intel_crtc_copy_uapi_to_hw_state_nomodeset(state, crtc_state);
} }
static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state) static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state)
...@@ -13454,7 +13457,8 @@ static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state ...@@ -13454,7 +13457,8 @@ static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state
} }
static int static int
intel_crtc_prepare_cleared_state(struct intel_crtc_state *crtc_state) intel_crtc_prepare_cleared_state(struct intel_atomic_state *state,
struct intel_crtc_state *crtc_state)
{ {
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
...@@ -13486,16 +13490,16 @@ intel_crtc_prepare_cleared_state(struct intel_crtc_state *crtc_state) ...@@ -13486,16 +13490,16 @@ intel_crtc_prepare_cleared_state(struct intel_crtc_state *crtc_state)
memcpy(crtc_state, saved_state, sizeof(*crtc_state)); memcpy(crtc_state, saved_state, sizeof(*crtc_state));
kfree(saved_state); kfree(saved_state);
intel_crtc_copy_uapi_to_hw_state(crtc_state); intel_crtc_copy_uapi_to_hw_state(state, crtc_state);
return 0; return 0;
} }
static int static int
intel_modeset_pipe_config(struct intel_crtc_state *pipe_config) intel_modeset_pipe_config(struct intel_atomic_state *state,
struct intel_crtc_state *pipe_config)
{ {
struct drm_crtc *crtc = pipe_config->uapi.crtc; struct drm_crtc *crtc = pipe_config->uapi.crtc;
struct drm_atomic_state *state = pipe_config->uapi.state;
struct drm_i915_private *i915 = to_i915(pipe_config->uapi.crtc->dev); struct drm_i915_private *i915 = to_i915(pipe_config->uapi.crtc->dev);
struct drm_connector *connector; struct drm_connector *connector;
struct drm_connector_state *connector_state; struct drm_connector_state *connector_state;
...@@ -13537,7 +13541,7 @@ intel_modeset_pipe_config(struct intel_crtc_state *pipe_config) ...@@ -13537,7 +13541,7 @@ intel_modeset_pipe_config(struct intel_crtc_state *pipe_config)
&pipe_config->pipe_src_w, &pipe_config->pipe_src_w,
&pipe_config->pipe_src_h); &pipe_config->pipe_src_h);
for_each_new_connector_in_state(state, connector, connector_state, i) { for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
struct intel_encoder *encoder = struct intel_encoder *encoder =
to_intel_encoder(connector_state->best_encoder); to_intel_encoder(connector_state->best_encoder);
...@@ -13575,7 +13579,7 @@ intel_modeset_pipe_config(struct intel_crtc_state *pipe_config) ...@@ -13575,7 +13579,7 @@ intel_modeset_pipe_config(struct intel_crtc_state *pipe_config)
* adjust it according to limitations or connector properties, and also * adjust it according to limitations or connector properties, and also
* a chance to reject the mode entirely. * a chance to reject the mode entirely.
*/ */
for_each_new_connector_in_state(state, connector, connector_state, i) { for_each_new_connector_in_state(&state->base, connector, connector_state, i) {
struct intel_encoder *encoder = struct intel_encoder *encoder =
to_intel_encoder(connector_state->best_encoder); to_intel_encoder(connector_state->best_encoder);
...@@ -15196,19 +15200,19 @@ static int intel_atomic_check(struct drm_device *dev, ...@@ -15196,19 +15200,19 @@ static int intel_atomic_check(struct drm_device *dev,
new_crtc_state, i) { new_crtc_state, i) {
if (!needs_modeset(new_crtc_state)) { if (!needs_modeset(new_crtc_state)) {
/* Light copy */ /* Light copy */
intel_crtc_copy_uapi_to_hw_state_nomodeset(new_crtc_state); intel_crtc_copy_uapi_to_hw_state_nomodeset(state, new_crtc_state);
continue; continue;
} }
ret = intel_crtc_prepare_cleared_state(new_crtc_state); ret = intel_crtc_prepare_cleared_state(state, new_crtc_state);
if (ret) if (ret)
goto fail; goto fail;
if (!new_crtc_state->hw.enable) if (!new_crtc_state->hw.enable)
continue; continue;
ret = intel_modeset_pipe_config(new_crtc_state); ret = intel_modeset_pipe_config(state, new_crtc_state);
if (ret) if (ret)
goto fail; goto fail;
} }
......
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