Lines Matching refs:flip_state
845 vc4_async_page_flip_complete(struct vc4_async_flip_state *flip_state) in vc4_async_page_flip_complete() argument
847 struct drm_crtc *crtc = flip_state->crtc; in vc4_async_page_flip_complete()
851 vc4_plane_async_set_fb(plane, flip_state->fb); in vc4_async_page_flip_complete()
852 if (flip_state->event) { in vc4_async_page_flip_complete()
856 drm_crtc_send_vblank_event(crtc, flip_state->event); in vc4_async_page_flip_complete()
861 drm_framebuffer_put(flip_state->fb); in vc4_async_page_flip_complete()
863 if (flip_state->old_fb) in vc4_async_page_flip_complete()
864 drm_framebuffer_put(flip_state->old_fb); in vc4_async_page_flip_complete()
866 kfree(flip_state); in vc4_async_page_flip_complete()
871 struct vc4_async_flip_state *flip_state = in vc4_async_page_flip_seqno_complete() local
875 if (flip_state->old_fb) { in vc4_async_page_flip_seqno_complete()
877 drm_fb_dma_get_gem_obj(flip_state->old_fb, 0); in vc4_async_page_flip_seqno_complete()
881 vc4_async_page_flip_complete(flip_state); in vc4_async_page_flip_seqno_complete()
899 struct vc4_async_flip_state *flip_state = in vc4_async_page_flip_fence_complete() local
902 vc4_async_page_flip_complete(flip_state); in vc4_async_page_flip_fence_complete()
907 struct vc4_async_flip_state *flip_state) in vc4_async_set_fence_cb() argument
909 struct drm_framebuffer *fb = flip_state->fb; in vc4_async_set_fence_cb()
918 return vc4_queue_seqno_cb(dev, &flip_state->cb.seqno, bo->seqno, in vc4_async_set_fence_cb()
928 vc4_async_page_flip_fence_complete(fence, &flip_state->cb.fence); in vc4_async_set_fence_cb()
933 if (dma_fence_add_callback(fence, &flip_state->cb.fence, in vc4_async_set_fence_cb()
935 vc4_async_page_flip_fence_complete(fence, &flip_state->cb.fence); in vc4_async_set_fence_cb()
948 struct vc4_async_flip_state *flip_state; in vc4_async_page_flip_common() local
950 flip_state = kzalloc(sizeof(*flip_state), GFP_KERNEL); in vc4_async_page_flip_common()
951 if (!flip_state) in vc4_async_page_flip_common()
955 flip_state->fb = fb; in vc4_async_page_flip_common()
956 flip_state->crtc = crtc; in vc4_async_page_flip_common()
957 flip_state->event = event; in vc4_async_page_flip_common()
967 flip_state->old_fb = plane->state->fb; in vc4_async_page_flip_common()
968 if (flip_state->old_fb) in vc4_async_page_flip_common()
969 drm_framebuffer_get(flip_state->old_fb); in vc4_async_page_flip_common()
979 vc4_async_set_fence_cb(dev, flip_state); in vc4_async_page_flip_common()