qed_iov_config_perm_table(9)
π NAME π
qed_iov_config_perm_table β ok so this is the function that configures the permission zone table β¨ literally its whole job π
πΈ SYNOPSIS πΈ
void qed_iov_config_perm_table (struct qed_hwfn *p_hwfn , struct qed_ptt
* p_ptt , struct qed_vf_info *vf , u8 enable );
bestie it returns void, so likeβ¦ don't go looking for a return value, there isn't one π«Ά
π¦ ARGUMENTS π¦
p_hwfnβ the HW device data π that's your hardware function handle, your main character struct.p_pttβ the PTT window for writing the registers β¨ this is the window you poke the registers through, no window no writing, periodt.vfβ the VF info data π all the deets about this particular virtual function.enableβ the actual permission for this VF π typed as au8, it's literally the permission value you're setting. the real one. the actual one.
β DESCRIPTION β
okay so here's the lore π§ in E4, the queue zone permission table size is 320x9. not 319, not 321. 320x9. write that down π
and there are 320 VF queues for a single engine device β but heads up, it's 256 for dual engine device π so the count is not the same everywhere, iykyk.
each entry has the following format: {Valid, VF[7:0]} π₯ so that's a Valid field plus the VF field going from bit 7 down to bit 0, no cap.
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/qlogic/qed/qed_sriov.cπ qed_schedule_iov(9)β¨
ngl, if you're messing with permission tables, read those first bestie, they're right there π
and that's the whole page, mwah π this one came out of ./drivers/net/ethernet/qlogic/qed and it's dated October 2026 β qed_iov_config_perm_table(9), slay π
β¨
π¦ 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