[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240904202016.GA345873@bhelgaas>
Date: Wed, 4 Sep 2024 15:20:16 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Wei Huang <wei.huang2@....com>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, netdev@...r.kernel.org,
Jonathan.Cameron@...wei.com, corbet@....net, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
alex.williamson@...hat.com, gospo@...adcom.com,
michael.chan@...adcom.com, ajit.khaparde@...adcom.com,
somnath.kotur@...adcom.com, andrew.gospodarek@...adcom.com,
manoj.panicker2@....com, Eric.VanTassell@....com,
vadim.fedorenko@...ux.dev, horms@...nel.org, bagasdotme@...il.com,
bhelgaas@...gle.com, lukas@...ner.de, paul.e.luse@...el.com,
jing2.liu@...el.com
Subject: Re: [PATCH V4 00/12] PCIe TPH and cache direct injection support
On Thu, Aug 22, 2024 at 03:41:08PM -0500, Wei Huang wrote:
> Hi All,
>
> TPH (TLP Processing Hints) is a PCIe feature that allows endpoint
> devices to provide optimization hints for requests that target memory
> space. These hints, in a format called steering tag (ST), are provided
> in the requester's TLP headers and allow the system hardware, including
> the Root Complex, to optimize the utilization of platform resources
> for the requests.
> Paul Luse (1):
> PCI/TPH: Add save/restore support for TPH
>
> Wei Huang (9):
> PCI: Introduce PCIe TPH support framework
> PCI: Add TPH related register definition
> PCI/TPH: Add pcie_tph_modes() to query TPH modes
> PCI/TPH: Add pcie_enable_tph() to enable TPH
> PCI/TPH: Add pcie_disable_tph() to disable TPH
> PCI/TPH: Add pcie_tph_enabled() to check TPH state
> PCI/TPH: Add pcie_tph_set_st_entry() to set ST tag
> PCI/TPH: Add pcie_tph_get_cpu_st() to get ST tag
> PCI/TPH: Add pci=nostmode to force TPH No ST Mode
To me, this series would make more sense if we squashed these
together:
PCI: Introduce PCIe TPH support framework
PCI: Add TPH related register definition
PCI/TPH: Add pcie_enable_tph() to enable TPH
PCI/TPH: Add pcie_disable_tph() to disable TPH
PCI/TPH: Add save/restore support for TPH
These would add the "minimum viable functionality", e.g., enable TPH
just for Processing Hints, with no Steering Tag support at all. Would
also include "pci=notph".
PCI/TPH: Add pcie_tph_set_st_entry() to set ST tag
PCI/TPH: Add pcie_tph_get_cpu_st() to get ST tag
And squash these also to add Steering Tag support in a single commit,
including enhancing the save/restore.
PCI/TPH: Add pcie_tph_modes() to query TPH modes
PCI/TPH: Add pcie_tph_enabled() to check TPH state
And maybe we can get away without these altogether. I mentioned
pcie_tph_modes() elsewhere; seems possibly unnecessary since drivers
can just request the mode they want and we'll fail if it's not
supported.
Drivers should also be able to remember whether they enabled TPH
successfully without us having to remind them.
Powered by blists - more mailing lists