mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-20 05:36:15 +00:00
When bifurcated to x2, Xeon 6 Root Port performance is sensitive to the configuration of Extended Tags, Max Read Request Size (MRRS), and 10-Bit Tag Requester (note: there is currently no 10-Bit Tag support in the kernel). While those can be configured to the recommended values by FW, kernel may decide to overwrite the initial values. Add a quirk that disallows enabling Extended Tags and setting MRRS larger than 128B for devices under Xeon 6 Root Ports if the Root Port is bifurcated to x2. Use the host bridge's enable_device hook to overwrite MRRS if it's set to >128B for the device to be enabled. The earlier attempts to implement this quirk polluted PCI core code with the checks necessary to support this quirk. Using the enable_device hook keeps the quirk well-contained, away from the PCI core code. Suggested-by: Lukas Wunner <lukas@wunner.de> Link: https://cdrdv2.intel.com/v1/dl/getContent/837176 Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> [bhelgaas: 2x -> x2, rename quirk] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Lukas Wunner <lukas@wunner.de> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Link: https://patch.msgid.link/20250610114802.7460-1-ilpo.jarvinen@linux.intel.com |
||
|---|---|---|
| .. | ||
| acpi.c | ||
| amd_bus.c | ||
| broadcom_bus.c | ||
| bus_numa.c | ||
| bus_numa.h | ||
| ce4100.c | ||
| common.c | ||
| direct.c | ||
| early.c | ||
| fixup.c | ||
| i386.c | ||
| init.c | ||
| intel_mid.c | ||
| irq.c | ||
| legacy.c | ||
| Makefile | ||
| mmconfig-shared.c | ||
| mmconfig_32.c | ||
| mmconfig_64.c | ||
| numachip.c | ||
| olpc.c | ||
| pcbios.c | ||
| xen.c | ||