dce_v6_0_page_flip(9)
π dce_v6_0_page_flip(9) β from the Kernel API Manual, bestie β¨
Okay so picture this: it's a kernel manual page, it lives in the Kernel API Manual, and its whole name is dce_v6_0_page_flip(9). Say it with me β it's giving lowkey unhinged naming convention, but she's iconic and she knows it π
β¨ NAME β¨
dce_v6_0_page_flip β the pageflip callback. that's it. that's the whole job. main character energy fr π
πΈ SYNOPSIS πΈ
void dce_v6_0_page_flip (struct amdgpu_device *adev , int crtc_id , u64
crtc_base , bool async );
yes bestie, she's void, she takes four args, and she does not return a thing. no cap π€
π¦ ARGUMENTS π¦
adevβ theamdgpu_devicepointer. your little handle to the whole device, okay? π«Άcrtc_idβ which crtc we're cleaning up the pageflip on.crtc_baseβ the new address of the crtc. and ngl it's a GPU MC address, so don't go treating it like some casual system memory pointer πasyncβ this is abool, and it means asynchronous flip. as in, the flip is doing its own thing. live your truth β¨
π DESCRIPTION π
So what does she actually do? She does the actual pageflip β and yes, that's evergreen+, meaning evergreen and everything after it, periodt π
Here's the tea β: during vblank, we take the crtc lock and then we wait for the update_pending bit to go high. the way that bit just... needs to go high first π when it does go high, we release the lock and let the double buffered update take place. that's the whole ritual, bestie.
And then β plot twist β she returns the current update pending status. yes even though the synopsis is void. that's what the page says, so that's what we're saying π
π₯ SEE ALSO π₯
the kernel file lives right here, go be nosy:
./drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
and here's the whole friend group β every single one of them, no skips, no cuts, we respect the full roster π«‘
dce_v6_0_hpd_sense(9)dce_v6_0_hpd_set_polarity(9)dce_v6_0_hpd_init(9)dce_v6_0_hpd_fini(9)si_get_number_of_dram_channels(9)dce_v6_0_dram_bandwidth(9)dce_v6_0_dram_bandwidth_for_display(9)dce_v6_0_data_return_bandwidth(9)dce_v6_0_dmif_request_bandwidth(9)dce_v6_0_available_bandwidth(9)dce_v6_0_average_bandwidth(9)dce_v6_0_latency_watermark(9)dce_v6_0_average_bandwidth_vs_dram_bandwidth_for_display(9)dce_v6_0_average_bandwidth_vs_available_bandwidth(9)dce_v6_0_check_latency_hiding(9)dce_v6_0_program_watermarks(9)dce_v6_0_line_buffer_adjust(9)dce_v6_0_bandwidth_update(9)dce_v6_0_pick_pll(9)
like, that's a lot of bandwidth functions. she really said "bandwidth" and meant it π
okay bestie real talk: this all comes from ./drivers/gpu/drm/amd/amdgpu, dated October 2026. so when you cite her, cite her correctly, iykyk π
mwah π go flip some pages, you absolute icon π§ββοΈβ
π¦ 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