[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2 00/11] fix swiotlb-xen for RPi4



Hi all,

This series is a collection of fixes to get Linux running on the RPi4 as
dom0.

Conceptually there are only two significant changes:

- make sure not to call virt_to_page on vmalloc virt addresses (patch
  #1)
- use phys_to_dma and dma_to_phys to translate phys to/from dma
  addresses (all other patches)

In particular in regards to the second part, the RPi4 is the first
board where Xen can run that has the property that dma addresses are
different from physical addresses, and swiotlb-xen was written with the
assumption that phys addr == dma addr.

This series adds the phys_to_dma and dma_to_phys calls to make it work.

Cheers,

Stefano



The following changes since commit b85051e755b0e9d6dd8f17ef1da083851b83287d:

  Merge tag 'fixes-for-5.7-rc6' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux (2020-05-20 13:23:55 
-0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/sstabellini/xen.git 
fix-rpi4-v2 

for you to fetch changes up to 49783ba67f75da3490d2c01ed9b445d8a89bbb0d:

  xen/arm: call dma_to_phys on the dma_addr_t parameter of dma_cache_maint 
(2020-06-03 15:05:53 -0700)

----------------------------------------------------------------
Boris Ostrovsky (1):
      swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses

Stefano Stabellini (10):
      swiotlb-xen: remove start_dma_addr
      swiotlb-xen: add struct device* parameter to xen_phys_to_bus
      swiotlb-xen: add struct device* parameter to xen_bus_to_phys
      swiotlb-xen: add struct device* parameter to xen_dma_sync_for_cpu
      swiotlb-xen: add struct device* parameter to xen_dma_sync_for_device
      swiotlb-xen: add struct device* parameter to is_xen_swiotlb_buffer
      swiotlb-xen: introduce phys_to_dma/dma_to_phys translations
      swiotlb-xen: rename xen_phys_to_bus to xen_phys_to_dma and 
xen_bus_to_phys to xen_dma_to_phys
      xen/arm: introduce phys/dma translations in xen_dma_sync_for_*
      xen/arm: call dma_to_phys on the dma_addr_t parameter of dma_cache_maint

 arch/arm/xen/mm.c         | 32 +++++++++++++++++++-------------
 drivers/xen/swiotlb-xen.c | 72 
+++++++++++++++++++++++++++++++++++++-----------------------------------
 include/xen/swiotlb-xen.h | 10 ++++++----
 3 files changed, 62 insertions(+), 52 deletions(-)




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.