STRUCT MPI3MR_BUF_MAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct mpi3mr_buf_map(9) πŸ¦‹

Kernel API Manual, bestie β€” folded in right here like a lil name tag at the function party πŸŽ€


πŸ’– NAME πŸ’–

struct mpi3mr_buf_map is the local structure that tracks the kernel and user buffers associated with an BSG structure. That's it, that's the whole job, and it's doing it slayfully πŸ’…

✨ SYNOPSIS ✨

okay so here's the exact struct, no cap β€” every field stays exactly as written:

       struct mpi3mr_buf_map {
           void *bsg_buf;
           u32 bsg_buf_len;
           void *kern_buf;
           u32 kern_buf_len;
           dma_addr_t kern_buf_dma;
           u8 data_dir;
           u16 num_dma_desc;
           struct dma_memory_desc *dma_desc;
        };

πŸŽ€ Members πŸŽ€

Let's give each documented member its moment, bestie:

  • bsg_buf β€” BSG buffer virtual address. It's giving "where the BSG buffer lives in virtual-address land" ✨
  • bsg_buf_len β€” BSG buffer length. Yep, it's the length of the BSG buffer, iconic.
  • kern_buf β€” Kernel buffer virtual address. The virtual address of the kernel buffer, periodt.
  • kern_buf_len β€” Kernel buffer length. The length of the kernel buffer, no cap.
  • kern_buf_dma β€” Kernel buffer DMA address. The DMA address for the kernel buffer, slay.
  • data_dir β€” Data direction. Which way the data is headed β€” that's the vibe.
Tiny heads-up: the synopsis also has u16 num_dma_desc; and struct dma_memory_desc *dma_desc;. This page's Members section doesn't give those two their own descriptions, so I'm not inventing anything β€” periodt πŸ’…

🌈 SEE ALSO 🌈

Kernel file: ./drivers/scsi/mpi3mr/mpi3mr.h β€” and the whole SEE ALSO group chat is:

  • struct mpi3mr_nvme_pt_sge(9)
  • struct mpi3mr_compimg_ver(9)
  • struct segments(9)
  • struct op_req_qinfo(9)
  • struct op_reply_qinfo(9)
  • struct mpi3mr_intr_info(9)
  • struct mpi3mr_throttle_group_info(9)
  • struct mpi3mr_hba_port(9)
  • struct mpi3mr_sas_port(9)
  • struct mpi3mr_sas_phy(9)
  • struct mpi3mr_sas_node(9)
  • struct mpi3mr_enclosure_node(9)
  • struct tgt_dev_sas_sata(9)
  • struct tgt_dev_pcie(9)
  • struct tgt_dev_vd(9)
  • union _form_spec_inf(9)
  • struct mpi3mr_tgt_dev(9)
  • mpi3mr_tgtdev_get(9)
  • mpi3mr_free_tgtdev(9)
  • mpi3mr_tgtdev_put(9)
  • struct mpi3mr_stgt_priv_data(9)
  • struct mpi3mr_drv_cmd(9)
  • union mpi3mr_trigger_data(9)
  • struct trigger_event_data(9)
  • struct diag_buffer_desc(9)
  • struct dma_memory_desc(9)
  • struct chain_element(9)
  • struct scmd_priv(9)
  • struct mpi3mr_ioc(9)
  • struct mpi3mr_fwevt(9)
  • struct delayed_dev_rmhs_node(9)
  • struct delayed_evt_ack_node(9)

mwah πŸ’‹ β€” this page's source/version is ./drivers/scsi/mpi3mr, and the date is October 2026. That's the footer, bestie. We ate. Periodt πŸ’–

πŸ“¦ where this page comes from