Op 07-12-17 om 15:32 schreef Daniel Vetter: > Even fbc isn't using this stuff anymore, so time to remove it. > > Cleaning up one small piece of the atomic conversion cruft at the time > ... > > Quick explanation on why the plane->fb assignment is ok to delete: The > core code takes care of the refcounting and legacy ->fb pointer > updating, but drivers are allowed to update it ahead of time. Most > legacy modeset drivers did that as part of their set_config callback > (since that's how the legacy/crtc helpers worked). In i915 we only > need that to make the fbc code happy. > > v2: don't nuke the assignement of intel_crtc->config, I accidentally > set CI ablaze :-) Spotted by Maarten. And better explain why nuking > the ->fb assignement shouldn't set off alarm bells. > > Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 31 +++---------------------------- > 1 file changed, 3 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 1f7e312d0d0d..4614c7f1eec5 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -10967,31 +10967,6 @@ intel_modeset_pipe_config(struct drm_crtc *crtc, > return ret; > } > > -static void > -intel_modeset_update_crtc_state(struct drm_atomic_state *state) > -{ > - struct drm_crtc *crtc; > - struct drm_crtc_state *new_crtc_state; > - int i; > - > - /* Double check state. */ > - for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) { > - to_intel_crtc(crtc)->config = to_intel_crtc_state(new_crtc_state); > - > - /* > - * Update legacy state to satisfy fbc code. This can > - * be removed when fbc uses the atomic state. > - */ > - if (drm_atomic_get_existing_plane_state(state, crtc->primary)) { > - struct drm_plane_state *plane_state = crtc->primary->state; > - > - crtc->primary->fb = plane_state->fb; > - crtc->x = plane_state->src_x >> 16; > - crtc->y = plane_state->src_y >> 16; > - } > - } > -} > - > static bool intel_fuzzy_clock_check(int clock1, int clock2) > { > int diff; > @@ -12364,9 +12339,9 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) > } > } > > - /* Only after disabling all output pipelines that will be changed can we > - * update the the output configuration. */ > - intel_modeset_update_crtc_state(state); > + /* FIXME: Eventually get rid of our intel_crtc->config pointer */ > + for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) > + to_intel_crtc(crtc)->config = to_intel_crtc_state(new_crtc_state); > > if (intel_state->modeset) { > drm_atomic_helper_update_legacy_modeset_state(state->dev, state); _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx