summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2019-09-03 15:06:42 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2019-09-18 12:43:36 -0400
commit4d85f45c73a22bc0ee900c7505b7210a87a7966d (patch)
tree00dd06f5801f00604a2a6a7ad70602e457b68b3b
parentf2cbda2dba11de868759cae9c0d2bab5b8411406 (diff)
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
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c5
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c2
-rw-r--r--drivers/gpu/drm/drm_atomic_state_helper.c2
-rw-r--r--drivers/gpu/drm/nouveau/dispnv50/wndw.c4
-rw-r--r--include/drm/drm_crtc.h8
5 files changed, 10 insertions, 11 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 0a71ed1e7762..2f0ef0820f00 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -5756,8 +5756,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
5756 * change FB pitch, DCC state, rotation or mirroing. 5756 * change FB pitch, DCC state, rotation or mirroing.
5757 */ 5757 */
5758 bundle->flip_addrs[planes_count].flip_immediate = 5758 bundle->flip_addrs[planes_count].flip_immediate =
5759 (crtc->state->pageflip_flags & 5759 crtc->state->async_flip &&
5760 DRM_MODE_PAGE_FLIP_ASYNC) != 0 &&
5761 acrtc_state->update_type == UPDATE_TYPE_FAST; 5760 acrtc_state->update_type == UPDATE_TYPE_FAST;
5762 5761
5763 timestamp_ns = ktime_get_ns(); 5762 timestamp_ns = ktime_get_ns();
@@ -6334,7 +6333,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
6334 amdgpu_dm_enable_crtc_interrupts(dev, state, true); 6333 amdgpu_dm_enable_crtc_interrupts(dev, state, true);
6335 6334
6336 for_each_new_crtc_in_state(state, crtc, new_crtc_state, j) 6335 for_each_new_crtc_in_state(state, crtc, new_crtc_state, j)
6337 if (new_crtc_state->pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC) 6336 if (new_crtc_state->async_flip)
6338 wait_for_vblank = false; 6337 wait_for_vblank = false;
6339 6338
6340 /* update planes when needed per crtc*/ 6339 /* update planes when needed per crtc*/
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index aa16ea17ff9b..3a67f63c3146 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -3275,7 +3275,7 @@ static int page_flip_common(struct drm_atomic_state *state,
3275 return PTR_ERR(crtc_state); 3275 return PTR_ERR(crtc_state);
3276 3276
3277 crtc_state->event = event; 3277 crtc_state->event = event;
3278 crtc_state->pageflip_flags = flags; 3278 crtc_state->async_flip = flags & DRM_MODE_PAGE_FLIP_ASYNC;
3279 3279
3280 plane_state = drm_atomic_get_plane_state(state, plane); 3280 plane_state = drm_atomic_get_plane_state(state, plane);
3281 if (IS_ERR(plane_state)) 3281 if (IS_ERR(plane_state))
diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index 46dc264a248b..d0a937fb0c56 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -128,7 +128,7 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
128 state->zpos_changed = false; 128 state->zpos_changed = false;
129 state->commit = NULL; 129 state->commit = NULL;
130 state->event = NULL; 130 state->event = NULL;
131 state->pageflip_flags = 0; 131 state->async_flip = false;
132 132
133 /* Self refresh should be canceled when a new update is available */ 133 /* Self refresh should be canceled when a new update is available */
134 state->active = drm_atomic_crtc_effectively_active(state); 134 state->active = drm_atomic_crtc_effectively_active(state);
diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.c b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
index 2db029371c91..5193b6257061 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/wndw.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
@@ -267,7 +267,7 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset,
267 asyw->image.pitch[0] = fb->base.pitches[0]; 267 asyw->image.pitch[0] = fb->base.pitches[0];
268 } 268 }
269 269
270 if (!(asyh->state.pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC)) 270 if (!asyh->state.async_flip)
271 asyw->image.interval = 1; 271 asyw->image.interval = 1;
272 else 272 else
273 asyw->image.interval = 0; 273 asyw->image.interval = 0;
@@ -383,7 +383,7 @@ nv50_wndw_atomic_check_lut(struct nv50_wndw *wndw,
383 } 383 }
384 384
385 /* Can't do an immediate flip while changing the LUT. */ 385 /* Can't do an immediate flip while changing the LUT. */
386 asyh->state.pageflip_flags &= ~DRM_MODE_PAGE_FLIP_ASYNC; 386 asyh->state.async_flip = false;
387} 387}
388 388
389static int 389static int
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 7d14c11bdc0a..c4528eb5d168 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -285,12 +285,12 @@ struct drm_crtc_state {
285 u32 target_vblank; 285 u32 target_vblank;
286 286
287 /** 287 /**
288 * @pageflip_flags: 288 * @async_flip:
289 * 289 *
290 * DRM_MODE_PAGE_FLIP_* flags, as passed to the page flip ioctl. 290 * This is set when DRM_MODE_PAGE_FLIP_ASYNC is set in the legacy
291 * Zero in any other case. 291 * PAGE_FLIP IOCTL. It's not wired up for the atomic IOCTL itself yet.
292 */ 292 */
293 u32 pageflip_flags; 293 bool async_flip;
294 294
295 /** 295 /**
296 * @vrr_enabled: 296 * @vrr_enabled: