On Mon, Sep 07, 2020 at 03:00:24PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Put the vblank timestamping constants update loop into its own > function. It has no business living inside > drm_atomic_helper_update_legacy_modeset_state() so we'll be wanting > to move it out entirely. As a first step we'll still call it > from drm_atomic_helper_update_legacy_modeset_state(). > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_atomic_helper.c | 22 +++++++++++++++++++++- > include/drm/drm_atomic_helper.h | 3 +++ > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 9e1ad493e689..673e3fc282d9 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -1186,13 +1186,33 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, > crtc->x = new_plane_state->src_x >> 16; > crtc->y = new_plane_state->src_y >> 16; > } > + } > > + drm_atomic_helper_calc_timestamping_constants(old_state); > +} > +EXPORT_SYMBOL(drm_atomic_helper_update_legacy_modeset_state); > + > +/** > + * drm_atomic_helper_calc_timestamping_constants - update vblank timestamping constants > + * @state: atomic state object > + * > + * Updates the timestamping constants used for precise vblank timestamps > + * by calling drm_calc_timestamping_constants() for all enabled crtcs in @state. > + */ > +void drm_atomic_helper_calc_timestamping_constants(struct drm_atomic_state *state) > +{ > + struct drm_crtc_state *new_crtc_state; > + struct drm_crtc *crtc; > + int i; > + > + /* set legacy state in the crtc structure */ > + for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) { > if (new_crtc_state->enable) > drm_calc_timestamping_constants(crtc, > &new_crtc_state->adjusted_mode); > } > } > -EXPORT_SYMBOL(drm_atomic_helper_update_legacy_modeset_state); > +EXPORT_SYMBOL(drm_atomic_helper_calc_timestamping_constants); > > static void > crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state) > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index b268180c97eb..85df04c8e62f 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -74,6 +74,9 @@ void > drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, > struct drm_atomic_state *old_state); > > +void > +drm_atomic_helper_calc_timestamping_constants(struct drm_atomic_state *state); > + > void drm_atomic_helper_commit_modeset_disables(struct drm_device *dev, > struct drm_atomic_state *state); > void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev, > -- > 2.26.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel