[PATCH kernel RFC 0/4] powerpc/powenv/ioda: Allow huge DMA window at 4GB

Alexey Kardashevskiy aik at ozlabs.ru
Thu Jan 23 19:42:26 AEDT 2020



On 23/01/2020 12:17, David Gibson wrote:
> On Thu, Jan 23, 2020 at 11:53:32AM +1100, Alexey Kardashevskiy wrote:
>> Anyone, ping?
> 
> Sorry, I've totally lost track of this one.  I think you'll need to
> repost.



It has not changed and still applies, and the question is more about how
we proceed with this feature that the patches themselves. Or it is just
not in your mailbox anymore so you cannot reply? :)



> 
> 
>>
>>
>> On 10/01/2020 15:18, Alexey Kardashevskiy wrote:
>>>
>>>
>>> On 02/12/2019 12:59, Alexey Kardashevskiy wrote:
>>>> Here is an attempt to support bigger DMA space for devices
>>>> supporting DMA masks less than 59 bits (GPUs come into mind
>>>> first). POWER9 PHBs have an option to map 2 windows at 0
>>>> and select a windows based on DMA address being below or above
>>>> 4GB.
>>>>
>>>> This adds the "iommu=iommu_bypass" kernel parameter and
>>>> supports VFIO+pseries machine - current this requires telling
>>>> upstream+unmodified QEMU about this via
>>>> -global spapr-pci-host-bridge.dma64_win_addr=0x100000000
>>>> or per-phb property. 4/4 advertises the new option but
>>>> there is no automation around it in QEMU (should it be?).
>>>>
>>>> For now it is either 1<<59 or 4GB mode; dynamic switching is
>>>> not supported (could be via sysfs).
>>>>
>>>> This is based on sha1
>>>> a6ed68d6468b Linus Torvalds "Merge tag 'drm-next-2019-11-27' of git://anongit.freedesktop.org/drm/drm".
>>>>
>>>> Please comment. Thanks.
>>>
>>>
>>> David, Alistair, ping? Thanks,
>>
>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> Alexey Kardashevskiy (4):
>>>>   powerpc/powernv/ioda: Rework for huge DMA window at 4GB
>>>>   powerpc/powernv/ioda: Allow smaller TCE table levels
>>>>   powerpc/powernv/phb4: Add 4GB IOMMU bypass mode
>>>>   vfio/spapr_tce: Advertise and allow a huge DMA windows at 4GB
>>>>
>>>>  arch/powerpc/include/asm/iommu.h              |   1 +
>>>>  arch/powerpc/include/asm/opal-api.h           |  11 +-
>>>>  arch/powerpc/include/asm/opal.h               |   2 +
>>>>  arch/powerpc/platforms/powernv/pci.h          |   1 +
>>>>  include/uapi/linux/vfio.h                     |   2 +
>>>>  arch/powerpc/platforms/powernv/opal-call.c    |   2 +
>>>>  arch/powerpc/platforms/powernv/pci-ioda-tce.c |   4 +-
>>>>  arch/powerpc/platforms/powernv/pci-ioda.c     | 219 ++++++++++++++----
>>>>  drivers/vfio/vfio_iommu_spapr_tce.c           |  10 +-
>>>>  9 files changed, 202 insertions(+), 50 deletions(-)
>>>>
>>>
>>
> 

-- 
Alexey


More information about the Linuxppc-dev mailing list