ENUM MTK_PCIE_QUIRKS(9)
β¨ NAME β¨
enum mtk_pcie_quirks β MTK PCIe quirks, aka the little list of "hey this silicon is a lil special" flags π
okay so real talk, this is from the Kernel API Manual, and it's basically a cheat sheet of workarounds for MediaTek PCIe host controllers that don't quite behave like the textbook says they should π«Ά
πΈ SYNOPSIS πΈ
enum mtk_pcie_quirks {
MTK_PCIE_FIX_CLASS_ID ,
MTK_PCIE_FIX_DEVICE_ID ,
MTK_PCIE_NO_MSI ,
MTK_PCIE_SKIP_RSTB ,
MTK_PCIE_RETRAIN
};
literally just an enum, bestie, five constants, no cap π
π Constants π
okay so here's the vibe check on each one π
MTK_PCIE_FIX_CLASS_IDβ the host's class ID needed to be fixed. yeah. it's wrong. we're fixing it. moving on πMTK_PCIE_FIX_DEVICE_IDβ same energy, but for the host's device ID β it needed to be fixed too π§MTK_PCIE_NO_MSIβ the bridge has no MSI support and relies on an external block. so like, don't come for it about MSI, it's doing its best πMTK_PCIE_SKIP_RSTBβ skip calling RSTB bits on PCIe probe. we justβ¦ don't touch those bits. iconic behavior honestly βMTK_PCIE_RETRAINβ retrain the link to the bridge after startup, because some Gen2-capable devices start as Gen1. they wake up in the wrong era and we gotta gently nudge them into the present π¦
π SEE ALSO π
- Kernel file
./drivers/pci/controller/pcie-mediatek.c struct mtk_pcie_soc(9)struct mtk_pcie_port(9)struct mtk_pcie(9)mtk_pcie_retrain(9)
k that's the whole page, go read the source if you want the lore π
and that's a wrap, bestie π this one's filed under ./drivers/pci/controller, dated October 2026 β the enum mtk_pcie_quirks(9) era. 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