mpi3mr_unmap_smp_buffer(9)
π
mpi3mr_unmap_smp_buffer β the Kernel API Manual, section 9, bestie β¨
okay so real talk, this is a page straight out of the Kernel API Manual, section 9 β the part of the library where all the driver-level helper girlies live. and this one? this one is the cleanup queen. she takes the DMA buffer you mapped earlier and she unmaps it. that's the whole gig. let's get into it π
π NAME π
mpi3mr_unmap_smp_buffer β unmap BSG dma buffer, no cap
like literally that's it. that's the function. she unmaps. she's done. iconic behaviour honestly π¦
β¨ SYNOPSIS β¨
void mpi3mr_unmap_smp_buffer (struct device *dev , struct bsg_buffer
*buf , dma_addr_t dma_addr , void *p );
she returns void β nothing back, she just does the thing and leaves. main character energy tbh π
πΈ ARGUMENTS πΈ
devβ the generic device reference. like, whose device is this? that one. πbufβ the BSG buffer pointer. your little BSG buddy. πdma_addrβ the physical address that's getting unmapped. this is the address she's coming for. π₯pβ the virtual address. the other half of the pair. π«Ά
π¦ DESCRIPTION π¦
so basically β this function unmaps the DMAable buffer. that's the vibe. the buffer was mapped, and now it is not mapped anymore. closure. healing. moving on. periodt πβ¨
ngl it's a very short description because the function is very short and honestly? respect. she doesn't overexplain. iykyk π
π SEE ALSO π
okay this is the part where the whole friend group shows up, so buckle in bestie, because the mpi3mr transport squad is large and we're listing every single one, fr fr π«Ά
mpi3mr_post_transport_req(9)mpi3mr_report_manufacture(9)__mpi3mr_expander_find_by_handle(9)mpi3mr_is_expander_device(9)mpi3mr_get_sas_address(9)__mpi3mr_get_tgtdev_by_addr(9)mpi3mr_get_tgtdev_by_addr(9)mpi3mr_remove_device_by_sas_address(9)__mpi3mr_get_tgtdev_by_addr_and_rphy(9)mpi3mr_expander_find_by_sas_address(9)__mpi3mr_sas_node_find_by_sas_address(9)mpi3mr_parent_present(9)mpi3mr_convert_phy_link_rate(9)mpi3mr_delete_sas_phy(9)mpi3mr_add_sas_phy(9)mpi3mr_add_phy_to_an_existing_port(9)mpi3mr_delete_sas_port(9)mpi3mr_del_phy_from_an_existing_port(9)mpi3mr_sas_port_sanity_check(9)mpi3mr_set_identify(9)mpi3mr_add_host_phy(9)mpi3mr_add_expander_phy(9)mpi3mr_alloc_hba_port(9)mpi3mr_get_hba_port_by_id(9)mpi3mr_update_links(9)mpi3mr_sas_host_refresh(9)mpi3mr_sas_host_add(9)mpi3mr_sas_port_add(9)mpi3mr_sas_port_remove(9)struct host_port(9)mpi3mr_update_mr_sas_port(9)mpi3mr_refresh_sas_ports(9)mpi3mr_refresh_expanders(9)mpi3mr_expander_node_add(9)mpi3mr_expander_add(9)mpi3mr_expander_node_remove(9)mpi3mr_expander_remove(9)mpi3mr_get_sas_negotiated_logical_linkrate(9)mpi3mr_report_tgtdev_to_sas_transport(9)mpi3mr_remove_tgtdev_from_sas_transport(9)mpi3mr_get_port_id_by_sas_phy(9)mpi3mr_get_port_id_by_rphy(9)mpi3mr_get_expander_phy_error_log(9)mpi3mr_transport_get_linkerrors(9)mpi3mr_transport_get_enclosure_identifier(9)mpi3mr_transport_get_bay_identifier(9)mpi3mr_expander_phy_control(9)mpi3mr_transport_phy_reset(9)mpi3mr_transport_phy_enable(9)mpi3mr_transport_phy_speed(9)mpi3mr_map_smp_buffer(9)mpi3mr_transport_smp_handler(9)
and the kernel file she lives in π :
./drivers/scsi/mpi3mr/mpi3mr_transport.c
also psst β mpi3mr_map_smp_buffer(9) is literally her other half. map her, unmap her. the duality of woman. π₯
and that's the whole page bestie, you ate that π stay hydrated, keep your DMA mappings paired, and remember: if you mapped it, you gotta unmap it. no exceptions. π§ββοΈ
signed off with love from the ./drivers/scsi/mpi3mr source tree, dated October 2026 β mwah π
π¦ 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