Re: [PATCH v3 1/1] PCI: Add Extended Tag + MRRS quirk for Xeon 6
From: Lukas Wunner
Date: Thu Jun 19 2025 - 08:48:35 EST
On Tue, Jun 10, 2025 at 02:48:02PM +0300, Ilpo Järvinen wrote:
> 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@xxxxxxxxx>
> Link: https://cdrdv2.intel.com/v1/dl/getContent/837176
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Reviewed-by: Lukas Wunner <lukas@xxxxxxxxx>
Patch looks perfect to me and could go in either through pci or tip.
For the record, link to previous attempt to solve this:
https://lore.kernel.org/r/20250422130207.3124-1-ilpo.jarvinen@xxxxxxxxxxxxxxx/
Thanks,
Lukas