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: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201113155656.17630-1-manasi.d.navare@intel.com
This commit is contained in:
parent
bafcdad643
commit
aa07c1d3be
@ -12630,7 +12630,7 @@ static bool encoders_cloneable(const struct intel_encoder *a,
|
||||
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_encoder *encoder)
|
||||
{
|
||||
@ -12639,7 +12639,7 @@ static bool check_single_encoder_cloning(struct drm_atomic_state *state,
|
||||
struct drm_connector_state *connector_state;
|
||||
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)
|
||||
continue;
|
||||
|
||||
@ -13418,20 +13418,23 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state)
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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.active = crtc_state->uapi.active;
|
||||
crtc_state->hw.mode = crtc_state->uapi.mode;
|
||||
crtc_state->hw.adjusted_mode = crtc_state->uapi.adjusted_mode;
|
||||
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)
|
||||
@ -13454,7 +13457,8 @@ static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state
|
||||
}
|
||||
|
||||
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 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)
|
||||
memcpy(crtc_state, saved_state, sizeof(*crtc_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;
|
||||
}
|
||||
|
||||
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_atomic_state *state = pipe_config->uapi.state;
|
||||
struct drm_i915_private *i915 = to_i915(pipe_config->uapi.crtc->dev);
|
||||
struct drm_connector *connector;
|
||||
struct drm_connector_state *connector_state;
|
||||
@ -13537,7 +13541,7 @@ intel_modeset_pipe_config(struct intel_crtc_state *pipe_config)
|
||||
&pipe_config->pipe_src_w,
|
||||
&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 =
|
||||
to_intel_encoder(connector_state->best_encoder);
|
||||
|
||||
@ -13575,7 +13579,7 @@ encoder_retry:
|
||||
* adjust it according to limitations or connector properties, and also
|
||||
* 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 =
|
||||
to_intel_encoder(connector_state->best_encoder);
|
||||
|
||||
@ -15196,19 +15200,19 @@ static int intel_atomic_check(struct drm_device *dev,
|
||||
new_crtc_state, i) {
|
||||
if (!needs_modeset(new_crtc_state)) {
|
||||
/* 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;
|
||||
}
|
||||
|
||||
ret = intel_crtc_prepare_cleared_state(new_crtc_state);
|
||||
ret = intel_crtc_prepare_cleared_state(state, new_crtc_state);
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
if (!new_crtc_state->hw.enable)
|
||||
continue;
|
||||
|
||||
ret = intel_modeset_pipe_config(new_crtc_state);
|
||||
ret = intel_modeset_pipe_config(state, new_crtc_state);
|
||||
if (ret)
|
||||
goto fail;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user