STRUCT XSDFEC_LDPC_PARAMS(9)
π NAME
struct xsdfec_ldpc_params β the user data for LDPC codes, bestie. That's it, that's the vibe β¨
(it's from the Kernel API Manual, section 9, and it's the struct that carries your LDPC params from your app into the driver π«Ά)
π¦ SYNOPSIS
struct xsdfec_ldpc_params {
__u32 n;
__u32 k;
__u32 psize;
__u32 nlayers;
__u32 nqc;
__u32 nmqc;
__u32 nm;
__u32 norm_type;
__u32 no_packing;
__u32 special_qc;
__u32 no_final_parity;
__u32 max_schedule;
__u32 sc_off;
__u32 la_off;
__u32 qc_off;
__u32 *sc_table;
__u32 *la_table;
__u32 *qc_table;
__u16 code_id;
};
okay so literally nineteen fields, one struct, no cap β let's meet the cast π
π Members
nβ the number of code word bits π§kβ the number of information bits βpsizeβ the size of the sub-matrix πΈnlayersβ how many layers are in the code πnqcβ the Quasi Cyclic Number πnmqcβ the number of M-sized QC operations in the parity check matrix π«nmβ the number of M-size vectors in N πnorm_typeβ says whether normalization is required or not βοΈno_packingβ determines if multiple QC ops should be performed πspecial_qcβ the sub-matrix property for circulant weight > 0 πno_final_parityβ decides if the final parity check needs to be performed πmax_scheduleβ an experimental code word scheduling limit (yes, experimental, we love a lil chaos π)sc_offβ the SC offset π―la_offβ the LA offset π―qc_offβ the QC offset π―sc_tableβ pointer to the SC Table, and it must be page aligned β οΈla_tableβ pointer to the LA Table, and it must be page aligned β οΈqc_tableβ pointer to the QC Table, and it must be page aligned β οΈcode_idβ the LDPC Code itself, the main character π«Ά
bestie listen to me: all three of those table pointers must be page aligned. Not vibes-aligned, page aligned. Do not come crying to me later π
β¨ Description
This structure describes the LDPC code that gets passed to the driver by the application. That's the whole energy of it β the app writes it, the driver receives it, the LDPC code gets described. Iconic, honestly π
π₯ SEE ALSO
Kernel file ./include/uapi/misc/xilinx_sdfec.h, plus the whole friend group: enum xsdfec_code(9), enum xsdfec_order(9), enum xsdfec_turbo_alg(9), enum xsdfec_state(9), enum xsdfec_axis_width(9), enum xsdfec_axis_word_include(9), struct xsdfec_turbo(9), struct xsdfec_status(9), struct xsdfec_irq(9), struct xsdfec_config(9), struct xsdfec_stats(9), struct xsdfec_ldpc_param_table_sizes(9), XSDFEC_START_DEV(9), XSDFEC_STOP_DEV(9), XSDFEC_GET_STATUS(9), XSDFEC_SET_IRQ(9), XSDFEC_SET_TURBO(9), XSDFEC_ADD_LDPC_CODE_PARAMS(9), XSDFEC_GET_CONFIG(9), XSDFEC_GET_TURBO(9), XSDFEC_SET_ORDER(9), XSDFEC_SET_BYPASS(9), XSDFEC_IS_ACTIVE(9), XSDFEC_CLEAR_STATS(9), XSDFEC_GET_STATS(9), XSDFEC_SET_DEFAULT_CONFIG(9) π¦
k that's the whole page, go be page-aligned and slay π This one lives in ./include/uapi/misc, dated October 2026, and it's struct xsdfec_ldpc_params(9) β mwah, see u in the group chat π
β¨
π¦ 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