mlx5_fpga_mem_read(9)
π mlx5_fpga_mem_read(9) β like, the Kernel API Manual bestie π
okay so real talk, this one lives in section 9 of the kernel API manual, bestie β it's a function, not a command, so no shell shenanigans here π«Ά
β¨ NAME β¨
mlx5_fpga_mem_read β reads stuff out of the FPGA memory address space π like literally pulling bytes out of there, no cap
πΈ SYNOPSIS πΈ
int mlx5_fpga_mem_read (struct mlx5_fpga_device *fdev , size_t size ,
u64 addr , void *buf , enum mlx5_fpga_access_type access_type );
look at her, five whole arguments, she's serving main character energy fr fr π
π¦ ARGUMENTS π¦
fdevβ the FPGA device itself π your little guy, the whole reason you're heresizeβ how big of a chunk you're reading, in bytes β¨ yes, bytes, we're being preciseaddrβ the starting address you're reading from, in FPGA address space π so like, where in the map you're pointing atbufβ the buffer you're reading into π it's giving empty cup, you're filling itaccess_typeβ the method used for reading π there's a whole enum for this, see below
π§ DESCRIPTION π§
so what she does is π« read from the specified address into the specified buffer. that's it. that's the vibe check.
and here's the fun part: that address may point to configuration space or to DDR β either one, she doesn't care, she's versatile like that πΈ
β οΈ heads up bestie: large reads may be performed internally as several non-atomic operations. so like, don't be out here assuming your big read is one clean atomic little moment, because it is nOT π
π also β this function may sleep, so it should not be called from atomic contexts. periodt. don't do it. if you're in an atomic context, this is not your girl, and that's on that π
β RETURN β
0 if it worked and everything slayed β¨ β or, like, an error value otherwise π (you'll know, it'll tell you)
π₯ SEE ALSO π₯
- kernel file
./drivers/net/ethernet/mellanox/mlx5/core/fpga/sdk.h - Innova SDK(9)
enum mlx5_fpga_access_type(9)struct mlx5_fpga_dma_entry(9)struct mlx5_fpga_dma_buf(9)struct mlx5_fpga_conn_attr(9)mlx5_fpga_sbu_conn_create(9)mlx5_fpga_sbu_conn_destroy(9)mlx5_fpga_sbu_conn_sendmsg(9)mlx5_fpga_mem_write(9)mlx5_fpga_get_sbu_caps(9)
okay that's the whole page, you ate that π
sign-off time: this gorgeous little number comes to you from ./drivers/net/ethernet/mellano... and it's dated October 2026 β yeah, from the future, iconic behavior honestly π¦β¨π go read (and also write, see mlx5_fpga_mem_write(9), 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