On Wed, Feb 01, 2017 at 12:03:34PM -0500, Andrey Grodzovsky wrote:
Allows using atomic flip helpers for drivers using ASYNC flip. Remove ASYNC_FLIP restriction in helpers and caches the page flip flags in drm_crtc_state to be used in the low level drivers.
v2: Resending the patch since the original was broken.
v3: Save flag in crtc_state instead of plane_state
v4: Reset the flag before using again.
Change-Id: I0219c3ec3ecceb82143ee176d30cb50d9aa76bf0 Signed-off-by: Andrey Grodzovsky Andrey.Grodzovsky@amd.com
drivers/gpu/drm/drm_atomic_helper.c | 20 ++++++-------------- include/drm/drm_crtc.h | 9 ++++++++- include/drm/drm_plane.h | 1 + 3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index a4e5477..f84b5aa 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2737,7 +2737,8 @@ static int page_flip_common( struct drm_atomic_state *state, struct drm_crtc *crtc, struct drm_framebuffer *fb,
struct drm_pending_vblank_event *event)
struct drm_pending_vblank_event *event,
uint32_t flags)
{ struct drm_plane *plane = crtc->primary; struct drm_plane_state *plane_state; @@ -2749,12 +2750,12 @@ static int page_flip_common( return PTR_ERR(crtc_state);
crtc_state->event = event;
- crtc_state->pflip_flags = flags;
Still wondering why we can't afford to spell out "page_flip" completely?
plane_state = drm_atomic_get_plane_state(state, plane); if (IS_ERR(plane_state)) return PTR_ERR(plane_state);
- ret = drm_atomic_set_crtc_for_plane(plane_state, crtc); if (ret != 0) return ret;