linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/8] introduce GNTTABOP_cache_flush
@ 2014-10-27 15:08 Stefano Stabellini
  2014-10-27 15:09 ` [PATCH v7 1/8] xen/arm: remove handling of XENFEAT_grant_map_identity Stefano Stabellini
                   ` (7 more replies)
  0 siblings, 8 replies; 39+ messages in thread
From: Stefano Stabellini @ 2014-10-27 15:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi all,
this patch series introduces support for GNTTABOP_cache_flush to perform
cache maintenance operation on foreign pages and reverts the current
code based on XENFEAT_grant_map_identity.

It also provides a very slow fallback by bouncing on the swiotlb buffer,
in case the hypercall is not available.

v7 introduces a flag named dma_coherent in dev_archdata and an accessor
function named is_device_dma_coherent in asm/dma-mapping.h under arm and
arm64.


Changes in v7:
- rebased on 3.18-rc1;
- rename is_dma_coherent to is_device_dma_coherent and move it to
asm/dma-mapping.h on arm and arm64;
- introduce a dma_coherent flag on arm and arm64;
- set the flags from set_arch_dma_coherent_ops.

Changes in v6:
- rename xen_is_dma_coherent to is_dma_coherent;
- use of_dma_is_coherent to detect the dma coherency of a device;
- remove arch/arm64/include/asm/xen/page-coherent.h, include
../../arm/include/asm/xen/page-coherent.h instead;
- fix indentation.

Changes in v5:
- introduce xen_is_dma_coherent as a xen specific function;
- call xen_is_dma_coherent instead of is_dma_coherent;
- introduce xen_is_dma_coherent to
arch/arm64/include/asm/xen/page-coherent.h;
- do not remove arch/arm64/include/asm/xen/page-coherent.h, add
the missing dma_ops calls from it;
- fix indentation;
- rename hypercall_flush to hypercall_cflush;
- remove spurious change.

Changes in v4:
- remove outer_*_range call;
- introduce is_dma_coherent;
- use is_dma_coherent in arch/arm/xen/mm32.c;
- merge xen/mm32.c into xen/mm.c;
- xen/arm/arm64: introduce xen_arch_need_swiotlb;
- avoid bouncing dma map operations that involve foreign grants and
non-coherent devices if GNTTABOP_cache_flush is provided by Xen.

Changes in v3:
- fix the cache maintenance op call to match what Linux does natively;
- update the hypercall interface to match Xen.

Changes in v2:
- remove the definition of XENFEAT_grant_map_identity;
- update the hypercall interface to match Xen;
- call the interface on a single page at a time.


Stefano Stabellini (8):
      xen/arm: remove handling of XENFEAT_grant_map_identity
      xen/arm: remove outer_*_range call
      arm64: introduce is_device_dma_coherent
      arm: introduce is_device_dma_coherent
      xen/arm: use is_device_dma_coherent
      xen/arm/arm64: merge xen/mm32.c into xen/mm.c
      xen/arm/arm64: introduce xen_arch_need_swiotlb
      xen/arm: introduce GNTTABOP_cache_flush

 arch/arm/include/asm/device.h              |    1 +
 arch/arm/include/asm/dma-mapping.h         |    6 +
 arch/arm/include/asm/xen/page.h            |    4 +
 arch/arm/xen/Makefile                      |    2 +-
 arch/arm/xen/enlighten.c                   |    5 -
 arch/arm/xen/mm.c                          |  159 ++++++++++++++++++++++
 arch/arm/xen/mm32.c                        |  202 ----------------------------
 arch/arm64/include/asm/device.h            |    1 +
 arch/arm64/include/asm/dma-mapping.h       |    6 +
 arch/arm64/include/asm/xen/page-coherent.h |   44 +-----
 arch/x86/include/asm/xen/page.h            |    7 +
 drivers/xen/swiotlb-xen.c                  |    5 +-
 include/xen/interface/features.h           |    3 -
 include/xen/interface/grant_table.h        |   19 +++
 14 files changed, 209 insertions(+), 255 deletions(-)
 delete mode 100644 arch/arm/xen/mm32.c

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2014-11-10 12:41 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-27 15:08 [PATCH v7 0/8] introduce GNTTABOP_cache_flush Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 1/8] xen/arm: remove handling of XENFEAT_grant_map_identity Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 2/8] xen/arm: remove outer_*_range call Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 3/8] arm64: introduce is_device_dma_coherent Stefano Stabellini
2014-11-03 10:46   ` Stefano Stabellini
2014-11-03 10:57     ` Will Deacon
2014-11-03 11:10       ` Stefano Stabellini
2014-11-04 11:35         ` Grygorii Strashko
2014-11-04 15:00           ` Stefano Stabellini
2014-11-05 16:56         ` Catalin Marinas
2014-11-05 18:15           ` Stefano Stabellini
2014-11-06 10:33             ` Catalin Marinas
2014-11-06 12:22               ` Stefano Stabellini
2014-11-06 13:40                 ` Catalin Marinas
2014-11-07 11:05                 ` Catalin Marinas
2014-11-07 11:11                   ` Catalin Marinas
2014-11-07 14:10                     ` Stefano Stabellini
2014-11-07 14:10                   ` Stefano Stabellini
2014-11-07 16:00                     ` Catalin Marinas
2014-11-07 17:24                       ` Stefano Stabellini
2014-11-07 17:35                         ` Stefano Stabellini
2014-11-07 18:14                           ` Catalin Marinas
2014-11-07 18:45                             ` Stefano Stabellini
2014-11-10 10:16                               ` Catalin Marinas
2014-11-10 12:35                                 ` Stefano Stabellini
2014-11-10 12:41                                   ` Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 4/8] arm: " Stefano Stabellini
2014-11-03 10:55   ` Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 5/8] xen/arm: use is_device_dma_coherent Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 6/8] xen/arm/arm64: merge xen/mm32.c into xen/mm.c Stefano Stabellini
2014-11-07 14:22   ` Catalin Marinas
2014-11-07 15:28     ` Stefano Stabellini
2014-11-07 16:03       ` Catalin Marinas
2014-11-07 16:46         ` Stefano Stabellini
2014-10-27 15:09 ` [PATCH v7 7/8] xen/arm/arm64: introduce xen_arch_need_swiotlb Stefano Stabellini
2014-11-03 10:45   ` Stefano Stabellini
2014-11-03 11:01     ` [Xen-devel] " David Vrabel
2014-11-03 16:04     ` Konrad Rzeszutek Wilk
2014-10-27 15:09 ` [PATCH v7 8/8] xen/arm: introduce GNTTABOP_cache_flush Stefano Stabellini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).