mirror of https://gitee.com/openkylin/linux.git
drm/atomic-helper: Extract drm_atomic_helper_calc_timestamping_constants()
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(). v2: Drop comment about 'legacy state' in the new function Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200907120026.6360-1-ville.syrjala@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
00af6729b5
commit
4b31a9c77b
|
@ -1186,13 +1186,32 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev,
|
||||||
crtc->x = new_plane_state->src_x >> 16;
|
crtc->x = new_plane_state->src_x >> 16;
|
||||||
crtc->y = new_plane_state->src_y >> 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;
|
||||||
|
|
||||||
|
for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
|
||||||
if (new_crtc_state->enable)
|
if (new_crtc_state->enable)
|
||||||
drm_calc_timestamping_constants(crtc,
|
drm_calc_timestamping_constants(crtc,
|
||||||
&new_crtc_state->adjusted_mode);
|
&new_crtc_state->adjusted_mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_atomic_helper_update_legacy_modeset_state);
|
EXPORT_SYMBOL(drm_atomic_helper_calc_timestamping_constants);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
|
crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||||
|
|
|
@ -74,6 +74,9 @@ void
|
||||||
drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev,
|
drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev,
|
||||||
struct drm_atomic_state *old_state);
|
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,
|
void drm_atomic_helper_commit_modeset_disables(struct drm_device *dev,
|
||||||
struct drm_atomic_state *state);
|
struct drm_atomic_state *state);
|
||||||
void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
|
void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
|
||||||
|
|
Loading…
Reference in New Issue