ntb_get_dma_dev(9)
π ntb_get_dma_dev(9) β the Kernel API Manual glow-up
okay so bestie, welcome to ntb_get_dma_dev(9), straight out of the Kernel API Manual β¨ this one's short, sweet, and honestly kinda iconic for how much it just handles for you.
πΈ NAME πΈ
ntb_get_dma_dev β grab the device you should be using for DMA allocations/mappings π
β¨ SYNOPSIS β¨
struct device * ntb_get_dma_dev (struct ntb_dev *ntb );
like, that's the whole signature. so clean. so demure. π
π«Ά ARGUMENTS π«Ά
ntbβ the NTB device context. that's your main character right there π
π DESCRIPTION π
so this returns a struct device that's suitable for DMA API allocations and mappings. ngl that's the whole vibe β¨
most of the time it's just the parent of the NTB device β like, the obvious answer, no drama β but a driver can override it by implementing .get_dma_dev. lowkey customisation, highkey useful π¦
β οΈ real talk though: drivers that implement .get_dma_dev must return a non-NULL pointer. no NULLs. not the move. not today. periodt π
β RETURN β
a device pointer to use for DMA operations π«‘ go forth and allocate, bestie.
π SEE ALSO π
sooo everything lives in the kernel file ./include/linux/ntb.h, and honestly the whole NTB extended universe shows up here. it's giving family reunion π
enum ntb_topo(9)enum ntb_speed(9)enum ntb_width(9)enum ntb_default_port(9)struct ntb_client_ops(9)struct ntb_ctx_ops(9)struct ntb_dev_ops(9)struct ntb_client(9)struct ntb_dev(9)ntb_register_client(9)ntb_unregister_client(9)ntb_register_device(9)ntb_unregister_device(9)ntb_set_ctx(9)ntb_clear_ctx(9)ntb_link_event(9)ntb_db_event(9)ntb_msg_event(9)ntb_default_port_number(9)ntb_default_peer_port_count(9)ntb_default_peer_port_number(9)ntb_default_peer_port_idx(9)ntb_port_number(9)ntb_peer_port_count(9)ntb_peer_port_number(9)ntb_logical_port_number(9)ntb_peer_logical_port_number(9)ntb_peer_port_idx(9)ntb_link_is_up(9)ntb_link_enable(9)ntb_link_disable(9)ntb_mw_count(9)ntb_mw_get_align(9)ntb_mw_set_trans(9)ntb_mw_clear_trans(9)ntb_peer_mw_count(9)ntb_peer_mw_get_addr(9)ntb_peer_mw_set_trans(9)ntb_peer_mw_clear_trans(9)ntb_db_is_unsafe(9)ntb_db_valid_mask(9)ntb_db_vector_count(9)ntb_db_vector_mask(9)ntb_db_read(9)ntb_db_set(9)ntb_db_clear(9)ntb_db_read_mask(9)ntb_db_set_mask(9)ntb_db_clear_mask(9)ntb_peer_db_addr(9)ntb_peer_db_read(9)ntb_peer_db_set(9)ntb_peer_db_clear(9)ntb_peer_db_read_mask(9)ntb_peer_db_set_mask(9)ntb_peer_db_clear_mask(9)ntb_spad_is_unsafe(9)ntb_spad_count(9)ntb_spad_read(9)ntb_spad_write(9)ntb_peer_spad_addr(9)ntb_peer_spad_read(9)ntb_peer_spad_write(9)ntb_msg_count(9)ntb_msg_inbits(9)ntb_msg_outbits(9)ntb_msg_read_sts(9)ntb_msg_clear_sts(9)ntb_msg_set_mask(9)ntb_msg_clear_mask(9)ntb_msg_read(9)ntb_peer_msg_write(9)ntb_peer_resource_idx(9)ntb_peer_highest_mw_idx(9)
likeβ¦ yes. all of them. every single one. iykyk π§
okay that's the whole page bestie π«Ά this cutie lives in ./include/linux, dated October 2026, and it answers to the name ntb_get_dma_dev(9). go get your DMA on. slay. π
π¦ 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