diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2019-06-11 11:56:26 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2019-06-11 11:56:26 +0000 |
commit | dd6ae7182489d0084e5041ed0cae6612d0244258 (patch) | |
tree | 6b998c7b7fe273989edc9e14fe6e74e7c8272d5c /sys/dev/pci/drm/include | |
parent | d100eb08d0951298cac358fd8e49ae5ace1ccfed (diff) |
drm: don't block fb changes for async plane updates
From Helen Koike
fbb7e114e6e690c46f170dedd6fd2fb22f241519 in linux 4.19.y/4.19.50
89a4aac0ab0e6f5eea10d7bf4869dd15c3de2cd4 in mainline linux
Diffstat (limited to 'sys/dev/pci/drm/include')
-rw-r--r-- | sys/dev/pci/drm/include/drm/drm_modeset_helper_vtables.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/include/drm/drm_modeset_helper_vtables.h b/sys/dev/pci/drm/include/drm/drm_modeset_helper_vtables.h index 61142aa0ab2..0eb3372d031 100644 --- a/sys/dev/pci/drm/include/drm/drm_modeset_helper_vtables.h +++ b/sys/dev/pci/drm/include/drm/drm_modeset_helper_vtables.h @@ -1174,6 +1174,14 @@ struct drm_plane_helper_funcs { * current one with the new plane configurations in the new * plane_state. * + * Drivers should also swap the framebuffers between current plane + * state (&drm_plane.state) and new_state. + * This is required since cleanup for async commits is performed on + * the new state, rather than old state like for traditional commits. + * Since we want to give up the reference on the current (old) fb + * instead of our brand new one, swap them in the driver during the + * async commit. + * * FIXME: * - It only works for single plane updates * - Async Pageflips are not supported yet |