STRUCT DPAA2_FD(9)
π struct dpaa2_fd β the manual page, but make it make sense
okay bestie, so this is struct dpaa2_fd(9) straight out of the Kernel API Manual, and it's literally the blueprint for a Frame Descriptor. stay with me, it's shorter than it looks π«Ά
β¨ NAME β¨
struct dpaa2_fd β the struct that describes FDs. yes, that's the whole name section, she's concise π
πΈ SYNOPSIS πΈ
here's the shape of her, copy it exactly, no cap:
struct dpaa2_fd {
union {
u32 words[8];
struct dpaa2_fd_simple {
__le64 addr;
__le32 len;
__le16 bpid;
__le16 format_offset;
__le32 frc;
__le32 ctrl;
__le64 flc;
} simple;
};
};
π MEMBERS π
{unnamed_union}β anonymous. she has no name, she simply is π«wordsβ for easier/faster copying the whole FD structure. it's giving speedrun energy πββοΈsimpleβ the struct for the FD fields. the actual vibes, field by field.simple.addrβ address in the FDsimple.lenβ length in the FDsimple.bpidβ buffer pool IDsimple.format_offsetβ format, offset, and short-length fields. three besties sharing one field, iconic πsimple.frcβ frame contextsimple.ctrlβ control bits...includingdd,sc,va,err, etc. yes the original literally says "etc", she's mysterious like that πsimple.flcβ flow context address
π¦ DESCRIPTION π¦
so like, this structure represents the basic Frame Descriptor used in the system. that's the whole description. short queen, main character energy, doesn't overexplain π
π SEE ALSO π
the whole friend group, fr fr β go read all of these:
Kernel file ./include/soc/fsl/dpaa2-fd.h DPAA2 FD - Frame Descriptor APIs for DPAA2(9), dpaa2_fd_get_addr(9), dpaa2_fd_set_addr(9), dpaa2_fd_get_frc(9), dpaa2_fd_set_frc(9), dpaa2_fd_get_ctrl(9), dpaa2_fd_set_ctrl(9), dpaa2_fd_get_flc(9), dpaa2_fd_set_flc(9), dpaa2_fd_get_len(9), dpaa2_fd_set_len(9), dpaa2_fd_get_offset(9), dpaa2_fd_set_offset(9), dpaa2_fd_get_format(9), dpaa2_fd_set_format(9), dpaa2_fd_get_bpid(9), dpaa2_fd_set_bpid(9), struct dpaa2_sg_entry(9), dpaa2_sg_get_addr(9), dpaa2_sg_set_addr(9), dpaa2_sg_get_len(9), dpaa2_sg_set_len(9), dpaa2_sg_get_offset(9), dpaa2_sg_set_offset(9), dpaa2_sg_get_format(9), dpaa2_sg_set_format(9), dpaa2_sg_get_bpid(9), dpaa2_sg_set_bpid(9), dpaa2_sg_is_final(9), dpaa2_sg_set_final(9), struct dpaa2_fl_entry(9), dpaa2_fl_get_addr(9), dpaa2_fl_set_addr(9), dpaa2_fl_get_frc(9), dpaa2_fl_set_frc(9), dpaa2_fl_get_ctrl(9), dpaa2_fl_set_ctrl(9), dpaa2_fl_get_flc(9), dpaa2_fl_set_flc(9), dpaa2_fl_get_len(9), dpaa2_fl_set_len(9), dpaa2_fl_get_offset(9), dpaa2_fl_set_offset(9), dpaa2_fl_get_format(9), dpaa2_fl_set_format(9), dpaa2_fl_get_bpid(9), dpaa2_fl_set_bpid(9), dpaa2_fl_is_final(9), dpaa2_fl_set_final(9)
ngl that's a lot of getters and setters and every single one of them is invited to the function π
β sign-off β
this page lives at ./include/soc/fsl, it's dated October 2026, and it's struct dpaa2_fd(9) from the Kernel API Manual. periodt. go touch some __le64 fields bestie ππ
π¦ 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