asynchronous...plementation(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 asynchronous flip implementation 🌸

okay so bestie, this is the asynchronous...plementation(9) page from the Kernel API Manual, and we're talking about asynchronous page flip β€” the implementation for the DRM_MODE_PAGE_FLIP_ASYNC flag. periodt. ✨

currently, async flip is only supported via the drmModePageFlip IOCTL. correspondingly, support is currently added for primary plane only. iykyk. πŸ’…

async flip can only change the plane surface address, so if literally anything else is changing, it gets rejected from the intel_async_flip_check_hw function. no cap. once this check is cleared, flip done interrupt is enabled using the intel_crtc_enable_flip_done function. πŸŽ€

the way that as soon as the surface address register is written, flip done interrupt is generated and the requested events are sent to the userspace in the interrupt handler itself? iconic. and the timestamp and sequence sent during the flip done event correspond to the last vblank and have no relation to the actual time when the flip done event was sent. lowkey important, fr fr. 😭


πŸ‘‘ SEE ALSO πŸ‘‘

mwah πŸ’– this page is from the asynchronous...plementation(9) manual, source dir ./drivers/gpu/drm/i915/display, dated October 2026. bye bestie 🫢

πŸ“¦ where this page comes from