i3c_master_do_daa_ext(9)
β¨ i3c_master_do_daa_ext π
okay so bestie, welcome to the i3c_master_do_daa_ext(9) page β part of the Kernel API Manual, and honestly? kind of iconic. this is the extended version of Dynamic Address Assignment, and yes the "extended" is doing a lot of work here π
πΈ NAME πΈ
i3c_master_do_daa_ext β Dynamic Address Assignment (extended version) β¨
π¦ SYNOPSIS π¦
int i3c_master_do_daa_ext (struct i3c_master_controller *master , bool
rstdaa );
like, that's the whole vibe-check entry point right there π
π ARGUMENTS π
masterβ the controller. your main character, fr fr πrstdaaβ abooltelling you whether to first perform a Reset of Dynamic Addresses (RSTDAA). think of it as the "do i need to wipe the slate first?" switch π§Ή
π₯ DESCRIPTION π₯
so what does it do? it performs Dynamic Address Assignment, with optional support for System Hibernation β and that optional part is when rstdaa is true π
here's the lowkey important part: after System Hibernation, Dynamic Addresses can have been reassigned at boot time to different values. yes, they can just... change on you. rude, but okay π«
a simple strategy is followed to handle that, no cap:
- Perform a Reset of Dynamic Addresses (RSTDAA) π§Ό
- Follow it up with the normal DAA procedure β which has provision for reassigning addresses that differ from the previously recorded addresses π
that's it. simple strategy, big energy. periodt π
β RETURN β
- a
0in case of success π - a negative error code otherwise π
π SEE ALSO π
Kernel file ./drivers/i3c/master.c, plus this whole squad right here π«Ά:
i3c_bus_maintenance_lock(9)i3c_bus_maintenance_unlock(9)i3c_bus_normaluse_lock(9)i3c_bus_normaluse_unlock(9)i3c_master_queue_hotjoin(9)i3c_master_send_ccc_cmd_locked(9)i3c_master_get_free_addr(9)i3c_master_setaasa_locked(9)i3c_master_entdaa_locked(9)i3c_master_enec_disec_locked(9)i3c_master_disec_locked(9)i3c_master_enec_locked(9)i3c_master_defslvs_locked(9)i3c_master_reattach_i3c_dev_locked(9)i3c_master_has_wakeup_enabled_devs(9)i3c_master_dma_map_single(9)i3c_master_dma_unmap_single(9)i3c_master_set_info(9)i3c_master_bus_init(9)__i3c_master_add_i3c_dev_locked(9)i3c_master_add_i3c_dev_locked(9)i3c_master_do_daa(9)i3c_master_queue_ibi(9)i3c_generic_ibi_free_pool(9)i3c_generic_ibi_alloc_pool(9)i3c_generic_ibi_get_free_slot(9)i3c_generic_ibi_recycle_slot(9)i3c_master_register(9)i3c_master_unregister(9)i3c_dev_disable_ibi_locked(9)i3c_dev_enable_ibi_locked(9)i3c_dev_request_ibi_locked(9)i3c_dev_free_ibi_locked(9)
like, that's a whole friend group and they all ate πβ¨
and that's the page!! sourced from ./drivers/i3c, dated October 2026, living in the Kernel API Manual β mwah, go read some more manpages bestie, iykyk πππ
π¦ 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