iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] iommu/amd: Use generic IOVA allocator
@ 2016-07-08 11:44 Joerg Roedel
  2016-07-08 11:44 ` [PATCH 06/20] iommu/amd: Pass gfp-flags to iommu_map_page() Joerg Roedel
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: Joerg Roedel @ 2016-07-08 11:44 UTC (permalink / raw)
  To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: Vincent.Wan-5C7GfCeVMHo, linux-kernel-u79uwXL29TY76Z2rM5mHXA

Hi,

here is a patch-set to make the AMD IOMMU driver use the
generic IOVA allocator, which is already used in the Intel
VT-d driver and a few other places.

The main reason for the conversion is to make the driver
benefit from the recent scalability improvements to the IOVA
code. Some of these improvements happened in the Intel VT-d
driver, these are not re-used but, for now, re-implemented.

This leaves more room for merging things together into
common code for the future.

The allocator that was previously used will be removed with
these patches.

Please review.

Thanks,

	Joerg

Joerg Roedel (20):
  iommu: Add apply_dm_region call-back to iommu-ops
  iommu/amd: Select IOMMU_IOVA for AMD IOMMU
  iommu/amd: Allocate iova_domain for dma_ops_domain
  iommu/amd: Create a list of reserved iova addresses
  iommu/amd: Implement apply_dm_region call-back
  iommu/amd: Pass gfp-flags to iommu_map_page()
  iommu/amd: Remove special mapping code for dma_ops path
  iommu/amd: Make use of the generic IOVA allocator
  iommu/amd: Remove other remains of old address allocator
  iommu/amd: Remove align-parameter from __map_single()
  iommu/amd: Set up data structures for flush queue
  iommu/amd: Allow NULL pointer parameter for domain_flush_complete()
  iommu/amd: Implement flush queue
  iommu/amd: Implement timeout to flush unmap queues
  iommu/amd: Introduce dir2prot() helper
  iommu/amd: Optimize map_sg and unmap_sg
  iommu/amd: Use dev_data->domain in get_domain()
  iommu/amd: Handle IOMMU_DOMAIN_DMA in ops->domain_free call-back
  iommu/amd: Flush iova queue before releasing dma_ops_domain
  iommu/amd: Use container_of to get dma_ops_domain

 drivers/iommu/Kconfig           |   1 +
 drivers/iommu/amd_iommu.c       | 976 ++++++++++++++++------------------------
 drivers/iommu/amd_iommu_types.h |   1 -
 drivers/iommu/iommu.c           |   3 +
 include/linux/iommu.h           |   3 +
 5 files changed, 387 insertions(+), 597 deletions(-)

-- 
1.9.1

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

end of thread, other threads:[~2016-07-13 10:27 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-08 11:44 [PATCH 00/20] iommu/amd: Use generic IOVA allocator Joerg Roedel
2016-07-08 11:44 ` [PATCH 06/20] iommu/amd: Pass gfp-flags to iommu_map_page() Joerg Roedel
2016-07-08 11:45 ` [PATCH 16/20] iommu/amd: Optimize map_sg and unmap_sg Joerg Roedel
2016-07-12 11:33   ` Robin Murphy
     [not found]     ` <5784D597.4010703-5wv7dgnIgG8@public.gmane.org>
2016-07-12 13:30       ` [PATCH 16/20 v2] " Joerg Roedel
2016-07-12 15:34         ` Robin Murphy
     [not found]           ` <57850DF8.9040507-5wv7dgnIgG8@public.gmane.org>
2016-07-13 10:27             ` Joerg Roedel
     [not found] ` <1467978311-28322-1-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2016-07-08 11:44   ` [PATCH 01/20] iommu: Add apply_dm_region call-back to iommu-ops Joerg Roedel
2016-07-08 11:44   ` [PATCH 02/20] iommu/amd: Select IOMMU_IOVA for AMD IOMMU Joerg Roedel
2016-07-08 11:44   ` [PATCH 03/20] iommu/amd: Allocate iova_domain for dma_ops_domain Joerg Roedel
2016-07-08 11:44   ` [PATCH 04/20] iommu/amd: Create a list of reserved iova addresses Joerg Roedel
2016-07-08 11:44   ` [PATCH 05/20] iommu/amd: Implement apply_dm_region call-back Joerg Roedel
2016-07-08 11:44   ` [PATCH 07/20] iommu/amd: Remove special mapping code for dma_ops path Joerg Roedel
     [not found]     ` <1467978311-28322-8-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2016-07-12 10:55       ` Robin Murphy
2016-07-12 11:08         ` Joerg Roedel
2016-07-12 11:42           ` Robin Murphy
     [not found]             ` <5784D7C3.4010104-5wv7dgnIgG8@public.gmane.org>
2016-07-12 11:48               ` Joerg Roedel
2016-07-08 11:44   ` [PATCH 08/20] iommu/amd: Make use of the generic IOVA allocator Joerg Roedel
2016-07-08 11:45   ` [PATCH 09/20] iommu/amd: Remove other remains of old address allocator Joerg Roedel
2016-07-08 11:45   ` [PATCH 10/20] iommu/amd: Remove align-parameter from __map_single() Joerg Roedel
2016-07-08 11:45   ` [PATCH 11/20] iommu/amd: Set up data structures for flush queue Joerg Roedel
2016-07-08 11:45   ` [PATCH 12/20] iommu/amd: Allow NULL pointer parameter for domain_flush_complete() Joerg Roedel
2016-07-08 11:45   ` [PATCH 13/20] iommu/amd: Implement flush queue Joerg Roedel
2016-07-08 11:45   ` [PATCH 14/20] iommu/amd: Implement timeout to flush unmap queues Joerg Roedel
2016-07-08 11:45   ` [PATCH 15/20] iommu/amd: Introduce dir2prot() helper Joerg Roedel
2016-07-08 11:45   ` [PATCH 17/20] iommu/amd: Use dev_data->domain in get_domain() Joerg Roedel
2016-07-08 11:45 ` [PATCH 18/20] iommu/amd: Handle IOMMU_DOMAIN_DMA in ops->domain_free call-back Joerg Roedel
2016-07-08 11:45 ` [PATCH 19/20] iommu/amd: Flush iova queue before releasing dma_ops_domain Joerg Roedel
2016-07-08 11:45 ` [PATCH 20/20] iommu/amd: Use container_of to get dma_ops_domain Joerg Roedel
2016-07-12  9:03 ` [PATCH 00/20] iommu/amd: Use generic IOVA allocator Wan Zongshun
2016-07-12 10:55   ` Joerg Roedel
     [not found]     ` <20160712105533.GE12639-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2016-07-13  9:44       ` Wan Zongshun
     [not found]         ` <57860D78.5090409-6ukY98dZOFrYtjvyW6yDsg@public.gmane.org>
2016-07-13  9:51           ` Joerg Roedel

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).