Commit a6747b73 authored by Maarten Lankhorst's avatar Maarten Lankhorst

drm/i915: Make unpin async.

All of intel_post_plane_update is handled there now, so move it over.
This is run after the hw state checker because it can't handle checking
crtc's separately yet.
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1463490484-19540-19-git-send-email-maarten.lankhorst@linux.intel.comReviewed-by: default avatarPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
parent 03f476e1
......@@ -311,6 +311,17 @@ intel_atomic_state_alloc(struct drm_device *dev)
void intel_atomic_state_clear(struct drm_atomic_state *s)
{
struct intel_atomic_state *state = to_intel_atomic_state(s);
int i;
for (i = 0; i < ARRAY_SIZE(state->work); i++) {
struct intel_flip_work *work = state->work[i];
if (work)
intel_free_flip_work(work);
state->work[i] = NULL;
}
drm_atomic_state_default_clear(&state->base);
state->dpll_set = state->modeset = false;
}
This diff is collapsed.
......@@ -304,6 +304,8 @@ struct intel_atomic_state {
unsigned int active_crtcs;
unsigned int min_pixclk[I915_MAX_PIPES];
struct intel_flip_work *work[I915_MAX_PIPES];
struct intel_shared_dpll_config shared_dpll[I915_NUM_PLLS];
/*
......@@ -979,7 +981,7 @@ struct intel_flip_work {
unsigned put_power_domains;
unsigned num_planes;
bool can_async_unpin;
bool can_async_unpin, free_new_crtc_state;
unsigned fb_bits;
unsigned num_old_connectors, num_new_connectors;
......@@ -1147,6 +1149,7 @@ unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info
bool intel_has_pending_fb_unpin(struct drm_device *dev);
void intel_mark_busy(struct drm_i915_private *dev_priv);
void intel_mark_idle(struct drm_i915_private *dev_priv);
void intel_free_flip_work(struct intel_flip_work *work);
void intel_crtc_restore_mode(struct drm_crtc *crtc);
int intel_display_suspend(struct drm_device *dev);
void intel_encoder_destroy(struct drm_encoder *encoder);
......
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