On 12/06/2026 3:31 pm, Matt Evans wrote:
Hi Kevin, Pranjal, (+Robin, hi!)

Oh hey there! :)

On 12/06/2026 04:39, Tian, Kevin wrote:
From: Pranjal Shrivastava <[email protected]>
Sent: Friday, June 12, 2026 2:38 AM

On Wed, Jun 10, 2026 at 04:43:15PM +0100, Matt Evans wrote:
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -206,11 +206,7 @@ config PCIE_TPH
  config PCI_P2PDMA
        bool "PCI peer-to-peer transfer support"
        depends on ZONE_DEVICE
-       #
-       # The need for the scatterlist DMA bus address flag means PCI
P2PDMA
-       # requires 64bit
-       #
-       depends on 64BIT
+       select PCI_P2PDMA_CORE
        select GENERIC_ALLOCATOR
        select NEED_SG_DMA_FLAGS
        help

Nit: Did we drop depends on 64BIT intentionally here? I guess the full
PCI_P2PDMA stack still selects NEED_SG_DMA_FLAGS? IIRC,
NEED_SG_DMA_FLAGS doesn't select 64BIT?

seems that comment is stale. According to the commit msg:

" it would make vfio-pci only available if CONFIG_ZONE_DEVICE is
present (e.g. 64-bit systems), "

so it sounds a redundant dependency hence is removed.

This was intentional.  In practice there is still a dependency on 64BIT
for PCI_P2PDMA, but it is because of ZONE_DEVICE (and mem hotplug).  The
key need is PCI_P2PDMA_CORE is available on !64BIT for VFIO, but I
didn't see a requirement from PCI_P2PDMA itself (as opposed to its
dependencies).  If I've missed one, I can put it back...

But NEED_SG_DMA_FLAGS doesn't smell quite right; I see from comments in

   af2880ec44021 ("scatterlist: add dedicated config for DMA flags")

that it assumes 64BIT, but it seems to be missing a "depends on 64BIT".

Robin -- should that depend on 64BIT?

Indeed, looking at the history it seems like that was overlooked, but it worked out at the time since the only selector of NEED_SG_DMA_FLAGS was PCI_P2PDMA as you say. If we're now generalising then moving the explicit 64BIT dependency to NEED_SG_DMA_FLAGS itself sounds like the right thing to do.

Cheers,
Robin.

Reply via email to