mirror of https://gitee.com/openkylin/linux.git
drm/atomic: Rename crtc_state->pageflip_flags to async_flip
It's the only flag anyone actually cares about. Plus if we're unlucky, the atomic ioctl might need a different flag for async flips. So better to abstract this away from the uapi a bit. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Michel Dänzer <michel@daenzer.net> Cc: Alex Deucher <alexdeucher@gmail.com> Cc: Adam Jackson <ajax@redhat.com> Cc: Sean Paul <sean@poorly.run> Cc: David Airlie <airlied@linux.ie> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Maxime Ripard <maxime.ripard@bootlin.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Cc: Harry Wentland <harry.wentland@amd.com> Cc: David Francis <David.Francis@amd.com> Cc: Mario Kleiner <mario.kleiner.de@gmail.com> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Ilia Mirkin <imirkin@alum.mit.edu> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190903190642.32588-3-daniel.vetter@ffwll.ch
This commit is contained in:
parent
f2cbda2dba
commit
4d85f45c73
|
@ -5756,8 +5756,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
|
|||
* change FB pitch, DCC state, rotation or mirroing.
|
||||
*/
|
||||
bundle->flip_addrs[planes_count].flip_immediate =
|
||||
(crtc->state->pageflip_flags &
|
||||
DRM_MODE_PAGE_FLIP_ASYNC) != 0 &&
|
||||
crtc->state->async_flip &&
|
||||
acrtc_state->update_type == UPDATE_TYPE_FAST;
|
||||
|
||||
timestamp_ns = ktime_get_ns();
|
||||
|
@ -6334,7 +6333,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
|
|||
amdgpu_dm_enable_crtc_interrupts(dev, state, true);
|
||||
|
||||
for_each_new_crtc_in_state(state, crtc, new_crtc_state, j)
|
||||
if (new_crtc_state->pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC)
|
||||
if (new_crtc_state->async_flip)
|
||||
wait_for_vblank = false;
|
||||
|
||||
/* update planes when needed per crtc*/
|
||||
|
|
|
@ -3275,7 +3275,7 @@ static int page_flip_common(struct drm_atomic_state *state,
|
|||
return PTR_ERR(crtc_state);
|
||||
|
||||
crtc_state->event = event;
|
||||
crtc_state->pageflip_flags = flags;
|
||||
crtc_state->async_flip = flags & DRM_MODE_PAGE_FLIP_ASYNC;
|
||||
|
||||
plane_state = drm_atomic_get_plane_state(state, plane);
|
||||
if (IS_ERR(plane_state))
|
||||
|
|
|
@ -128,7 +128,7 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
|
|||
state->zpos_changed = false;
|
||||
state->commit = NULL;
|
||||
state->event = NULL;
|
||||
state->pageflip_flags = 0;
|
||||
state->async_flip = false;
|
||||
|
||||
/* Self refresh should be canceled when a new update is available */
|
||||
state->active = drm_atomic_crtc_effectively_active(state);
|
||||
|
|
|
@ -267,7 +267,7 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset,
|
|||
asyw->image.pitch[0] = fb->base.pitches[0];
|
||||
}
|
||||
|
||||
if (!(asyh->state.pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC))
|
||||
if (!asyh->state.async_flip)
|
||||
asyw->image.interval = 1;
|
||||
else
|
||||
asyw->image.interval = 0;
|
||||
|
@ -383,7 +383,7 @@ nv50_wndw_atomic_check_lut(struct nv50_wndw *wndw,
|
|||
}
|
||||
|
||||
/* Can't do an immediate flip while changing the LUT. */
|
||||
asyh->state.pageflip_flags &= ~DRM_MODE_PAGE_FLIP_ASYNC;
|
||||
asyh->state.async_flip = false;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
@ -285,12 +285,12 @@ struct drm_crtc_state {
|
|||
u32 target_vblank;
|
||||
|
||||
/**
|
||||
* @pageflip_flags:
|
||||
* @async_flip:
|
||||
*
|
||||
* DRM_MODE_PAGE_FLIP_* flags, as passed to the page flip ioctl.
|
||||
* Zero in any other case.
|
||||
* This is set when DRM_MODE_PAGE_FLIP_ASYNC is set in the legacy
|
||||
* PAGE_FLIP IOCTL. It's not wired up for the atomic IOCTL itself yet.
|
||||
*/
|
||||
u32 pageflip_flags;
|
||||
bool async_flip;
|
||||
|
||||
/**
|
||||
* @vrr_enabled:
|
||||
|
|
Loading…
Reference in New Issue