Re: [PATCH v3 1/9] PCI/P2PDMA: Add CONFIG_PCI_P2PDMA_CORE
From: Matt Evans
Date: Tue Jun 23 2026 - 12:04:28 EST
Heya Robin,
On 23/06/2026 16:48, Robin Murphy wrote:
> 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 <praan@xxxxxxxxxx>
>>>> 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 for confirming. I'll send a patch separate to this series (since
the deps work out OK for PCI_P2PDMA for the reasons mentioned).
Ta,
Matt