amdgpu_dm_c...te_writeback(9)
π amdgpu_dm_crtc_complete_writeback β the Kernel API Manual, bestie edition π
okay so this page lives in the Kernel API Manual and it's all about amdgpu_dm_crtc_complete_writeback (the header truncates it as amdgpu_dm_c...te_writeback(9), which is giving "name too long for the terminal, we simply must abbreviate" π). It's a tiny little function that closes out a writeback job, and honestly? It ate. Let's get into it β¨
πΈ NAME πΈ
amdgpu_dm_crtc_complete_writeback β literally just finishing up a pending writeback job π«Ά
π¦ SYNOPSIS π¦
bool amdgpu_dm_crtc_complete_writeback (struct amdgpu_crtc *acrtc );
she takes one pointer and she returns a bool. that's the whole vibe check π
π ARGUMENTS π
acrtcβ the CRTC whose pending writeback should be completed, i.e. the main character of this whole operation π
π DESCRIPTION π
So here's what she does: she clears the pending state, she signals the writeback out fence, and she releases the vblank reference that was taken back in dm_set_writeback while the writeback was armed. Cleanup queen behavior, no notes π₯
Now the important part, bestie, because this is the β¨iconicβ¨ bit: the pending flag is tested and cleared under the writeback job lock. Which means it is safe to call concurrently from the completion vblank IRQ (dm_crtc_high_irq) and from the writeback teardown path (dm_clear_writeback). Two callers, one lock, zero drama π
And the rule? Only the caller that observes the pending job performs the completion. So it's like β first one in the group chat gets to reply, everyone after that just reads it. periodt π
ngl this is a "one of you does the work, the rest of you relax" situation β the lock is what makes it true, so don't go thinking you can skip it π
β RETURN β
true if a pending writeback job was completed by this call. That's it. That's the whole answer β no false footnote needed, when it's true it's true π
π SEE ALSO π
Kernel file ./drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c β because we always cite our sources, iykyk π
overview(9)update_planes_and_stream_adapter(9)dm_hw_init(9)dm_hw_fini(9)amdgpu_dm_dump_links_and_sinks(9)DM Lifecycle(9)atomic(9)fill_dc_dirty_rects(9)dm_arm_vblank_event_pre_programming(9)amdgpu_dm_mod_power_update_streams(9)amdgpu_dm_mod_power_setup_streams(9)amdgpu_dm_atomic_commit_tail(9)amdgpu_dm_atomic_check(9)
okay that's the page!! mwah π this one came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026, so mark your calendars bestie ποΈβ¨ and yeah, the footer still insists on calling it amdgpu_dm_c...te_writeback(9) β we let her have that one πΈπ«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms