Messages in this thread | | | Subject | Re: [PATCH 00/20] iommu/amd: Use generic IOVA allocator | From | Wan Zongshun <> | Date | Tue, 12 Jul 2016 17:03:08 +0800 |
| |
On 2016年07月08日 19:44, Joerg Roedel wrote: > 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.
Joerg,
Currently, those patches can not work at my eCarrizo board. When I merged your patches, boot failed, and no any info print to me. I set iommu=pt, it also does not work; set iommu=soft, boot ok.
When I removed those patches, kernel boot ok.
This eCarrizo board uart doesnot work, so I can not get useful information from kernel by uart console, I also set 'text' in boot option, but still cannot print any log.
Vincent.
> > 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(-) >
| |