cail_ioreg_write(9)
π cail_ioreg_write(9) β like, the IO register writer, from the Kernel API Manual (section 9, bestie)
okay so real talk, this is a little function from the Kernel API Manual, manual section 9, and it's genuinely one of the more chill ones in the whole atom interpreter saga. no cap. let's get into it π«Ά
β¨ NAME β¨
cail_ioreg_write β literally just: write to an IO register π
πΈ SYNOPSIS πΈ
void cail_ioreg_write (struct card_info *info , uint32_t reg , uint32_t val );
that's it. that's the whole vibe check. three args, returns void, moves on with its life β¨
π ARGUMENTS π
infoβ an atomcard_infopointer. yes bestie, a pointer β it's giving main character energy for the whole card struct πregβ the IO register offset. so like, where we're writing. the address, the destination, the spot πΊοΈvalβ the value you're writing to the pll register. the actual payload. the thing itself π₯
π¦ DESCRIPTION π¦
so what does it do? it provides an IO register accessor for the atom interpreter (r4xx+). that's the whole description, and honestly it ate. π
like β it's the neat little wrapper that lets the atom interpreter poke at IO registers on r4xx and newer. lowkey iconic that a one-line description can carry that much trust, but here we are π
π SEE ALSO π
okay this list is long long, so buckle up bestie, we're going through all of it π
the kernel file lives at:
./drivers/gpu/drm/radeon/radeon_device.c
and the whole friend group is:
radeon_program_register_sequence(9)radeon_surface_init(9)radeon_scratch_init(9)radeon_scratch_get(9)radeon_scratch_free(9)radeon_doorbell_init(9)radeon_doorbell_fini(9)radeon_doorbell_get(9)radeon_doorbell_free(9)radeon_wb_disable(9)radeon_wb_fini(9)radeon_wb_init(9)radeon_vram_location(9)radeon_gtt_location(9)radeon_card_posted(9)radeon_update_bandwidth_info(9)radeon_boot_test_post_card(9)radeon_dummy_page_init(9)radeon_dummy_page_fini(9)cail_pll_read(9)cail_pll_write(9)cail_mc_read(9)cail_mc_write(9)cail_reg_write(9)cail_reg_read(9)cail_ioreg_read(9)radeon_atombios_init(9)radeon_atombios_fini(9)radeon_combios_init(9)radeon_combios_fini(9)radeon_vga_set_decode(9)radeon_gart_size_auto(9)radeon_check_arguments(9)radeon_switcheroo_set_state(9)radeon_switcheroo_can_switch(9)radeon_device_init(9)radeon_device_fini(9)radeon_gpu_reset(9)
that's the whole squad, periodt π§ and yeah, cail_ioreg_read(9) is right there next to its sibling β they're a matching set, iykyk π
heads up bestie: if you're looking for reading, that's cail_ioreg_read(9). this page is strictly the write side. don't mix them up π
that's the page! from ./drivers/gpu/drm/radeon, dated October 2026 β thanks for reading, love u, go write some registers responsibly πβ
π¦ 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